Retrieve Labour List: /labours
Purpose
This endpoint is used to retrieve a paginated list of labours configured in the system. It provides comprehensive information about each labour resource, including profile association, availability configuration, custom availability schedules, and metadata required for workforce planning, scheduling, and assignment.
Use Case
• Fetching all active labours for workforce allocation.
• Displaying labour details in scheduling or dispatch modules.
• Validating labour availability before assigning jobs or tasks.
• Reviewing labour profiles and custom availability settings.
• Integrating labour data into third-party workforce or calendar systems.
Path Parameters
This endpoint does not require any path parameters.
Query Parameters
| Attribute | Type | Description |
|---|---|---|
| limit | integer | Number of records to return per page. |
| offset | integer | Number of records to skip before returning results. |
Request Body
This endpoint does not require a request body.
Response
The API returns a paginated list of labour records, each containing core labour details such as identifiers, status, profile association, custom form template, availability settings, and audit metadata. Each labour entry may include custom availability schedules specifying preferred working days and time ranges, along with links to associated labour profiles. Pagination information is also included to support efficient data retrieval and navigation through large datasets.
Response Body
{
"labours": [
{
"status": "LABOUR_STATUS",
"uuid": "LABOUR_UUID",
"code": "LABOUR_CODE",
"name": "LABOUR_NAME",
"display_name": "LABOUR_DISPLAY_NAME",
"description": "LABOUR_DESCRIPTION",
"image_name": "IMAGE_NAME",
"email_address": "EMAIL_ADDRESS",
"use_custom_availability": "USE_CUSTOM_AVAILABILITY",
"labour_profile": {
"status": "PROFILE_STATUS",
"uuid": "PROFILE_UUID",
"name": "PROFILE_NAME",
"display_name": "PROFILE_DISPLAY_NAME",
"link": "PROFILE_LINK"
},
"custom_form_template": "CUSTOM_FORM_TEMPLATE",
"created_by": "CREATED_BY",
"created_on": "CREATED_ON",
"last_updated_by": "LAST_UPDATED_BY",
"last_updated_on": "LAST_UPDATED_ON",
"custom_attributes": [],
"labour_contacts": [],
"labour_custom_availability": [
{
"status": "AVAILABILITY_STATUS",
"uuid": "AVAILABILITY_UUID",
"start_time": "START_TIME",
"end_time": "END_TIME",
"available": "AVAILABLE_FLAG",
"preferred_day": "PREFERRED_DAY"
}
],
"labour_availability": []
}
],
"pagination": {
"records": "TOTAL_RECORDS",
"limit": "LIMIT",
"offset": "OFFSET",
"previous_page": "PREVIOUS_PAGE",
"next_page": "NEXT_PAGE"
}
}
| Attribute | Type | Description |
|---|---|---|
| labours | array | List of labour records. |
| labours.status | string | Current status of the labour. |
| labours.uuid | string | Unique identifier of the labour. |
| labours.code | string | System-generated labour code. |
| labours.name | string | Name of the labour. |
| labours.display_name | string | Display name of the labour. |
| labours.description | string | Description of the labour. |
| labours.image_name | string | Image file name associated with the labour. |
| labours.email_address | string | Email address of the labour. |
| labours.use_custom_availability | boolean | Indicates whether custom availability is enabled. |
| labours.labour_profile | object | Associated labour profile details. |
| labour_profile.status | string | Status of the labour profile. |
| labour_profile.uuid | string | Unique identifier of the labour profile. |
| labour_profile.name | string | Name of the labour profile. |
| labour_profile.display_name | string | Display name of the labour profile. |
| labour_profile.link | string | API link to the labour profile. |
| custom_form_template | string | Custom form template assigned to the labour. |
| created_by | string | User who created the labour record. |
| created_on | string | Timestamp when the labour was created. |
| last_updated_by | string | User who last updated the labour record. |
| last_updated_on | string | Timestamp of the last update. |
| custom_attributes | array | List of custom attributes associated with the labour. |
| labour_contacts | array | Contact details linked to the labour. |
| labour_custom_availability | array | Custom availability schedule entries. |
| availability.start_time | string | Start time of availability window. |
| availability.end_time | string | End time of availability window. |
| availability.available | string | Indicates whether the labour is available. |
| availability.preferred_day | string | Preferred working day. |
| labour_availability | array | Default availability settings, if configured. |
| pagination | object | Pagination metadata. |
| pagination.records | integer | Total number of records available. |
| pagination.limit | integer | Maximum records returned per page. |
| pagination.offset | integer | Offset used for pagination. |
| pagination.previous_page | string | Link or reference to the previous page. |
| pagination.next_page | string | Link or reference to the next page. |
Retrieve Orders by Labour Booking: /labours/{labour_uuid}/orders
Purpose
This API retrieves all orders associated with a specific labour booking. It allows the system to identify which orders a particular labour resource has been booked against, along with detailed order, line item, booking, pricing, and billing information.
Use Case
This endpoint is used in workforce management, scheduling, and billing workflows where administrators or operational systems need to view orders linked to a specific labour booking. Common use cases include validating labour allocations, tracking booked work against orders, auditing labour usage, generating invoices, and reconciling labour-related revenue. It also supports sorting parameters to ensure consistent retrieval of the latest order data across GET APIs.
Path Parameters
| Attribute | Type | Description |
|---|---|---|
| labour_uuid | String | Unique identifier (UUID) of the labour resource whose associated orders are to be retrieved |
Query Parameters
| Attribute | Type | Description |
|---|---|---|
| limit | Integer | Number of records to return per page |
| offset | Integer | Number of records to skip for pagination |
Request Body
This endpoint does not require a request body
Response
On successful execution, the API returns a paginated list of orders associated with the specified labour booking. Each order includes comprehensive details such as order metadata, account information, billing configuration, custom attributes, line items, booking time ranges, pricing snapshots, tax configurations, and KPI metrics. This response enables downstream systems to fully understand how labour resources are booked, billed, and linked to financial and operational data.
Response Body
{
"orders": [
{
"status": "ORDER_STATUS",
"id": "ORDER_ID",
"pre_order": "BOOLEAN",
"quote_order": "BOOLEAN",
"name": "ORDER_NAME",
"display_name": "ORDER_DISPLAY_NAME",
"description": "DESCRIPTION",
"referral_account": "REFERRAL_ACCOUNT",
"customer_purchase_order_id": "CUSTOMER_PO_ID",
"shipping_profile": {},
"shipping_cost": "SHIPPING_COST",
"discount_profile": null,
"origin": "ORIGIN",
"custom_forms": {
"uuid": "FORM_UUID",
"name": "FORM_NAME"
},
"currency": {
"uuid": "CURRENCY_UUID",
"name": "CURRENCY_NAME",
"link": "CURRENCY_LINK"
},
"time_zone": {
"uuid": "TIMEZONE_UUID",
"name": "TIMEZONE_NAME",
"link": "TIMEZONE_LINK"
},
"invoice_note": "INVOICE_NOTE",
"default_warehouse": "WAREHOUSE_NAME",
"billing_start_date": "BILLING_START_DATE",
"order_start_date": "ORDER_START_DATE",
"next_billing_from_date": "NEXT_BILLING_DATE",
"price_tax_inclusive": "BOOLEAN",
"billing_address": {},
"shipping_address": {},
"created_by": "CREATED_BY",
"created_on": "CREATED_ON",
"last_updated_by": "LAST_UPDATED_BY",
"last_updated_on": "LAST_UPDATED_ON",
"uuid": "ORDER_UUID",
"version": "VERSION",
"account_id": "ACCOUNT_ID",
"account_name": "ACCOUNT_NAME",
"allow_contract": "BOOLEAN",
"custom_attributes": [
{
"name": "ATTRIBUTE_NAME",
"value": "ATTRIBUTE_VALUE"
}
],
"custom_objects": [],
"properties": {
"invoice_mode": "INVOICE_MODE",
"invoice_term": "INVOICE_TERM",
"billing_period": "BILLING_PERIOD",
"payment_mode": "PAYMENT_MODE",
"payment_term": "PAYMENT_TERM"
},
"lines": [
{
"charge_item_uuid": "CHARGE_ITEM_UUID",
"item_uuid": "ITEM_UUID",
"item_id": "ITEM_ID",
"item_name": "ITEM_NAME",
"booking": {
"labour_uuid": "LABOUR_UUID",
"booking_start_time": "BOOKING_START_TIME",
"booking_end_time": "BOOKING_END_TIME"
},
"item_order_quantity": "QUANTITY",
"item_type": "ITEM_TYPE",
"item_charge_type": "CHARGE_TYPE",
"total": "TOTAL",
"subtotal": "SUBTOTAL",
"tax": "TAX"
}
],
"total": "ORDER_TOTAL",
"subtotal": "ORDER_SUBTOTAL",
"tax": "ORDER_TAX",
"kpis": {
"estimated_total": "ESTIMATED_TOTAL",
"total_revenue": "TOTAL_REVENUE",
"total_due": "TOTAL_DUE"
}
}
],
"pagination": {
"records": "TOTAL_RECORDS",
"limit": "LIMIT",
"offset": "OFFSET",
"previous_page": "PREVIOUS_PAGE_URL",
"next_page": "NEXT_PAGE_URL"
}
}
| Attribute | Type | Description |
|---|---|---|
| orders | Array | List of orders associated with the labour booking |
| orders.status | String | Current status of the order |
| orders.id | String | System-generated order identifier |
| orders.name | String | Internal name of the order |
| orders.display_name | String | Display name of the order |
| orders.created_on | String (ISO 8601) | Timestamp when the order was created |
| orders.account_id | String | Identifier of the account linked to the order |
| orders.custom_attributes | Array | Custom attributes associated with the order |
| orders.lines | Array | Line items included in the order |
| orders.lines.booking | Object | Labour booking details linked to the order line |
| orders.lines.booking.labour_uuid | String | UUID of the booked labour resource |
| orders.lines.booking.booking_start_time | String (ISO 8601) | Booking start date and time |
| orders.lines.booking.booking_end_time | String (ISO 8601) | Booking end date and time |
| orders.total | Number | Total amount for the order |
| orders.subtotal | Number | Subtotal before tax |
| orders.tax | Number | Tax amount applied to the order |
| pagination | Object | Pagination metadata |
| pagination.records | Integer | Total number of matching records |
| pagination.limit | Integer | Number of records per page |
| pagination.offset | Integer | Offset used for pagination |
| pagination.next_page | String | URL to retrieve the next page of results |