openapi: 3.0.1
info:
  version: 1.0.0
  title: Aimsio API
  description: |2-
     # Introduction 

     Aimsio provides a set of API endpoints and supported actions to facilitate communication with external software platforms / ERPs.

    Each Aimsio account can access two server options: `sandbox` and `portal` 

     * `sandbox` is the test environment we used to implement and test configuration changes for an account before live deployment. 

     * `portal` is the live environment where accounts store their live transactions 

     ## Authentication 

     Our API utilizes basic username and password authentication to access the API.  

     If you already have an Admin username set up for your account inside Aimsio, this can be used for API authentication. However, the best practice would be to set up a separate user for integration purposes and keep this set of credentials private only to the developer. 

     Aimsio users also require specific permissions to access our API. Please contact our support/integration team so they can enable the required permissions. 

     ## Throughput limitation 

     We currently limit API calls after calls exceed more than 10 calls per second. If our API receives too many requests (ie: if the queue takes longer than 5 seconds to return the call), the request will timeout. 

     Up to 10 parallel calls are permitted. We do not limit the number of sequential calls. If your organization requires more headroom to complete calls to our API, please get in touch with us. 

     ## Usage - Querying data 

     For most entities with GET requests supported, there are two endpoints we supported: 

     * GET all objects of that type 

     * GET one speficic object based on its unique identifier (GUID/Id) 

     When you send a GET all request, the system will return an JSON array, and each JSON contains the following properties: 

     * `dtype`: The object type 

     * `guid/id`: Unique identifier of the object, generated by the Aimsio system 

     * `updatedAt`: Object's last update timestamp in epoch millseconds  

     Using the returned Guid or ID, you can then query each specific object from the GET single request. 

     ## Usage - Posting data 

     To upload data, please review the object properties and example requests for each POST endpoint. 

     For our `Master Data` endpoints, you can create/edit new entries into Aimsio system. 

     For some other endpoints like `Invoice` or `Timecard`, we don't allow POSTing new entries, but updating status of existing entries are supported. 

     Object types like NRBs or Crew/Equipment records are included in the `JobOrder` GET response, but have to be POSTed through their own endpoints. 

     * Crew records: `Employee` endpoint 

     * Equipment records: `Equipment` endpoint 

     * NRB records: `NRB` endpoint 
servers:
  - url: https://sandbox.aimsio.com
    description: Sandbox
  - url: https://portal.aimsio.com
    description: Production
paths:
  /rest/api/standard/v1/BillableItem:
    post:
      tags:
        - Master Data
      summary: BillableItem
      description: Create/update billable item(s)
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: object
              properties:
                billableItemList:
                  type: array
                  items:
                    allOf:
                      - $ref: '#/components/schemas/BillableItem'
            examples:
              Example 1:
                value:
                  billableItemList:
                    - billableItemCode: LAB-TRUCKDRV
                      billableItemName: Truck Driver
                      billableItemTypeUname: labour
                      billableItemIsTrade: true
                      billableItemIsEquipment: false
                      billableItemDescription: Truck Driver
                      billableItemDefaultRate: 54.705
                      billableItemDefaultRateType: Hourly
                      billableItemDefaultRate2: 416.8
                      billableItemDefaultRateType2: Daily
      responses:
        '200':
          $ref: '#/components/responses/Post-Results'
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
    get:
      tags:
        - Master Data
      summary: All BillableItems
      description: Retrieve all billable items/job items in an account.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Batch-Results'
              examples:
                Example 1:
                  value:
                    value:
                      - dtype: JobItem
                        guid: 587bbf61-0d55-4098-9470-0ae1a71cd41b
                        updatedAt: 1736872573916
                      - dtype: JobItem
                        guid: 8e9149b1-d69c-4d8f-b31a-73460c69c3e8
                        updatedAt: 1736872573984
                      - dtype: JobItem
                        guid: a96e7fa1-f56f-4c61-829e-0feeeef15879
                        updatedAt: 1736872574087
                      - dtype: JobItem
                        guid: 5526b9b6-18ba-4ebf-b3bb-02b2a8f7cfb8
                        updatedAt: 1738948643087
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/BillableItem/{billableItemGuid}:
    get:
      tags:
        - Master Data
      summary: BillableItem
      description: Retrieve one billable item object by provided GUID
      parameters:
        - name: billableItemGuid
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillableItem'
              examples:
                Example 1:
                  value:
                    billableItemGuid: 587bbf61-0d55-4098-9470-0ae1a71cd41b
                    billableItemCode: ACC-CAMP
                    billableItemName: Camp Accommodation
                    billableItemTypeUname: accommodation
                    billableItemTypeName: Accommodation
                    billableItemIsTrade: false
                    billableItemIsEquipment: false
                    billableItemCategory: ''
                    billableItemDescription: Camp charges for full lodging, meals, etc.
                    billableItemStatus: CampCamp charges for full lodging, meals, etc.
                    billableItemDefaultRate: '1050.000'
                    billableItemDefaultRateType: Each
                    billableItemDefaultRate2: '850.000'
                    billableItemDefaultRateType2: Daily
                    billableItemDefaultRate3: '275.000'
                    billableItemDefaultRateType3: Hourly
                    billableItemDefaultCost: '525.000'
                    billableItemDefaultCost2: null
                    billableItemDefaultCost3: null
                    billableItemGlAccountNumber: null
                    billableItemGlAccountInfo: null
                    billableItemCreatedAt: 1687892271809
                    billableItemCreatedByUserName: admin@concorde-sandbox
                    billableItemCreatedByFullName: Aimsio Concorde
                    billableItemUpdatedAt: 1736872573916
                    billableItemLastModifiedByUserName: admin@concorde-sandbox
                    billableItemLastModifiedByFullName: Aimsio Concorde
                    billableItemIsDeleted: false
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/PriceBook:
    post:
      tags:
        - Master Data
      summary: Pricebook
      description: Create/update pricebook(s)
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                priceBookList:
                  type: array
                  items:
                    $ref: '#/components/schemas/Pricebook'
            examples:
              Example 1:
                value:
                  priceBookList:
                    - priceBookName: Default
                      priceBookAction: ADD_OR_UPDATE
                      priceItemList:
                        - priceItemBillableItemCode: LAB-TRUCKDRV
                          priceItemBillableItemName: Truck Driver
                          priceItemRate: 500
                          priceItemRateTypeUname: each_rate_type
                          priceItemRate2: 750
                          priceItemRateTypeUname2: daily_rate_type
                          priceItemRate3: 0
                          priceItemRateTypeUname3: ''
                        - priceItemBillableItemCode: '54'
                          priceItemBillableItemName: Pickup Truck
                          priceItemRate: 300
                          priceItemRateTypeUname: each_rate_type
                          priceItemRate2: 0
                          priceItemRateTypeUname2: ''
                          priceItemRate3: 0
                          priceItemRateTypeUname3: ''
      responses:
        '200':
          $ref: '#/components/responses/Post-Results'
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
    get:
      tags:
        - Master Data
      summary: All Pricebooks
      description: Retrieve all pricebooks in an account.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Batch-Results'
              examples:
                Example 1:
                  value:
                    value:
                      - dtype: JobItemPriceList
                        guid: 7b68e17b-6437-451e-9586-e0f466eb9fc6
                        updatedAt: 1745940240553
                      - dtype: JobItemPriceList
                        guid: c22624ca-c8b3-4058-9a46-e1f3a9c5f8e3
                        updatedAt: 1744234268861
                      - dtype: JobItemPriceList
                        guid: 0251a714-e2b5-4f41-8871-ba553a24a4fc
                        updatedAt: 1743524588209
                      - dtype: JobItemPriceList
                        guid: 6b24fbc7-e470-4adf-8c9f-1ac4544c2b63
                        updatedAt: 1742564156918
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/PriceBook/{pricebookGuid}:
    get:
      tags:
        - Master Data
      summary: Pricebook
      description: Retrieve one pricebook object by provided GUID
      parameters:
        - name: pricebookGuid
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pricebook'
              examples:
                Example 1:
                  value:
                    priceBookGuid: fc905bff-cb60-4bef-9a2b-b4dac5cde7ea
                    priceBookName: Oxy 2024
                    priceBookIsDeleted: false
                    priceBookCreatedAt: 1701115062333
                    priceBookUpdatedAt: 1701115088677
                    priceBookCreatedByUserName: admin-ultimate@concorde-sandbox
                    priceBookCreatedByFullName: Aimsio Ultimate
                    priceBookLastModifiedByUserName: admin-ultimate@concorde-sandbox
                    priceBookLastModifiedByFullName: Aimsio Ultimate
                    priceBookOriginReference: null
                    priceBookList:
                      - priceItemDefaultCost3: null
                        priceItemRateType2: Daily
                        priceItemRateType3: Hourly
                        priceItemRate: '1050.000'
                        priceItemRateType: Each
                        priceItemBillableItemIsDeleted: false
                        priceItemRate3: '275.000'
                        priceItemRate2: '850.000'
                        priceItemBillableItemGuid: 587bbf61-0d55-4098-9470-0ae1a71cd41b
                        priceItemBillableItemName: Camp Accommodation
                        priceItemDefaultCost2: null
                        priceItemDefaultCost: '525.000'
                        priceItemBillableItemCode: ACC-CAMP
                      - priceItemDefaultCost3: null
                        priceItemRateType2: null
                        priceItemRateType3: null
                        priceItemRate: '300.000'
                        priceItemRateType: Daily
                        priceItemBillableItemIsDeleted: false
                        priceItemRate3: '0.000'
                        priceItemRate2: '0.000'
                        priceItemBillableItemGuid: 8e9149b1-d69c-4d8f-b31a-73460c69c3e8
                        priceItemBillableItemName: Hotel Accommodation
                        priceItemDefaultCost2: null
                        priceItemDefaultCost: '150.000'
                        priceItemBillableItemCode: ACC-HOTEL
                      - priceItemDefaultCost3: null
                        priceItemRateType2: Monthly
                        priceItemRateType3: Daily
                        priceItemRate: '1942.500'
                        priceItemRateType: Each
                        priceItemBillableItemIsDeleted: false
                        priceItemRate3: '350.000'
                        priceItemRate2: '10000.000'
                        priceItemBillableItemGuid: a96e7fa1-f56f-4c61-829e-0feeeef15879
                        priceItemBillableItemName: Access Mat
                        priceItemDefaultCost2: null
                        priceItemDefaultCost: '971.250'
                        priceItemFormData:
                          formDataFieldDataList:
                            - fieldDataFieldTypeLabel: Billable Name Override
                              fieldDataFieldTypeUname: billable_name_override_section
                              fieldDataFieldTypeDataType: SectionFieldData
                            - fieldDataFieldTypeLabel: Applicable Surcharge
                              fieldDataFieldTypeUname: applicable_surcharge_section
                              fieldDataFieldTypeDataType: SectionFieldData
                            - fieldDataFieldTypeLabel: Sales Tax Rate Override
                              fieldDataFieldTypeUname: sales_tax_override_section
                              fieldDataFieldTypeDataType: SectionFieldData
                            - fieldDataFieldTypeLabel: Billable Name Override
                              fieldDataFieldTypeUname: billable_name_override
                              fieldDataFieldTypeDataType: FreeTextFieldData
                              fieldDataStringValue: null
                            - fieldDataFieldTypeLabel: Surcharge 1
                              fieldDataReferenceValue: null
                              fieldDataFieldTypeUname: applicable_surcharge_1
                              fieldDataFieldTypeDataType: LookupFieldData
                              fieldDataStringValue: ''
                            - fieldDataFieldTypeLabel: Surcharge 2
                              fieldDataReferenceValue: null
                              fieldDataFieldTypeUname: applicable_surcharge_2
                              fieldDataFieldTypeDataType: LookupFieldData
                              fieldDataStringValue: ''
                            - fieldDataFieldTypeLabel: Surcharge 3
                              fieldDataReferenceValue: null
                              fieldDataFieldTypeUname: applicable_surcharge_3
                              fieldDataFieldTypeDataType: LookupFieldData
                              fieldDataStringValue: ''
                            - fieldDataFieldTypeLabel: Surcharge 4
                              fieldDataReferenceValue: null
                              fieldDataFieldTypeUname: applicable_surcharge_4
                              fieldDataFieldTypeDataType: LookupFieldData
                              fieldDataStringValue: ''
                            - fieldDataFieldTypeLabel: Surcharge 5
                              fieldDataReferenceValue: null
                              fieldDataFieldTypeUname: applicable_surcharge_5
                              fieldDataFieldTypeDataType: LookupFieldData
                              fieldDataStringValue: ''
                            - fieldDataFieldTypeLabel: Sales Tax Rate Override
                              fieldDataReferenceValue: null
                              fieldDataFieldTypeUname: sales_tax_rate_override
                              fieldDataFieldTypeDataType: LookupFieldData
                              fieldDataStringValue: ''
                          formDataFormTypeUname: pricebook_general_additional_info
                          formDataInternalStatus: null
                          formDataGuid: fb5b1735-222f-4687-9e71-56965c50a557
                        priceItemBillableItemCode: EQP-ACC8X14
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/Asset:
    post:
      tags:
        - Master Data
      summary: Equipment
      description: Create/update equipment(s)
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                assetList:
                  type: array
                  items:
                    $ref: '#/components/schemas/Equipment'
            examples:
              Create/update equipment:
                value:
                  assetList:
                    - assetCode: HAULTRK_01
                      assetCategoryCode: '54'
                      assetSerialNumber: SADL121301
                      assetModel: Ford
                      assetOperatorEmployeeCode: EMP001
                      assetStatusUname: active_asset_status
                      assetNotes: ''
                      assetLocation: ''
                      assetActivationDate: 1747255545
                      assetFormData: {}
                      customFieldDataList:
                        - customFieldDataDtype: NumberFieldData
                          customFieldDataUname: current_hours
                          customFieldDataStringValue: '50'
              Create new equipment assignment:
                value:
                  assetList:
                    - assetCode: HAULTRK_01
                      assetCurrentJobsList:
                        - equipmentRecordJobNumber: JOB20250514
                        - equipmentRecordJobNumber: MC-2024-002
      responses:
        '200':
          $ref: '#/components/responses/Post-Results'
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/Equipment:
    get:
      tags:
        - Master Data
      summary: All Equipment
      description: Retrieve all equipments in an account
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Batch-Results'
              examples:
                Example 1:
                  value:
                    value:
                      - dtype: Asset
                        guid: 0665662c-9643-4ffb-8c5f-0ecaa4ab3c3e
                        updatedAt: 1740175846000
                      - dtype: Asset
                        guid: 065887b4-381c-481c-a74b-bb67fbdfe10e
                        updatedAt: 1687892375000
                      - dtype: Asset
                        guid: c604eee7-7970-4490-a334-bfab2746a8df
                        updatedAt: 1687892375000
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/Equipment/{equipmentGuid}:
    get:
      tags:
        - Master Data
      summary: Equipment
      description: Retrieve one equipment object by provided GUID
      parameters:
        - name: equipmentGuid
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Equipment'
              examples:
                Example 1:
                  value:
                    assetCreatedAt: 1736872984000
                    assetTerminationDate: null
                    assetActivationDate: 1736872940171
                    assetUpdatedAt: 1738360421000
                    assetOperatorEmployeeCode: null
                    assetLocation: null
                    assetCategoryCode: ''
                    assetModel: ''
                    assetStatusUname: active_asset_status
                    assetIsDeleted: true
                    assetGuid: 842df8d1-ff98-436b-a16c-174bc06c90ea
                    assetSerialNumber: ''
                    assetNotes: ''
                    assetFormData:
                      formDataFieldDataList:
                        - fieldDataFieldTypeLabel: Company-Owned Equipment Costing
                          fieldDataFieldTypeUname: equipment_costing
                          fieldDataFieldTypeDataType: SectionFieldData
                        - fieldDataFieldTypeLabel: Service Log
                          fieldDataFieldTypeUname: service_log_section
                          fieldDataFieldTypeDataType: SectionFieldData
                        - fieldDataFieldTypeLabel: Attachments
                          fieldDataFieldTypeUname: attachments_section
                          fieldDataFieldTypeDataType: SectionFieldData
                        - fieldDataFieldTypeLabel: Employee (Personal Truck)
                          fieldDataReferenceValue: f9d61d14-7956-4b3a-a627-b6672dc4f17a
                          fieldDataFieldTypeUname: employee
                          fieldDataFieldTypeDataType: LookupFieldData
                          fieldDataStringValue: Clayton Brownsio
                        - fieldDataFieldTypeLabel: Subcontractor Company
                          fieldDataReferenceValue: null
                          fieldDataFieldTypeUname: subcontractor_company
                          fieldDataFieldTypeDataType: LookupFieldData
                          fieldDataStringValue: ''
                        - fieldDataFieldTypeLabel: Rental Reference No.
                          fieldDataFieldTypeUname: rental_reference_no
                          fieldDataFieldTypeDataType: FreeTextFieldData
                          fieldDataStringValue: null
                        - fieldDataFieldTypeLabel: Notes
                          fieldDataFieldTypeUname: notes
                          fieldDataFieldTypeDataType: FreeTextFieldData
                          fieldDataStringValue: null
                        - fieldDataFieldTypeLabel: Current Hours
                          fieldDataFieldTypeUname: current_hours
                          fieldDataDecimalValue: '0.000000'
                          fieldDataFieldTypeDataType: NumberFieldData
                        - fieldDataFieldTypeLabel: Rental Company New
                          fieldDataFieldTypeUname: rental_company_new
                          fieldDataFieldTypeDataType: FreeTextFieldData
                          fieldDataStringValue: null
                        - fieldDataFieldTypeLabel: Hourly Cost Rate
                          fieldDataFieldTypeUname: hourly_cost_rate
                          fieldDataDecimalValue: '0.000000'
                          fieldDataFieldTypeDataType: NumberFieldData
                        - fieldDataFieldTypeLabel: Daily Cost Rate
                          fieldDataFieldTypeUname: daily_cost_rate
                          fieldDataDecimalValue: '0.000000'
                          fieldDataFieldTypeDataType: NumberFieldData
                        - fieldDataFieldTypeLabel: Weekly Cost Rate
                          fieldDataFieldTypeUname: weekly_cost_rate
                          fieldDataDecimalValue: '0.000000'
                          fieldDataFieldTypeDataType: NumberFieldData
                        - fieldDataFieldTypeLabel: Monthly Cost Rate
                          fieldDataFieldTypeUname: monthly_cost_rate
                          fieldDataDecimalValue: '0.000000'
                          fieldDataFieldTypeDataType: NumberFieldData
                        - fieldDataFieldTypeLabel: Other Cost Rate
                          fieldDataFieldTypeUname: other_cost_rate
                          fieldDataDecimalValue: '0.000000'
                          fieldDataFieldTypeDataType: NumberFieldData
                        - fieldDataFieldTypeLabel: Service Log
                          fieldDataTableRows: []
                          fieldDataFieldTypeUname: service_log
                          fieldDataFieldTypeDataType: TableFieldData
                        - fieldDataFieldTypeLabel: Attachments
                          fieldDataTableRows: []
                          fieldDataFieldTypeUname: attachments_table
                          fieldDataFieldTypeDataType: TableFieldData
                      formDataFormTypeUname: equipment_additional_info
                      formDataInternalStatus: null
                      formDataGuid: cd030bdc-47c7-40c6-9f7d-df7ffb4bc6c3
                    assetCode: '2'
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/Employee:
    post:
      tags:
        - Master Data
      summary: Employee
      description: Create/update employee(s)
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                employeeList:
                  type: array
                  items:
                    $ref: '#/components/schemas/Employee'
            examples:
              Create/update employee(s):
                value:
                  employeeList:
                    - employeeCode: EMP001
                      employmentType: DIRECT_HIRE
                      employeeStatusUname: active_employee_status
                      employeeFirstName: Ken
                      employeeLastName: Test
                      employeeTradeCode: LAB-TRUCKDRV
                      employeeAddress: string
                      employeePhone: 604-224-2421
                      employeeEmail: ken.bui@aimsio.com
                      employeePayrollTypeName: Default
                      employeePayrollUnionName: British Columbia
                      employeePayrollHolidayEligibility: PER_UNION
                      employeeAverageDayPay: 0
                      employeeHolidayHoursTopUp: 0
                      customFieldDataList:
                        - customFieldDataDtype: FreeTextFieldData
                          customFieldDataUname: department
                          customFieldDataStringValue: Transportation
                    - employeeCode: EMP002
                      employmentType: DIRECT_HIRE
                      employeeStatusUname: active_employee_status
                      employeeFirstName: Scott
                      employeeLastName: Chucckry
                      employeeTradeCode: LAB-PM
                      employeePhone: 604-224-2421
                      employeeEmail: scott.chuckry@aimsio.com
                      employeePayrollTypeName: Default
                      employeePayrollUnionName: Alberta
                      employeePayrollHolidayEligibility: AB_5_OF_9
                      employeeAverageDayPay: 300
                      employeeHolidayHoursTopUp: 8
                      customFieldDataList:
                        - customFieldDataDtype: FreeTextFieldData
                          customFieldDataUname: department
                          customFieldDataStringValue: Onboarding
              Create new employee assignment:
                value:
                  employeeList:
                    - employeeCode: EMP001
                      employeeCurrentJobsList:
                        - crewRecordJobNumber: JOB20250514
                        - crewRecordJobNumber: MC-2024-002
      responses:
        '200':
          $ref: '#/components/responses/Post-Results'
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
    get:
      tags:
        - Master Data
      summary: All Employees
      description: Retrieve all employees in an account
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Batch-Results'
              examples:
                Example 1:
                  value:
                    value:
                      - dtype: Employee
                        guid: 1a733d69-d2f1-40d1-9312-ee16f3d18c65
                        updatedAt: 1687892736201
                      - dtype: Employee
                        guid: 530041b2-cf0f-492a-9d4b-d483d3bee7e7
                        updatedAt: 1687892736110
                      - dtype: Employee
                        guid: e59a2603-1eaa-49da-bf08-2c19374d3f9c
                        updatedAt: 1687892736384
                      - dtype: Employee
                        guid: 19388ca3-1cc3-4801-b575-97ba998a7d41
                        updatedAt: 1687892736293
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/Employee/{employeeGuid}:
    get:
      tags:
        - Master Data
      summary: Employee
      description: Retrieve one employee object by provided GUID
      parameters:
        - name: employeeGuid
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Employee'
              examples:
                Example 1:
                  value:
                    employeeFirstName: Scott
                    employeePayrollHolidayEligibility: AB_5_OF_9
                    employeeNotes: ''
                    employmentTerminationDate: null
                    employeeCode: EMP002
                    employmentType: DIRECT_HIRE
                    employeeAddress: ''
                    employeeEmail: scott.chuckry@aimsio.com
                    employmentReHireDate: null
                    employeeLastName: Chucckry
                    employeeStatusUname: active_employee_status
                    employeeLinkedUserName: null
                    employmentHireDate: 1747259246422
                    employeeFormData:
                      formDataFieldDataList:
                        - fieldDataFieldTypeLabel: Attachments
                          fieldDataFieldTypeUname: attachments_section
                          fieldDataFieldTypeDataType: SectionFieldData
                        - fieldDataFieldTypeLabel: Department
                          fieldDataFieldTypeUname: department
                          fieldDataFieldTypeDataType: FreeTextFieldData
                          fieldDataStringValue: Onboarding
                        - fieldDataFieldTypeLabel: Subcontractor Company
                          fieldDataReferenceValue: null
                          fieldDataFieldTypeUname: subcontractor_company
                          fieldDataFieldTypeDataType: LookupFieldData
                          fieldDataStringValue: ''
                        - fieldDataFieldTypeLabel: Equipment
                          fieldDataReferenceValue: null
                          fieldDataFieldTypeUname: equipment
                          fieldDataFieldTypeDataType: LookupFieldData
                          fieldDataStringValue: ''
                        - fieldDataFieldTypeLabel: Hourly Rate
                          fieldDataFieldTypeUname: hourly_rate
                          fieldDataDecimalValue: null
                          fieldDataFieldTypeDataType: NumberFieldData
                        - fieldDataFieldTypeLabel: Home Base
                          fieldDataFieldTypeUname: home_base
                          fieldDataFieldTypeDataType: FreeTextFieldData
                          fieldDataStringValue: null
                        - fieldDataFieldTypeLabel: Attachments
                          fieldDataTableRows: []
                          fieldDataFieldTypeUname: attachments_table
                          fieldDataFieldTypeDataType: TableFieldData
                      formDataFormTypeUname: employee_additional_info
                      formDataInternalStatus: null
                      formDataGuid: ee4b1fbc-5d64-4c6f-9430-b9cd8ace14b8
                    employeeUpdatedAt: 1747259246491
                    employeePhone: 604-224-2421
                    employeeAverageDayPay: '300.000'
                    employeeGuid: 19a50485-2fdc-4b38-81be-9a0fb0ed8416
                    employeeCreatedAt: 1747259246491
                    employeePayrollTypeName: Default
                    employeeLinkedUserGuid: null
                    employeeTradeCode: LAB-PM
                    employeePayrollUnionName: Alberta
                    employeeHolidayHoursTopUp: '8.00'
                    employeeNickName: ''
                    employeeTradeGuid: 711a4060-e493-4f20-8aca-15d64daff3fe
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/Company:
    post:
      tags:
        - Master Data
      summary: Company
      description: Create/update company(s)
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                companyList:
                  $ref: '#/components/schemas/Company'
            examples:
              Example 1:
                value:
                  companyList:
                    - companyCode: ERS
                      companyName: Elite Resources
                      companySymbol: ERS19
                      companyTypeUname: client_company_type
                      companyAddress: ''
                      companyEmail: ''
                      companyPhone: 888-850-0066
                      companyNotes: ''
                    - companyCode: BIT
                      companyName: Business Innovation Technologies
                      companyTypeUname: vendor_company_type
                      companyAddress: 1341 Seymore Street, Ontario, ON V3A 4Q1
                      companyEmail: ''
                      companyPhone: 888-851-1213
                      companyNotes: ''
      responses:
        '200':
          $ref: '#/components/responses/Post-Results'
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
    get:
      tags:
        - Master Data
      summary: All Companies
      description: Retrieve all companies in an account
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Batch-Results'
              examples:
                Example 1:
                  value:
                    value:
                      - dtype: Company
                        guid: bd43bf9a-db09-4ef7-adb2-e0672faf0a98
                        updatedAt: 1687892219000
                      - dtype: Company
                        guid: 01f6aeb6-d2b6-4f70-8fd1-2d0e0f922562
                        updatedAt: 1687892219000
                      - dtype: Company
                        guid: 188e5800-b254-40bd-a912-b73acd739c22
                        updatedAt: 1687892219000
                      - dtype: Company
                        guid: f624c818-30ea-41be-8d3a-044b389f1d4a
                        updatedAt: 1687892220000
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/Company/{companyGuid}:
    get:
      tags:
        - Master Data
      summary: Company
      description: Retrieve one company object by provided GUID
      parameters:
        - name: companyGuid
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Company'
              examples:
                Example 1:
                  value:
                    companyGuid: f01eb5e8-7103-4a50-94d4-ea7ae5e43d8d
                    companyCode: ERS
                    companyIsDeleted: false
                    companyName: Elite Resources
                    companySymbol: SYM19
                    companyTypeUname: client_company_type
                    companyTypeName: Client
                    companyAddress: ''
                    companyEmail: ''
                    companyPhone: 888-850-0066
                    companyNotes: ''
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/JobOrder:
    post:
      tags:
        - Job Orders
      summary: JobOrder
      description: Create/update job order(s)
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                jobList:
                  type: array
                  items:
                    $ref: '#/components/schemas/JobOrder'
            examples:
              Create/update job(s):
                value:
                  jobList:
                    - jobNumber: JOB20250514
                      jobName: Directional Drilling
                      jobDescription: Details are attached below
                      jobStatus: Assigned
                      jobTypeUname: wmt_job
                      jobClientCode: ERS
                      jobPriceBookName: Default
                      jobStartDate: 1747182163000
                      jobEndDate: 1749860563000
                      jobShowInDispatching: true
                      jobAssigneeEmployeeNumber: EMP002
                      jobAddress: Job Address
                      jobLocationCode: RD
                      jobLocationLat: 0
                      jobLocationLong: 0
                      jobDirection: >-
                        Follow the directions as attached below.  Please review
                        them in the App before you depart.
                      customFieldDataList:
                        - customFieldDataDtype: SelectFieldData
                          customFieldDataUname: work_type
                          customFieldDataStringValue: T & M
                        - customFieldDataDtype: LookupFieldData
                          customFieldDataUname: state_province
                          customFieldDataStringValue: Alberta
              Create WBS schedule for existing job(s):
                value:
                  jobList:
                    - jobNumber: JOB20250514
                      jobWBSSchedule:
                        jobScheduleBudgetEntryOption: PerDetailedBreakDown
                        jobScheduleContractValueEntryOption: PerWBS
                        jobScheduleChangeSettingOption: AutomatedFromChangeOrder
                        jobScheduleRootActivity:
                          wbsActivitySubCode: '01'
                          wbsActivityName: Root activity
                          wbsActivitySharedIdentifier: JOB20250514-01
                          wbsActivityHierarchicalOrder: '1'
                          wbsActivityTotal: '1'
                          wbsActivityPlannedStartDate: 1747782745000
                          wbsActivityPlannedEndDate: 1748214745000
                          wbsActivityChildren:
                            - wbsActivitySubCode: '.01'
                              wbsActivityName: First children activity
                              wbsActivitySharedIdentifier: JOB20250514-01.01
                              wbsActivityHierarchicalOrder: '1.1'
                              wbsActivityTotal: '1'
                              wbsActivityPlannedStartDate: 1747782745000
                              wbsActivityPlannedEndDate: 1748214745000
      responses:
        '200':
          $ref: '#/components/responses/Post-Results'
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
    get:
      tags:
        - Job Orders
      summary: All JobOrders
      description: Retrieve all job orders in an account
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Batch-Results'
              examples:
                Example 1:
                  value:
                    value:
                      - entityVersion: null
                        dtype: JobOrder
                        guid: bceb7311-b640-44d8-a60c-b27641c06eaa
                        updatedAt: 1742413709000
                      - entityVersion: null
                        dtype: JobOrder
                        guid: f6c8f53c-5d61-46ef-b456-484960e089c4
                        updatedAt: 1739998861000
                      - entityVersion: null
                        dtype: JobOrder
                        guid: 9da69478-5097-489e-a81d-25c9f6dab692
                        updatedAt: 1721838463000
                      - entityVersion: null
                        dtype: JobOrder
                        guid: cefd9fc6-6a9c-4c03-a4a6-a045900e9cbb
                        updatedAt: 1725643799000
                      - entityVersion: null
                        dtype: JobOrder
                        guid: ce6d9538-77c2-40ea-b198-53d1af8fcddc
                        updatedAt: 1736888618000
                      - entityVersion: null
                        dtype: JobOrder
                        guid: b6a018f0-7bf6-46cb-88c0-d11f9823bea5
                        updatedAt: 1742413709000
                      - entityVersion: null
                        dtype: JobOrder
                        guid: cf0f5897-f9ae-45a5-8c8d-02673f61a47c
                        updatedAt: 1742413709000
                      - entityVersion: null
                        dtype: JobOrder
                        guid: ea232dc6-8d62-4eb4-8f5f-b8ac4113871a
                        updatedAt: 1743179781000
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/JobOrder/{jobOrderGuid}:
    get:
      tags:
        - Job Orders
      summary: JobOrder
      description: Retrieve one job order object by provided GUID
      parameters:
        - name: jobOrderGuid
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobOrder'
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/Invoice:
    post:
      tags:
        - Transactions
      summary: Invoice
      description: Update invoice(s) numbers and/or status by provided invoiceId
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: object
              properties:
                invoices:
                  type: array
                  items:
                    $ref: '#/components/schemas/Invoice'
            examples:
              Example 1:
                value:
                  invoices:
                    - invoiceId: 7383
                      invoiceNumber: 1006TST5-exported
                      invoiceCustomStatus: Exported
                      customDataFieldList:
                        - customFieldDataDtype: SelectFieldData
                          customFieldDataUname: open_invoice_status
                          customFieldDataStringValue: Approved
                    - invoiceId: 7374
                      invoiceCustomStatus: Exported
      responses:
        '200':
          description: OK
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
    get:
      tags:
        - Transactions
      summary: All Invoices
      description: Retrieve all invoices in an account
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Batch-Results'
              examples:
                Example 1:
                  value:
                    - dtype: FreeInvoice
                      id: 4126
                      updatedAt: 1637085133000
                    - dtype: FreeInvoice
                      id: 4128
                      updatedAt: 1637097401000
                    - dtype: FreeInvoice
                      id: 4137
                      updatedAt: 1746815305000
                    - dtype: FreeInvoice
                      id: 4146
                      updatedAt: 1637340266000
                    - dtype: FreeInvoice
                      id: 4155
                      updatedAt: 1637362091000
                    - dtype: FreeInvoice
                      id: 4166
                      updatedAt: 1637776545000
                    - dtype: FreeInvoice
                      id: 4167
                      updatedAt: 1637795637000
                    - dtype: FreeInvoice
                      id: 4168
                      updatedAt: 1637962759000
                    - dtype: FreeInvoice
                      id: 4180
                      updatedAt: 1638315915000
                    - dtype: FreeInvoice
                      id: 4191
                      updatedAt: 1638396990000
                    - dtype: FreeInvoice
                      id: 4205
                      updatedAt: 1638557820000
                    - dtype: FreeInvoice
                      id: 4224
                      updatedAt: 1638915592000
                    - dtype: FreeInvoice
                      id: 4230
                      updatedAt: 1639072922000
                    - dtype: FreeInvoice
                      id: 4231
                      updatedAt: 1639086030000
                    - dtype: FreeInvoice
                      id: 4244
                      updatedAt: 1639675259000
                    - dtype: FreeInvoice
                      id: 4250
                      updatedAt: 1639772165000
                    - dtype: FreeInvoice
                      id: 4252
                      updatedAt: 1640036784000
                    - dtype: FreeInvoice
                      id: 4253
                      updatedAt: 1640044892000
                    - dtype: FreeInvoice
                      id: 4331
                      updatedAt: 1642028899000
                    - dtype: FreeInvoice
                      id: 4549
                      updatedAt: 1648052046000
                    - dtype: FreeInvoice
                      id: 4720
                      updatedAt: 1663964683000
                    - dtype: FreeInvoice
                      id: 4812
                      updatedAt: 1680637425000
                    - dtype: FreeInvoice
                      id: 5609
                      updatedAt: 1675410190000
                    - dtype: FreeInvoice
                      id: 6067
                      updatedAt: 1680642087000
                    - dtype: FreeInvoice
                      id: 6068
                      updatedAt: 1680642209000
                    - dtype: FreeInvoice
                      id: 6139
                      updatedAt: 1682006131000
                    - dtype: FreeInvoice
                      id: 6147
                      updatedAt: 1682357470000
                    - dtype: FreeInvoice
                      id: 6199
                      updatedAt: 1683570710000
                    - dtype: FreeInvoice
                      id: 6385
                      updatedAt: 1689704944000
                    - dtype: FreeInvoice
                      id: 6417
                      updatedAt: 1690217465000
                    - dtype: FreeInvoice
                      id: 6470
                      updatedAt: 1689878364000
                    - dtype: FreeInvoice
                      id: 6484
                      updatedAt: 1690311995000
                    - dtype: FreeInvoice
                      id: 6485
                      updatedAt: 1690313330000
                    - dtype: FreeInvoice
                      id: 6487
                      updatedAt: 1690320276000
                    - dtype: FreeInvoice
                      id: 6512
                      updatedAt: 1690563728000
                    - dtype: FreeInvoice
                      id: 6535
                      updatedAt: 1691005865000
                    - dtype: FreeInvoice
                      id: 6540
                      updatedAt: 1691165166000
                    - dtype: FreeInvoice
                      id: 6550
                      updatedAt: 1691526430000
                    - dtype: FreeInvoice
                      id: 6551
                      updatedAt: 1691527750000
                    - dtype: FreeInvoice
                      id: 6573
                      updatedAt: 1691698622000
                    - dtype: FreeInvoice
                      id: 6577
                      updatedAt: 1691704557000
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/Invoice/{invoiceId}:
    get:
      tags:
        - Transactions
      summary: Invoice
      description: Retrieve one invoice object by provided ID
      parameters:
        - name: invoiceId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Invoice'
                  - type: object
                    properties:
                      invoiceFormData:
                        $ref: '#/components/schemas/Additional-FormData'
              examples:
                Example 1:
                  value:
                    invoiceCreatedByFullName: Aimsio System
                    invoiceClientGuid: 59a639b6-0155-433a-b6a5-a1c32ddd9a04
                    invoiceMessage: ''
                    invoiceUpdatedAt: 1747262253000
                    invoiceBilledTo: |
                      Client
                    invoiceCreatedAt: 1705450710000
                    invoiceIsPercentBasedDiscount: true
                    invoiceClientCode: CL
                    invoiceRetainagePercent: '0.00'
                    invoiceRetainageAmount: '0.00'
                    invoiceTotal: '630.0000'
                    invoiceClientName: Client
                    invoiceCustomStatus: null
                    invoiceStatus: Approved
                    invoiceDiscountAmount: '0.00'
                    invoiceDiscountPercent: '0.00'
                    invoiceId: 7374
                    invoiceJobOrderGuid: bd1f5f3a-0f1e-4426-b330-600f32a6eeec
                    invoiceCreatedByUserName: daniel.collins:kentest
                    invoiceTypeUname: cad_group_by_category
                    invoiceTax: '30.00'
                    invoiceLastModifiedByUserName: admin@kentest-sandbox
                    invoiceLastModifiedByFullName: Admin Ken
                    invoicePrivateNote: ''
                    invoiceNumber: 1112-TST1
                    invoiceSubTotal: '600.00'
                    invoiceDate: 1705450700000
                    invoicableRecords:
                      - invoicableRecordRate: '120.000'
                        invoicableGLAccount: null
                        invoicableDesc: MC-2024-001-000-001
                        invoicableRecordStr11: null
                        invoicableRecordWBSGuid: null
                        invoicableRecordStr9: null
                        invoicableRecordDecimal1: '0'
                        invoicableRecordNotes: MC-2024-001-000-001
                        invoicableRecordStr13: null
                        invoicableRecordFormDataId: 230016880621
                        invoicableRecordDecimal3: '0'
                        invoicableRecordTotal: '600.00'
                        invoicableRecordStr6: null
                        invoicableRecordTaxName: GST
                        invoicableRecordSalesTaxExternalId: null
                        invoicableRecordUofM: null
                        invoicableRecordFormDataGuid: da85f9f2-1e61-4b25-9375-fc569492740b
                        invoicableRecordDType: FormDataInvoicableRecord
                        invoicableRecordOriginReference: null
                        invoicableRecordSalesTaxGuid: null
                        invoicableDate2: null
                        invoicableRecordStr5: Each
                        invoicableRecordBillableItemGuid: null
                        invoicableRecordQuantity: '5.000'
                        invoicableRecordStr3: Service
                        invoicableDate3: null
                        invoicableRecordStr1: null
                        invoicableDate: 1705388400000
                        invoicableRecordStr15: null
                        invoicableRecordDecimal2: '0'
                        invoicableRecordStr14: null
                        invoicableRecordLineItemOrder: 0
                        invoicableRecordSalesTaxName: null
                        invoicableRecordStr8: null
                        invoicableRecordTax: '5'
                        invoicableRecordStr12: null
                        invoicableRecordGuid: 19158b95-8c22-430c-a67d-3dce4e9af724
                        invoicableRecordStr10: null
                        invoicableRecordStr4: G
                        invoicableRecordTaxList: []
                        invoicableRecordStr2: TWO-MAN
                        invoicableRecordStr7: null
                    invoiceFormData:
                      formDataFieldDataList:
                        - fieldDataFieldTypeLabel: Additional Info
                          fieldDataFieldTypeDataType: SectionFieldData
                          fieldDataFieldTypeUname: additional_info
                        - fieldDataFieldTypeLabel: Payment Terms
                          fieldDataFieldTypeDataType: FreeTextFieldData
                          fieldDataFieldTypeUname: payment_terms
                          fieldDataStringValue: Net 30
                        - fieldDataFieldTypeLabel: Location
                          fieldDataFieldTypeDataType: FreeTextFieldData
                          fieldDataFieldTypeUname: location
                          fieldDataStringValue: Test Location
                        - fieldDataFieldTypeLabel: 'PO #'
                          fieldDataFieldTypeDataType: FreeTextFieldData
                          fieldDataFieldTypeUname: purchase_order_no
                          fieldDataStringValue: PO NUM NUMBA 1
                        - fieldDataFieldTypeLabel: Has Form Data Updated
                          fieldDataFieldTypeDataType: BooleanFieldData
                          fieldDataFieldTypeUname: has_formdata_updated
                          fieldDataBooleanValue: true
                        - fieldDataFieldTypeLabel: Open Invoice Status
                          fieldDataFieldTypeDataType: SelectFieldData
                          fieldDataFieldTypeUname: open_invoice_status
                          fieldDataStringValue: ''
                      formDataGuid: 724c7991-b5f9-4b48-bf36-55fbd0be511d
                      formDataFormTypeUname: invoice_cad_additional_info
                      formDataInternalStatus: null
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/PayrollPeriod:
    post:
      tags:
        - Transactions
      summary: Payroll Period
      description: Update payroll period(s) status by provided GUID
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: object
              properties:
                payrollPeriodList:
                  type: array
                  items:
                    $ref: '#/components/schemas/PayrollPeriod'
            examples:
              Example 1:
                value:
                  payrollPeriodList:
                    - payrollPeriodGuid: 8ac77eba-8a89-4f14-8ed1-2f57e4ec3ff1
                      payrollPeriodStatus: EXPORTED
      responses:
        '200':
          $ref: '#/components/responses/Post-Results'
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
    get:
      tags:
        - Transactions
      summary: All Payroll Periods
      description: Retrieve all payroll periods in an account
      parameters:
        - name: status
          in: query
          description: Status of the pay periods. Must be a valid payrollPeriodStatus value
          schema:
            type: string
        - name: limit
          in: query
          description: >-
            Quantity of pay periods returned in the response. Default to 1000 if
            not specified
          schema:
            type: number
        - name: start
          in: query
          description: >-
            Start index of the returned pay period. Default to 0 if not
            specified
          schema:
            type: number
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    type: object
                  pagination:
                    type: object
                    properties:
                      totalCount:
                        type: integer
                      limit:
                        type: integer
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/PayrollPeriod'
                x-examples:
                  Example 1:
                    meta: {}
                    pagination:
                      totalCount: 3
                      limit: 1000
                    data:
                      - payrollPeriodStatus: PROCESSED
                        payrollPeriodPayTypeName: HR
                        payrollPeriodName: '202320'
                        payrollPeriodGuid: 295f308f-8784-4f93-b8f4-d35f8314726f
                        payrollPeriodAmount: '250.000'
                      - payrollPeriodStatus: PROCESSED
                        payrollPeriodPayTypeName: HR
                        payrollPeriodName: '202317'
                        payrollPeriodGuid: 60ec598d-360f-4d41-b755-d62c3b2b69fd
                        payrollPeriodAmount: '0.000'
                      - payrollPeriodStatus: PROCESSED
                        payrollPeriodPayTypeName: HR
                        payrollPeriodName: '202315'
                        payrollPeriodGuid: d912b328-ff60-4602-ac3e-e0b0a5495473
                        payrollPeriodAmount: '300.000'
              examples:
                Example 1:
                  value:
                    meta: {}
                    pagination:
                      totalCount: 3
                      limit: 1000
                    data:
                      - payrollPeriodStatus: PROCESSED
                        payrollPeriodPayTypeName: HR
                        payrollPeriodName: '202320'
                        payrollPeriodGuid: 295f308f-8784-4f93-b8f4-d35f8314726f
                        payrollPeriodAmount: '250.000'
                      - payrollPeriodStatus: PROCESSED
                        payrollPeriodPayTypeName: HR
                        payrollPeriodName: '202317'
                        payrollPeriodGuid: 60ec598d-360f-4d41-b755-d62c3b2b69fd
                        payrollPeriodAmount: '0.000'
                      - payrollPeriodStatus: PROCESSED
                        payrollPeriodPayTypeName: HR
                        payrollPeriodName: '202315'
                        payrollPeriodGuid: d912b328-ff60-4602-ac3e-e0b0a5495473
                        payrollPeriodAmount: '300.000'
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/TimeCard:
    get:
      tags:
        - Transactions
      summary: Payroll Period Timecards
      description: Retrieve all timecards in a pay period by provided period GUID
      parameters:
        - name: payrollPeriodGuid
          in: query
          schema:
            type: string
            example: '{{payrollPeriodGuid}}'
          examples:
            default:
              value: '{{payrollPeriodGuid}}'
        - name: limit
          in: query
          description: >-
            Quantity of timecards returned in the response. Default to 1000 if
            not specified
          schema:
            type: number
        - name: start
          in: query
          description: Start index of the returned timecard. Default to 0 if not specified
          schema:
            type: number
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    type: object
                  pagination:
                    type: object
                    properties:
                      totalCount:
                        type: integer
                      limit:
                        type: integer
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Timecard'
                x-examples:
                  Example 1:
                    meta: {}
                    pagination:
                      totalCount: 4
                      limit: 1000
                    data:
                      - timeCardUnionCode: Alberta
                        timeCardDTAmount: '0.000000'
                        timeCardEmployeeGuid: null
                        timeCardRate: '34.000'
                        timeCardCreatedAt: 1631046778965
                        timeCardAmountWithBurden: '0.00'
                        timeCardEquipmentGuid: null
                        timeCardAmount: '0.00'
                        timeCardShouldUpdateHoursBreakdown: true
                        timeCardPayrollPeriodStatus: null
                        timeCardEmployeeRegularHours: '8.000'
                        timeCardQuantity: '0.000'
                        timeCardPayrollPeriodEnd: null
                        timeCardIsExportedToIntegration: false
                        timeCardCompanyCode: null
                        timeCardPayrollPeriodStart: null
                        timeCardRowFormDataGuid: null
                        timeCardPhaseCode: null
                        timeCarddescription: OK
                        timeCardEmployeeOverTimeHours: '2.000'
                        timeCardRTAmount: '272.000000'
                        timeCardIsBillable: false
                        timeCardRateDoubleTime: '68.000'
                        timeCardFieldTicketGuid: null
                        timeCardRateOverTime: '51.000'
                        timeCardEquipmentCode: null
                        timeCardPayCode: null
                        timeCardJobNumber: null
                        timeCardStandardEarningDeductionType: null
                        timeCardTimeZone: America/Edmonton
                        timeCardPhaseGuid: null
                        timeCardEmployeeDoubleTimeHours: '0.000'
                        timeCardFormDataGuid: null
                        timeCardEmployeeTravelTimeHours: '0.000'
                        timeCardEclipseCompany: ''
                        timeCardSTAmount: '0.000000'
                        timeCardPayrollPeriodName: null
                        timeCardOTAmount: '102.000000'
                        timeCardJobGuid: null
                        timeCardGuid: 44880f4a-32cf-11ec-b751-020855c3818f
                        timeCardRecordDate: 1628143200000
                        timeCardEmployeeCode: '56'
                        timeCardFormDataNo: null
                        timeCardWorkTradeCode: '111'
                        timeCardPayType: HR
                        timeCardEmploymentType: null
                        timeCardOriginReference: null
                        timeCardPayrollPeriodGuid: null
                        timeCardIsDeleted: false
                      - timeCardUnionCode: Alberta
                        timeCardDTAmount: '0.000000'
                        timeCardEmployeeGuid: null
                        timeCardRate: '31.000'
                        timeCardCreatedAt: 1631046778965
                        timeCardAmountWithBurden: '0.00'
                        timeCardEquipmentGuid: null
                        timeCardAmount: '0.00'
                        timeCardShouldUpdateHoursBreakdown: true
                        timeCardPayrollPeriodStatus: null
                        timeCardEmployeeRegularHours: '8.000'
                        timeCardQuantity: '0.000'
                        timeCardPayrollPeriodEnd: null
                        timeCardIsExportedToIntegration: false
                        timeCardCompanyCode: null
                        timeCardPayrollPeriodStart: null
                        timeCardRowFormDataGuid: null
                        timeCardPhaseCode: null
                        timeCarddescription: OK
                        timeCardEmployeeOverTimeHours: '4.000'
                        timeCardRTAmount: '248.000000'
                        timeCardIsBillable: false
                        timeCardRateDoubleTime: '62.000'
                        timeCardFieldTicketGuid: null
                        timeCardRateOverTime: '46.500'
                        timeCardEquipmentCode: null
                        timeCardPayCode: null
                        timeCardJobNumber: null
                        timeCardStandardEarningDeductionType: null
                        timeCardTimeZone: America/Edmonton
                        timeCardPhaseGuid: null
                        timeCardEmployeeDoubleTimeHours: '0.000'
                        timeCardFormDataGuid: null
                        timeCardEmployeeTravelTimeHours: '0.000'
                        timeCardEclipseCompany: ''
                        timeCardSTAmount: '0.000000'
                        timeCardPayrollPeriodName: null
                        timeCardOTAmount: '186.000000'
                        timeCardJobGuid: null
                        timeCardGuid: 44881102-32cf-11ec-b751-020855c3818f
                        timeCardRecordDate: 1628056800000
                        timeCardEmployeeCode: '56'
                        timeCardFormDataNo: null
                        timeCardWorkTradeCode: EH&S
                        timeCardPayType: HR
                        timeCardEmploymentType: null
                        timeCardOriginReference: null
                        timeCardPayrollPeriodGuid: null
                        timeCardIsDeleted: false
                      - timeCardUnionCode: Alberta
                        timeCardDTAmount: '0.000000'
                        timeCardEmployeeGuid: null
                        timeCardRate: '32.000'
                        timeCardCreatedAt: 1631046778965
                        timeCardAmountWithBurden: '0.00'
                        timeCardEquipmentGuid: null
                        timeCardAmount: '0.00'
                        timeCardShouldUpdateHoursBreakdown: true
                        timeCardPayrollPeriodStatus: null
                        timeCardEmployeeRegularHours: '8.000'
                        timeCardQuantity: '0.000'
                        timeCardPayrollPeriodEnd: null
                        timeCardIsExportedToIntegration: false
                        timeCardCompanyCode: null
                        timeCardPayrollPeriodStart: null
                        timeCardRowFormDataGuid: null
                        timeCardPhaseCode: null
                        timeCarddescription: OK
                        timeCardEmployeeOverTimeHours: '4.000'
                        timeCardRTAmount: '256.000000'
                        timeCardIsBillable: false
                        timeCardRateDoubleTime: '64.000'
                        timeCardFieldTicketGuid: null
                        timeCardRateOverTime: '48.000'
                        timeCardEquipmentCode: null
                        timeCardPayCode: null
                        timeCardJobNumber: null
                        timeCardStandardEarningDeductionType: null
                        timeCardTimeZone: America/Edmonton
                        timeCardPhaseGuid: null
                        timeCardEmployeeDoubleTimeHours: '0.000'
                        timeCardFormDataGuid: null
                        timeCardEmployeeTravelTimeHours: '0.000'
                        timeCardEclipseCompany: ''
                        timeCardSTAmount: '0.000000'
                        timeCardPayrollPeriodName: null
                        timeCardOTAmount: '192.000000'
                        timeCardJobGuid: null
                        timeCardGuid: 4489e58a-32cf-11ec-b751-020855c3818f
                        timeCardRecordDate: 1628748000000
                        timeCardEmployeeCode: DEMO9898
                        timeCardFormDataNo: null
                        timeCardWorkTradeCode: '123'
                        timeCardPayType: HR
                        timeCardEmploymentType: null
                        timeCardOriginReference: null
                        timeCardPayrollPeriodGuid: null
                        timeCardIsDeleted: false
                      - timeCardUnionCode: Alberta
                        timeCardDTAmount: '0.000000'
                        timeCardEmployeeGuid: null
                        timeCardRate: '32.000'
                        timeCardCreatedAt: 1631046778965
                        timeCardAmountWithBurden: '0.00'
                        timeCardEquipmentGuid: null
                        timeCardAmount: '0.00'
                        timeCardShouldUpdateHoursBreakdown: true
                        timeCardPayrollPeriodStatus: null
                        timeCardEmployeeRegularHours: '8.000'
                        timeCardQuantity: '0.000'
                        timeCardPayrollPeriodEnd: null
                        timeCardIsExportedToIntegration: false
                        timeCardCompanyCode: null
                        timeCardPayrollPeriodStart: null
                        timeCardRowFormDataGuid: null
                        timeCardPhaseCode: null
                        timeCarddescription: OK
                        timeCardEmployeeOverTimeHours: '4.000'
                        timeCardRTAmount: '256.000000'
                        timeCardIsBillable: false
                        timeCardRateDoubleTime: '64.000'
                        timeCardFieldTicketGuid: null
                        timeCardRateOverTime: '48.000'
                        timeCardEquipmentCode: null
                        timeCardPayCode: null
                        timeCardJobNumber: null
                        timeCardStandardEarningDeductionType: null
                        timeCardTimeZone: America/Edmonton
                        timeCardPhaseGuid: null
                        timeCardEmployeeDoubleTimeHours: '0.000'
                        timeCardFormDataGuid: null
                        timeCardEmployeeTravelTimeHours: '0.000'
                        timeCardEclipseCompany: ''
                        timeCardSTAmount: '0.000000'
                        timeCardPayrollPeriodName: null
                        timeCardOTAmount: '192.000000'
                        timeCardJobGuid: null
                        timeCardGuid: 4489e82b-32cf-11ec-b751-020855c3818f
                        timeCardRecordDate: 1628748000000
                        timeCardEmployeeCode: DEMO9898
                        timeCardFormDataNo: null
                        timeCardWorkTradeCode: '123'
                        timeCardPayType: HR
                        timeCardEmploymentType: null
                        timeCardOriginReference: null
                        timeCardPayrollPeriodGuid: null
                        timeCardIsDeleted: false
              examples:
                Example 1:
                  value:
                    meta: {}
                    pagination:
                      totalCount: 4
                      limit: 1000
                    data:
                      - timeCardUnionCode: Alberta
                        timeCardDTAmount: '0.000000'
                        timeCardEmployeeGuid: null
                        timeCardRate: '34.000'
                        timeCardCreatedAt: 1631046778965
                        timeCardAmountWithBurden: '0.00'
                        timeCardEquipmentGuid: null
                        timeCardAmount: '0.00'
                        timeCardShouldUpdateHoursBreakdown: true
                        timeCardPayrollPeriodStatus: null
                        timeCardEmployeeRegularHours: '8.000'
                        timeCardQuantity: '0.000'
                        timeCardPayrollPeriodEnd: null
                        timeCardIsExportedToIntegration: false
                        timeCardCompanyCode: null
                        timeCardPayrollPeriodStart: null
                        timeCardRowFormDataGuid: null
                        timeCardPhaseCode: null
                        timeCarddescription: OK
                        timeCardEmployeeOverTimeHours: '2.000'
                        timeCardRTAmount: '272.000000'
                        timeCardIsBillable: false
                        timeCardRateDoubleTime: '68.000'
                        timeCardFieldTicketGuid: null
                        timeCardRateOverTime: '51.000'
                        timeCardEquipmentCode: null
                        timeCardPayCode: null
                        timeCardJobNumber: null
                        timeCardStandardEarningDeductionType: null
                        timeCardTimeZone: America/Edmonton
                        timeCardPhaseGuid: null
                        timeCardEmployeeDoubleTimeHours: '0.000'
                        timeCardFormDataGuid: null
                        timeCardEmployeeTravelTimeHours: '0.000'
                        timeCardEclipseCompany: ''
                        timeCardSTAmount: '0.000000'
                        timeCardPayrollPeriodName: null
                        timeCardOTAmount: '102.000000'
                        timeCardJobGuid: null
                        timeCardGuid: 44880f4a-32cf-11ec-b751-020855c3818f
                        timeCardRecordDate: 1628143200000
                        timeCardEmployeeCode: '56'
                        timeCardFormDataNo: null
                        timeCardWorkTradeCode: '111'
                        timeCardPayType: HR
                        timeCardEmploymentType: null
                        timeCardOriginReference: null
                        timeCardPayrollPeriodGuid: null
                        timeCardIsDeleted: false
                      - timeCardUnionCode: Alberta
                        timeCardDTAmount: '0.000000'
                        timeCardEmployeeGuid: null
                        timeCardRate: '31.000'
                        timeCardCreatedAt: 1631046778965
                        timeCardAmountWithBurden: '0.00'
                        timeCardEquipmentGuid: null
                        timeCardAmount: '0.00'
                        timeCardShouldUpdateHoursBreakdown: true
                        timeCardPayrollPeriodStatus: null
                        timeCardEmployeeRegularHours: '8.000'
                        timeCardQuantity: '0.000'
                        timeCardPayrollPeriodEnd: null
                        timeCardIsExportedToIntegration: false
                        timeCardCompanyCode: null
                        timeCardPayrollPeriodStart: null
                        timeCardRowFormDataGuid: null
                        timeCardPhaseCode: null
                        timeCarddescription: OK
                        timeCardEmployeeOverTimeHours: '4.000'
                        timeCardRTAmount: '248.000000'
                        timeCardIsBillable: false
                        timeCardRateDoubleTime: '62.000'
                        timeCardFieldTicketGuid: null
                        timeCardRateOverTime: '46.500'
                        timeCardEquipmentCode: null
                        timeCardPayCode: null
                        timeCardJobNumber: null
                        timeCardStandardEarningDeductionType: null
                        timeCardTimeZone: America/Edmonton
                        timeCardPhaseGuid: null
                        timeCardEmployeeDoubleTimeHours: '0.000'
                        timeCardFormDataGuid: null
                        timeCardEmployeeTravelTimeHours: '0.000'
                        timeCardEclipseCompany: ''
                        timeCardSTAmount: '0.000000'
                        timeCardPayrollPeriodName: null
                        timeCardOTAmount: '186.000000'
                        timeCardJobGuid: null
                        timeCardGuid: 44881102-32cf-11ec-b751-020855c3818f
                        timeCardRecordDate: 1628056800000
                        timeCardEmployeeCode: '56'
                        timeCardFormDataNo: null
                        timeCardWorkTradeCode: EH&S
                        timeCardPayType: HR
                        timeCardEmploymentType: null
                        timeCardOriginReference: null
                        timeCardPayrollPeriodGuid: null
                        timeCardIsDeleted: false
                      - timeCardUnionCode: Alberta
                        timeCardDTAmount: '0.000000'
                        timeCardEmployeeGuid: null
                        timeCardRate: '32.000'
                        timeCardCreatedAt: 1631046778965
                        timeCardAmountWithBurden: '0.00'
                        timeCardEquipmentGuid: null
                        timeCardAmount: '0.00'
                        timeCardShouldUpdateHoursBreakdown: true
                        timeCardPayrollPeriodStatus: null
                        timeCardEmployeeRegularHours: '8.000'
                        timeCardQuantity: '0.000'
                        timeCardPayrollPeriodEnd: null
                        timeCardIsExportedToIntegration: false
                        timeCardCompanyCode: null
                        timeCardPayrollPeriodStart: null
                        timeCardRowFormDataGuid: null
                        timeCardPhaseCode: null
                        timeCarddescription: OK
                        timeCardEmployeeOverTimeHours: '4.000'
                        timeCardRTAmount: '256.000000'
                        timeCardIsBillable: false
                        timeCardRateDoubleTime: '64.000'
                        timeCardFieldTicketGuid: null
                        timeCardRateOverTime: '48.000'
                        timeCardEquipmentCode: null
                        timeCardPayCode: null
                        timeCardJobNumber: null
                        timeCardStandardEarningDeductionType: null
                        timeCardTimeZone: America/Edmonton
                        timeCardPhaseGuid: null
                        timeCardEmployeeDoubleTimeHours: '0.000'
                        timeCardFormDataGuid: null
                        timeCardEmployeeTravelTimeHours: '0.000'
                        timeCardEclipseCompany: ''
                        timeCardSTAmount: '0.000000'
                        timeCardPayrollPeriodName: null
                        timeCardOTAmount: '192.000000'
                        timeCardJobGuid: null
                        timeCardGuid: 4489e58a-32cf-11ec-b751-020855c3818f
                        timeCardRecordDate: 1628748000000
                        timeCardEmployeeCode: DEMO9898
                        timeCardFormDataNo: null
                        timeCardWorkTradeCode: '123'
                        timeCardPayType: HR
                        timeCardEmploymentType: null
                        timeCardOriginReference: null
                        timeCardPayrollPeriodGuid: null
                        timeCardIsDeleted: false
                      - timeCardUnionCode: Alberta
                        timeCardDTAmount: '0.000000'
                        timeCardEmployeeGuid: null
                        timeCardRate: '32.000'
                        timeCardCreatedAt: 1631046778965
                        timeCardAmountWithBurden: '0.00'
                        timeCardEquipmentGuid: null
                        timeCardAmount: '0.00'
                        timeCardShouldUpdateHoursBreakdown: true
                        timeCardPayrollPeriodStatus: null
                        timeCardEmployeeRegularHours: '8.000'
                        timeCardQuantity: '0.000'
                        timeCardPayrollPeriodEnd: null
                        timeCardIsExportedToIntegration: false
                        timeCardCompanyCode: null
                        timeCardPayrollPeriodStart: null
                        timeCardRowFormDataGuid: null
                        timeCardPhaseCode: null
                        timeCarddescription: OK
                        timeCardEmployeeOverTimeHours: '4.000'
                        timeCardRTAmount: '256.000000'
                        timeCardIsBillable: false
                        timeCardRateDoubleTime: '64.000'
                        timeCardFieldTicketGuid: null
                        timeCardRateOverTime: '48.000'
                        timeCardEquipmentCode: null
                        timeCardPayCode: null
                        timeCardJobNumber: null
                        timeCardStandardEarningDeductionType: null
                        timeCardTimeZone: America/Edmonton
                        timeCardPhaseGuid: null
                        timeCardEmployeeDoubleTimeHours: '0.000'
                        timeCardFormDataGuid: null
                        timeCardEmployeeTravelTimeHours: '0.000'
                        timeCardEclipseCompany: ''
                        timeCardSTAmount: '0.000000'
                        timeCardPayrollPeriodName: null
                        timeCardOTAmount: '192.000000'
                        timeCardJobGuid: null
                        timeCardGuid: 4489e82b-32cf-11ec-b751-020855c3818f
                        timeCardRecordDate: 1628748000000
                        timeCardEmployeeCode: DEMO9898
                        timeCardFormDataNo: null
                        timeCardWorkTradeCode: '123'
                        timeCardPayType: HR
                        timeCardEmploymentType: null
                        timeCardOriginReference: null
                        timeCardPayrollPeriodGuid: null
                        timeCardIsDeleted: false
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/CurrentTimeCard:
    get:
      tags:
        - Transactions
      summary: All Current Timecards
      description: Retrieve all open current timecards in an account
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Batch-Results'
              examples:
                Example 1:
                  value:
                    value:
                      - dtype: TimeCard
                        guid: 6344bf5e-3ed3-45a3-a8bf-59e86a8e2872
                        updatedAt: 1747066007890
                      - dtype: TimeCard
                        guid: 08735041-1984-4a74-a039-132de5384c0c
                        updatedAt: 1747066007890
                      - dtype: TimeCard
                        guid: 65a062e8-9cc3-4301-89fa-363b1f7d3683
                        updatedAt: 1747066007890
                      - dtype: TimeCard
                        guid: f997adb8-1afa-4c4b-bce2-0d581f29644e
                        updatedAt: 1747066007890
                      - dtype: TimeCard
                        guid: a5a020a2-40a1-48c8-a17f-4b4af721bc41
                        updatedAt: 1747066007890
                      - dtype: TimeCard
                        guid: d5a6fa61-3aa2-4d7a-9d7a-882a434843cf
                        updatedAt: 1747066007890
                      - dtype: TimeCard
                        guid: ec3c0550-6523-4898-acad-247209af9dd8
                        updatedAt: 1747066007890
                      - dtype: TimeCard
                        guid: 924eff59-7006-41de-b70d-2f0bf28e82b2
                        updatedAt: 1747066007890
                      - dtype: TimeCard
                        guid: 13960059-e9cc-49c3-84f9-793f47b58557
                        updatedAt: 1747066007890
                      - dtype: TimeCard
                        guid: 0e7c4b2e-f0ff-482c-9c9f-ac063cbdaa71
                        updatedAt: 1747066007890
                      - dtype: TimeCard
                        guid: 5ca59e49-b21b-42df-be0c-c38ee675b9d9
                        updatedAt: 1747066007890
                      - dtype: TimeCard
                        guid: beaa6fd2-a93f-44c1-be08-5393e4f9ae55
                        updatedAt: 1747066007890
                      - dtype: TimeCard
                        guid: 236e4d64-8727-4728-a8dc-dbb2945671ef
                        updatedAt: 1747066007890
                      - dtype: TimeCard
                        guid: 69184f8d-03d5-4a18-b82a-a4b808e7a033
                        updatedAt: 1747066007890
                      - dtype: TimeCard
                        guid: f2c79c23-c8dd-409d-8c0e-e56064f583cc
                        updatedAt: 1747066007890
                      - dtype: TimeCard
                        guid: ad20c0be-1ced-4422-b40f-5fc6a07dd1c0
                        updatedAt: 1747066007890
                      - dtype: TimeCard
                        guid: eb0a8a7c-4440-492a-876c-022483ab18f8
                        updatedAt: 1747066007890
                      - dtype: TimeCard
                        guid: c64a308d-6892-422e-b9d0-14b855a9a0c5
                        updatedAt: 1747066007890
                      - dtype: TimeCard
                        guid: cd8da6ee-7f6f-4d3f-82fc-6e4f423db718
                        updatedAt: 1747066007890
                      - dtype: TimeCard
                        guid: 0168ce22-906b-47ee-9553-62f41f2b32e1
                        updatedAt: 1747066007890
                      - dtype: TimeCard
                        guid: 78e32704-927b-4e44-b4f8-5c4929d2f079
                        updatedAt: 1747066007890
                      - dtype: TimeCard
                        guid: 192d2a40-23da-4d17-9c49-ea713e62c156
                        updatedAt: 1747066007890
                      - dtype: TimeCard
                        guid: 9e135e24-f2a1-4299-9c10-202f0a4065dc
                        updatedAt: 1747066007890
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/CurrentTimeCard/{currentTimecardGuid}:
    get:
      tags:
        - Transactions
      summary: Current Timecard
      description: Retrieve one open timecard object by provided GUID
      parameters:
        - name: currentTimecardGuid
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Timecard'
              examples:
                Example 1:
                  value:
                    timeCardGuid: 6344bf5e-3ed3-45a3-a8bf-59e86a8e2872
                    timeCardRecordDate: 1745231400000
                    timeCardEmployeeGuid: 9d45a547-33d0-4eda-acf7-c3095a8d20c4
                    timeCardEmployeeCode: '30'
                    timeCardEmploymentType: DIRECT_HIRE
                    timeCardWorkTradeCode: Hourly
                    timeCardPayType: HR
                    timeCardUnionCode: Default Province
                    timeCardTimeZone: America/Winnipeg
                    timeCarddescription: OK
                    timeCardEmployeeRegularHours: '0.000'
                    timeCardRate: '0.000'
                    timeCardRTAmount: '0.000000'
                    timeCardEmployeeOverTimeHours: '2.000'
                    timeCardRateOverTime: '0.000'
                    timeCardOTAmount: '0.000000'
                    timeCardEmployeeDoubleTimeHours: '8.000'
                    timeCardRateDoubleTime: '0.000'
                    timeCardDTAmount: '0.000000'
                    timeCardEmployeeTravelTimeHours: '0.000'
                    timeCardSTAmount: '0.000000'
                    timeCardPayCode: null
                    timeCardQuantity: '0.000'
                    timeCardAmount: '0.000'
                    timeCardAmountWithBurden: '0.000'
                    timeCardJobGuid: 8dd33a3b-5843-4f9b-add9-60dbc47cd7f8
                    timeCardJobNumber: 2025-116
                    timeCardPhaseGuid: null
                    timeCardPhaseCode: null
                    timeCardEquipmentGuid: null
                    timeCardEquipmentCode: null
                    timeCardPayrollPeriodGuid: null
                    timeCardPayrollPeriodName: null
                    timeCardPayrollPeriodStart: null
                    timeCardPayrollPeriodEnd: null
                    timeCardPayrollPeriodStatus: null
                    timeCardStandardEarningDeductionType: null
                    timeCardCreatedAt: 1745934672419
                    timeCardFormDataGuid: 959D7AC6-0A94-44F2-AD5E-D4F4140C7576
                    timeCardFormDataNo: CTS2025-116-059-001
                    timeCardRowFormDataGuid: D543EB55-0B14-435E-B6AA-1709E99A8C15
                    timeCardFieldTicketGuid: null
                    timeCardOriginReference: 230017561381:d5770061-b448-11ec-bc53-02445702d617
                    timeCardShouldUpdateHoursBreakdown: true
                    timeCardCompanyCode: null
                    timeCardEclipseCompany: null
                    timeCardIsExportedToIntegration: false
                    timeCardIsDeleted: false
                    timeCardIsBillable: false
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/NRB:
    post:
      tags:
        - Transactions
      summary: Non-recurring Billable Items
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                nrbList:
                  type: array
                  items:
                    $ref: '#/components/schemas/NonrecurringBillableItem'
            examples:
              Example 1:
                value:
                  nrbList:
                    - nrbOriginReference: AP-INV-123
                      nrbJobOrderNumber: JOB20250514
                      nrbWBSSharedIdentifier: JOB20250514-01.01
                      nrbTypeName: Other
                      nrbAccountType: Billable
                      nrbIsBillable: true
                      nrbVendorCode: BIT
                      nrbInvoiceNumber: AP-INV-123
                      nrbInvoiceDate: 1743528967000
                      nrbPONumber: PO-13624
                      nrbIsExported: false
                      isInternal: false
                      nrbQuantity: 1
                      nrbRate: 750
                      nrbUpcharge: 10
                      nrbVendorTax: '37.5'
                      nrbMarkupAppliesOn: SUB_TOTAL
                      nrbNotes: Purchased field software
      responses:
        '200':
          $ref: '#/components/responses/Post-Results'
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
      x-internal: true
  /rest/api/standard/v1/NonRecurringBillableItem:
    get:
      tags:
        - Transactions
      summary: All Non-recurring Billable Items
      operationId: ''
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              examples:
                Example 1:
                  value:
                    value:
                      - dtype: NonRecurringBillableItem
                        guid: 4275051c-1839-48ce-a355-f56285fba115
                        updatedAt: 1688611282000
                      - dtype: NonRecurringBillableItem
                        guid: c9ff38f0-acda-4e92-988a-237f49569ed2
                        updatedAt: 1689633710000
                      - dtype: NonRecurringBillableItem
                        guid: 81297cf3-a591-41a6-92f1-dd32f9a9c161
                        updatedAt: 1717791118000
                      - dtype: NonRecurringBillableItem
                        guid: 9da5d968-192f-4530-9552-ff6b35e35818
                        updatedAt: 1743063003000
                      - dtype: NonRecurringBillableItem
                        guid: 45c13015-5413-4e54-8076-6ff21c0223f1
                        updatedAt: 1743063003000
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/NonRecurringBillableItem/{nrbGuid}:
    get:
      tags:
        - Transactions
      summary: Non-recurring Billable Item
      parameters:
        - name: nrbGuid
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Shared Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NonrecurringBillableItem'
              examples:
                Example 1:
                  value:
                    nrbFileName: pdf_sample.pdf
                    nrbExternalId: null
                    nrbAccountType: Billable
                    nrbCreatedByFullName: Admin Ken
                    nrbIsBillable: true
                    nrbQuantity: '1.000'
                    nrbTypeUname: other_nrb_type
                    nrbOriginReference: AP-INV-123
                    nrbLineItems:
                      - nrbLinePurchaseOrderGuid: null
                        nrbLineQuantity: '1.000'
                        nrbLineRate: '750.000'
                        nrbLineName: ''
                        nrbLineGuid: cabdd0d1-093b-4589-9ca4-9e18d83a07ec
                        nrbLineOriginReference: ''
                        nrbLinePurchaseOrderCostItemGuid: null
                        nrbLineNotes: ''
                    nrbBilledInName: null
                    nrbMarkupAppliesOn: SUB_TOTAL
                    nrbVendorGuid: d74e8cbb-c7ce-43d9-be2d-c65f0ce0af49
                    nrbWBSGuid: b0dd1584-c59a-4a10-a64e-638177a54edc
                    nrbInvoiceDate: 1743503400000
                    nrbName: null
                    nrbCreatedByUserName: admin@kentest-sandbox
                    nrbVendorTax: '37.500'
                    nrbPurchaseOrderGuid: null
                    nrbPurchaseOrderCostItemOriginReference: null
                    nrbPONumber: PO-13624
                    nrbGuid: 3f06d188-45ee-4ee0-83c3-85445748b649
                    nrbUpcharge: '10.000'
                    nrbTotalAfterMarkup: '862.50'
                    nrbNotes: Purchased field software
                    nrbRate: '750.000'
                    nrbTypeName: Other
                    nrbCreatedAt: 1747849689000
                    nrbUpdatedAt: 1747851986000
                    nrbInvoiceNumber: AP-INV-123
                    nrbIsExported: false
                    nrbBilledInGuid: null
                    isInternal: false
                    nrbVendorCode: BIT
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
      x-internal: false
  /rest/api/standard/v1/NonRecurringBillableItem/{nrbGuid}/pdf:
    get:
      tags:
        - Transactions
      summary: Non-recurring Billable Item PDF
      parameters:
        - name: nrbGuid
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/octet-stream:
              schema:
                type: object
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/FormData/{formDataGuid}:
    get:
      tags:
        - Transactions
      summary: FormData
      parameters:
        - name: formDataGuid
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/FormData:
    post:
      tags:
        - Transactions
      summary: FormData
      requestBody:
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
    get:
      tags:
        - Transactions
      summary: All FormData
      responses:
        '200':
          description: OK
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/FieldTicket:
    get:
      tags:
        - Transactions
      summary: All FieldTicket
      responses:
        '200':
          description: OK
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/FieldTicket/{fieldTicketGuid}:
    get:
      tags:
        - Transactions
      summary: FieldTicket
      parameters:
        - name: fieldTicketGuid
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/BinaryFile/{binaryFileId}:
    get:
      tags:
        - Transactions
      summary: BinaryFile
      description: >-
        Retrieve the binary file of an image/file attachment. `binaryFileId` can
        be retrieved through our Azure DB connection using query `SELECT TOP
        (10) image_attachment_file_identifier FROM
        [dbo].[form_<form_uname>_image_attachments_section]`
      parameters:
        - name: binaryFileId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/User:
    post:
      tags:
        - Users
      summary: User
      description: >-
        Create/update new user(s). To set/reset password, use `Initiate Password
        Reset` request
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                userList:
                  type: array
                  items:
                    $ref: '#/components/schemas/User'
            examples:
              Example 1:
                value:
                  userList:
                    - userName: testUser@kentest-sandbox
                      userFirstName: New
                      userRoleNames:
                        - Field Worker
                      userLastName: User
                      userPhone: 604-423-1532
                      userEmail: ken.bui@aimsio.com
                      userIsActive: true
      responses:
        '200':
          $ref: '#/components/responses/Post-Results'
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
  /rest/api/standard/v1/InitiatePasswordReset:
    post:
      tags:
        - Users
      summary: Initiate Password Reset
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                userName:
                  type: string
            examples:
              Example 1:
                value:
                  userName: testUser@kentest-sandbox
      responses:
        '200':
          $ref: '#/components/responses/Post-Results'
      security:
        - basicAuth: []
      servers:
        - url: https://sandbox.aimsio.com
          description: Sandbox
        - url: https://portal.aimsio.com
          description: Production
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
  responses:
    Batch-Results:
      description: OK
      content:
        application/json:
          schema:
            type: object
            properties:
              value:
                type: array
                items:
                  type: object
                  properties:
                    dtype:
                      type: string
                      description: Type of queried objects
                    guid:
                      type: string
                      description: Unique identifier. Mutually exclusive with `id`
                    id:
                      type: integer
                      description: Unique identifier. Mutually exclusive with `guid`
                    updatedAt:
                      type: integer
            x-examples:
              Example 1:
                value:
                  - dtype: NonRecurringBillableItem
                    guid: 4275051c-1839-48ce-a355-f56285fba115
                    updatedAt: 1688611282000
          examples:
            Example 1:
              value:
                - dtype: FreeInvoice
                  id: 4126
                  updatedAt: 1637085133000
                - dtype: FreeInvoice
                  id: 4128
                  updatedAt: 1637097401000
                - dtype: FreeInvoice
                  id: 4137
                  updatedAt: 1746815305000
                - dtype: FreeInvoice
                  id: 4146
                  updatedAt: 1637340266000
                - dtype: FreeInvoice
                  id: 4155
                  updatedAt: 1637362091000
                - dtype: FreeInvoice
                  id: 4166
                  updatedAt: 1637776545000
                - dtype: FreeInvoice
                  id: 4167
                  updatedAt: 1637795637000
                - dtype: FreeInvoice
                  id: 4168
                  updatedAt: 1637962759000
                - dtype: FreeInvoice
                  id: 4180
                  updatedAt: 1638315915000
                - dtype: FreeInvoice
                  id: 4191
                  updatedAt: 1638396990000
                - dtype: FreeInvoice
                  id: 4205
                  updatedAt: 1638557820000
                - dtype: FreeInvoice
                  id: 4224
                  updatedAt: 1638915592000
                - dtype: FreeInvoice
                  id: 4230
                  updatedAt: 1639072922000
                - dtype: FreeInvoice
                  id: 4231
                  updatedAt: 1639086030000
                - dtype: FreeInvoice
                  id: 4244
                  updatedAt: 1639675259000
                - dtype: FreeInvoice
                  id: 4250
                  updatedAt: 1639772165000
                - dtype: FreeInvoice
                  id: 4252
                  updatedAt: 1640036784000
                - dtype: FreeInvoice
                  id: 4253
                  updatedAt: 1640044892000
                - dtype: FreeInvoice
                  id: 4331
                  updatedAt: 1642028899000
                - dtype: FreeInvoice
                  id: 4549
                  updatedAt: 1648052046000
                - dtype: FreeInvoice
                  id: 4720
                  updatedAt: 1663964683000
                - dtype: FreeInvoice
                  id: 4812
                  updatedAt: 1680637425000
                - dtype: FreeInvoice
                  id: 5609
                  updatedAt: 1675410190000
                - dtype: FreeInvoice
                  id: 6067
                  updatedAt: 1680642087000
                - dtype: FreeInvoice
                  id: 6068
                  updatedAt: 1680642209000
                - dtype: FreeInvoice
                  id: 6139
                  updatedAt: 1682006131000
                - dtype: FreeInvoice
                  id: 6147
                  updatedAt: 1682357470000
                - dtype: FreeInvoice
                  id: 6199
                  updatedAt: 1683570710000
                - dtype: FreeInvoice
                  id: 6385
                  updatedAt: 1689704944000
                - dtype: FreeInvoice
                  id: 6417
                  updatedAt: 1690217465000
                - dtype: FreeInvoice
                  id: 6470
                  updatedAt: 1689878364000
                - dtype: FreeInvoice
                  id: 6484
                  updatedAt: 1690311995000
                - dtype: FreeInvoice
                  id: 6485
                  updatedAt: 1690313330000
                - dtype: FreeInvoice
                  id: 6487
                  updatedAt: 1690320276000
                - dtype: FreeInvoice
                  id: 6512
                  updatedAt: 1690563728000
                - dtype: FreeInvoice
                  id: 6535
                  updatedAt: 1691005865000
                - dtype: FreeInvoice
                  id: 6540
                  updatedAt: 1691165166000
                - dtype: FreeInvoice
                  id: 6550
                  updatedAt: 1691526430000
                - dtype: FreeInvoice
                  id: 6551
                  updatedAt: 1691527750000
                - dtype: FreeInvoice
                  id: 6573
                  updatedAt: 1691698622000
                - dtype: FreeInvoice
                  id: 6577
                  updatedAt: 1691704557000
                - dtype: FreeInvoice
                  id: 6590
                  updatedAt: 1692121923000
                - dtype: FreeInvoice
                  id: 6591
                  updatedAt: 1692122235000
                - dtype: FreeInvoice
                  id: 6601
                  updatedAt: 1692216133000
                - dtype: FreeInvoice
                  id: 6607
                  updatedAt: 1692290176000
                - dtype: FreeInvoice
                  id: 6608
                  updatedAt: 1692290192000
                - dtype: FreeInvoice
                  id: 6633
                  updatedAt: 1692722611000
                - dtype: FreeInvoice
                  id: 6636
                  updatedAt: 1692739314000
                - dtype: FreeInvoice
                  id: 6641
                  updatedAt: 1692809498000
                - dtype: FreeInvoice
                  id: 6672
                  updatedAt: 1693337246000
                - dtype: FreeInvoice
                  id: 6676
                  updatedAt: 1693419514000
                - dtype: FreeInvoice
                  id: 6677
                  updatedAt: 1693423126000
                - dtype: FreeInvoice
                  id: 6687
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 6690
                  updatedAt: 1693587082000
                - dtype: FreeInvoice
                  id: 6698
                  updatedAt: 1693934959000
                - dtype: FreeInvoice
                  id: 6699
                  updatedAt: 1693936877000
                - dtype: FreeInvoice
                  id: 6707
                  updatedAt: 1694030227000
                - dtype: FreeInvoice
                  id: 6708
                  updatedAt: 1694030804000
                - dtype: FreeInvoice
                  id: 6709
                  updatedAt: 1694032246000
                - dtype: FreeInvoice
                  id: 6714
                  updatedAt: 1694206914000
                - dtype: FreeInvoice
                  id: 6719
                  updatedAt: 1694462580000
                - dtype: FreeInvoice
                  id: 6731
                  updatedAt: 1695055926000
                - dtype: FreeInvoice
                  id: 6753
                  updatedAt: 1695056083000
                - dtype: FreeInvoice
                  id: 6767
                  updatedAt: 1695175647000
                - dtype: FreeInvoice
                  id: 6768
                  updatedAt: 1695175955000
                - dtype: FreeInvoice
                  id: 6773
                  updatedAt: 1695314245000
                - dtype: FreeInvoice
                  id: 6785
                  updatedAt: 1695399671000
                - dtype: FreeInvoice
                  id: 6786
                  updatedAt: 1695407760000
                - dtype: FreeInvoice
                  id: 6787
                  updatedAt: 1695651570000
                - dtype: FreeInvoice
                  id: 6803
                  updatedAt: 1695766242000
                - dtype: FreeInvoice
                  id: 6816
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 6817
                  updatedAt: 1696429248000
                - dtype: FreeInvoice
                  id: 6850
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 6864
                  updatedAt: 1697041964000
                - dtype: FreeInvoice
                  id: 6865
                  updatedAt: 1697053129000
                - dtype: FreeInvoice
                  id: 6866
                  updatedAt: 1697058315000
                - dtype: FreeInvoice
                  id: 6879
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 6891
                  updatedAt: 1697561803000
                - dtype: FreeInvoice
                  id: 6895
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 6902
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 6909
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 6916
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 6919
                  updatedAt: 1698253170000
                - dtype: FreeInvoice
                  id: 6922
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 6931
                  updatedAt: 1698342162000
                - dtype: FreeInvoice
                  id: 6932
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 6933
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 6936
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 6937
                  updatedAt: 1698357860000
                - dtype: FreeInvoice
                  id: 6938
                  updatedAt: 1698358186000
                - dtype: FreeInvoice
                  id: 6940
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 6968
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 6982
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 6985
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7001
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7019
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7038
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7065
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7071
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7105
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7135
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7137
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7145
                  updatedAt: 1700586945000
                - dtype: FreeInvoice
                  id: 7151
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7152
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7153
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7155
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7157
                  updatedAt: 1700675560000
                - dtype: FreeInvoice
                  id: 7158
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7189
                  updatedAt: 1701203310000
                - dtype: FreeInvoice
                  id: 7197
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7201
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7233
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7246
                  updatedAt: 1702055109000
                - dtype: FreeInvoice
                  id: 7254
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7255
                  updatedAt: 1702401006000
                - dtype: FreeInvoice
                  id: 7275
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7276
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7277
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7280
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7288
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7304
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7317
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7338
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7342
                  updatedAt: 1704823374000
                - dtype: FreeInvoice
                  id: 7350
                  updatedAt: 1704832571000
                - dtype: FreeInvoice
                  id: 7351
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7353
                  updatedAt: 1704908501000
                - dtype: FreeInvoice
                  id: 7361
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7365
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7369
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7371
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7376
                  updatedAt: 1705513696000
                - dtype: FreeInvoice
                  id: 7384
                  updatedAt: 1705521385000
                - dtype: FreeInvoice
                  id: 7385
                  updatedAt: 1707948620000
                - dtype: FreeInvoice
                  id: 7386
                  updatedAt: 1705528249000
                - dtype: FreeInvoice
                  id: 7408
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7414
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7434
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7435
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7436
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7441
                  updatedAt: 1706654311000
                - dtype: FreeInvoice
                  id: 7443
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7467
                  updatedAt: 1707238949000
                - dtype: FreeInvoice
                  id: 7468
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7472
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7473
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7481
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7500
                  updatedAt: 1707934314000
                - dtype: FreeInvoice
                  id: 7501
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7502
                  updatedAt: 1708014042000
                - dtype: FreeInvoice
                  id: 7503
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7507
                  updatedAt: 1708031950000
                - dtype: FreeInvoice
                  id: 7509
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7511
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7512
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7515
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7517
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7518
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7519
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7520
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7521
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7522
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7523
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7524
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7525
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7526
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7541
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7544
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7562
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7563
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7598
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7620
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7625
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7629
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7634
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7636
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7642
                  updatedAt: 1710874089000
                - dtype: FreeInvoice
                  id: 7693
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7697
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7698
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7704
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7705
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7716
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7718
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7722
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7733
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7734
                  updatedAt: 1712682770000
                - dtype: FreeInvoice
                  id: 7735
                  updatedAt: 1712689505000
                - dtype: FreeInvoice
                  id: 7750
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7751
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7759
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7760
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7762
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7768
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7770
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7771
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7772
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7776
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7787
                  updatedAt: 1714610733000
                - dtype: FreeInvoice
                  id: 7803
                  updatedAt: 1715205756000
                - dtype: FreeInvoice
                  id: 7809
                  updatedAt: 1715272274000
                - dtype: FreeInvoice
                  id: 7810
                  updatedAt: 1715356478000
                - dtype: FreeInvoice
                  id: 7811
                  updatedAt: 1715705833000
                - dtype: FreeInvoice
                  id: 7812
                  updatedAt: 1715882257000
                - dtype: FreeInvoice
                  id: 7825
                  updatedAt: 1716478537000
                - dtype: FreeInvoice
                  id: 7828
                  updatedAt: 1716493023000
                - dtype: FreeInvoice
                  id: 7833
                  updatedAt: 1716574262000
                - dtype: FreeInvoice
                  id: 7834
                  updatedAt: 1716579319000
                - dtype: FreeInvoice
                  id: 7835
                  updatedAt: 1716831730000
                - dtype: FreeInvoice
                  id: 7836
                  updatedAt: 1716833692000
                - dtype: FreeInvoice
                  id: 7838
                  updatedAt: 1716843807000
                - dtype: FreeInvoice
                  id: 7839
                  updatedAt: 1716852301000
                - dtype: FreeInvoice
                  id: 7840
                  updatedAt: 1716852874000
                - dtype: FreeInvoice
                  id: 7842
                  updatedAt: 1716929586000
                - dtype: FreeInvoice
                  id: 7847
                  updatedAt: 1717019332000
                - dtype: FreeInvoice
                  id: 7853
                  updatedAt: 1717087568000
                - dtype: FreeInvoice
                  id: 7854
                  updatedAt: 1717097102000
                - dtype: FreeInvoice
                  id: 7856
                  updatedAt: 1717614952000
                - dtype: FreeInvoice
                  id: 7860
                  updatedAt: 1717181709000
                - dtype: FreeInvoice
                  id: 7878
                  updatedAt: 1717703167000
                - dtype: FreeInvoice
                  id: 7879
                  updatedAt: 1717783729000
                - dtype: FreeInvoice
                  id: 7884
                  updatedAt: 1718124991000
                - dtype: FreeInvoice
                  id: 7885
                  updatedAt: 1718210430000
                - dtype: FreeInvoice
                  id: 7886
                  updatedAt: 1718226239000
                - dtype: FreeInvoice
                  id: 7890
                  updatedAt: 1718317125000
                - dtype: FreeInvoice
                  id: 7891
                  updatedAt: 1718317541000
                - dtype: FreeInvoice
                  id: 7892
                  updatedAt: 1718643049000
                - dtype: FreeInvoice
                  id: 7893
                  updatedAt: 1718649819000
                - dtype: FreeInvoice
                  id: 7894
                  updatedAt: 1718657411000
                - dtype: FreeInvoice
                  id: 7908
                  updatedAt: 1718819252000
                - dtype: FreeInvoice
                  id: 7909
                  updatedAt: 1718835459000
                - dtype: FreeInvoice
                  id: 7932
                  updatedAt: 1719523930000
                - dtype: FreeInvoice
                  id: 7938
                  updatedAt: 1720026442000
                - dtype: FreeInvoice
                  id: 7964
                  updatedAt: 1720464168000
                - dtype: FreeInvoice
                  id: 7969
                  updatedAt: 1720476906000
                - dtype: FreeInvoice
                  id: 7970
                  updatedAt: 1720477736000
                - dtype: FreeInvoice
                  id: 7977
                  updatedAt: 1720719998000
                - dtype: FreeInvoice
                  id: 7982
                  updatedAt: 1720806522000
                - dtype: FreeInvoice
                  id: 7983
                  updatedAt: 1720816145000
                - dtype: FreeInvoice
                  id: 7988
                  updatedAt: 1721079011000
                - dtype: FreeInvoice
                  id: 7991
                  updatedAt: 1721160960000
                - dtype: FreeInvoice
                  id: 7992
                  updatedAt: 1721162654000
                - dtype: FreeInvoice
                  id: 7994
                  updatedAt: 1721242738000
                - dtype: FreeInvoice
                  id: 7997
                  updatedAt: 1721322259000
                - dtype: FreeInvoice
                  id: 7998
                  updatedAt: 1721322790000
                - dtype: FreeInvoice
                  id: 8000
                  updatedAt: 1721331727000
                - dtype: FreeInvoice
                  id: 8002
                  updatedAt: 1721407904000
                - dtype: FreeInvoice
                  id: 8003
                  updatedAt: 1721416977000
                - dtype: FreeInvoice
                  id: 8008
                  updatedAt: 1721687339000
                - dtype: FreeInvoice
                  id: 8009
                  updatedAt: 1721751647000
                - dtype: FreeInvoice
                  id: 8022
                  updatedAt: 1721852593000
                - dtype: FreeInvoice
                  id: 8034
                  updatedAt: 1722281547000
                - dtype: FreeInvoice
                  id: 8038
                  updatedAt: 1722374759000
                - dtype: FreeInvoice
                  id: 8039
                  updatedAt: 1722376108000
                - dtype: FreeInvoice
                  id: 8042
                  updatedAt: 1722445322000
                - dtype: FreeInvoice
                  id: 8043
                  updatedAt: 1722454860000
                - dtype: FreeInvoice
                  id: 8048
                  updatedAt: 1722541455000
                - dtype: FreeInvoice
                  id: 8049
                  updatedAt: 1722541593000
                - dtype: FreeInvoice
                  id: 8052
                  updatedAt: 1722621433000
                - dtype: FreeInvoice
                  id: 8053
                  updatedAt: 1722622568000
                - dtype: FreeInvoice
                  id: 8059
                  updatedAt: 1722969358000
                - dtype: FreeInvoice
                  id: 8061
                  updatedAt: 1722977922000
                - dtype: FreeInvoice
                  id: 8062
                  updatedAt: 1723048523000
                - dtype: FreeInvoice
                  id: 8063
                  updatedAt: 1723048570000
                - dtype: FreeInvoice
                  id: 8090
                  updatedAt: 1723564798000
                - dtype: FreeInvoice
                  id: 8091
                  updatedAt: 1723573906000
                - dtype: FreeInvoice
                  id: 8093
                  updatedAt: 1723584720000
                - dtype: FreeInvoice
                  id: 8103
                  updatedAt: 1723662106000
                - dtype: FreeInvoice
                  id: 8110
                  updatedAt: 1724169644000
                - dtype: FreeInvoice
                  id: 8113
                  updatedAt: 1724181578000
                - dtype: FreeInvoice
                  id: 8120
                  updatedAt: 1724343147000
                - dtype: FreeInvoice
                  id: 8121
                  updatedAt: 1724344043000
                - dtype: FreeInvoice
                  id: 8123
                  updatedAt: 1724440793000
                - dtype: FreeInvoice
                  id: 8125
                  updatedAt: 1724696870000
                - dtype: FreeInvoice
                  id: 8126
                  updatedAt: 1724791426000
                - dtype: FreeInvoice
                  id: 8131
                  updatedAt: 1724874022000
                - dtype: FreeInvoice
                  id: 8133
                  updatedAt: 1724878484000
                - dtype: FreeInvoice
                  id: 8135
                  updatedAt: 1724885666000
                - dtype: FreeInvoice
                  id: 8146
                  updatedAt: 1724960111000
                - dtype: FreeInvoice
                  id: 8152
                  updatedAt: 1725381761000
                - dtype: FreeInvoice
                  id: 8155
                  updatedAt: 1725550757000
                - dtype: FreeInvoice
                  id: 8162
                  updatedAt: 1725551401000
                - dtype: FreeInvoice
                  id: 8163
                  updatedAt: 1725551657000
                - dtype: FreeInvoice
                  id: 8164
                  updatedAt: 1725568636000
                - dtype: FreeInvoice
                  id: 8165
                  updatedAt: 1725569203000
                - dtype: FreeInvoice
                  id: 8168
                  updatedAt: 1725650078000
                - dtype: FreeInvoice
                  id: 8169
                  updatedAt: 1725659822000
                - dtype: FreeInvoice
                  id: 8171
                  updatedAt: 1728491257000
                - dtype: FreeInvoice
                  id: 8189
                  updatedAt: 1728491257000
                - dtype: FreeInvoice
                  id: 8190
                  updatedAt: 1728491256000
                - dtype: FreeInvoice
                  id: 8191
                  updatedAt: 1728491256000
                - dtype: FreeInvoice
                  id: 8192
                  updatedAt: 1728491256000
                - dtype: FreeInvoice
                  id: 8201
                  updatedAt: 1728491256000
                - dtype: FreeInvoice
                  id: 8204
                  updatedAt: 1728491256000
                - dtype: FreeInvoice
                  id: 8206
                  updatedAt: 1728491256000
                - dtype: FreeInvoice
                  id: 8207
                  updatedAt: 1728491255000
                - dtype: FreeInvoice
                  id: 8210
                  updatedAt: 1728491255000
                - dtype: FreeInvoice
                  id: 8211
                  updatedAt: 1728491255000
                - dtype: FreeInvoice
                  id: 8216
                  updatedAt: 1728491254000
                - dtype: FreeInvoice
                  id: 8217
                  updatedAt: 1728491254000
                - dtype: FreeInvoice
                  id: 8218
                  updatedAt: 1728491254000
                - dtype: FreeInvoice
                  id: 8219
                  updatedAt: 1728491253000
                - dtype: FreeInvoice
                  id: 8247
                  updatedAt: 1728491253000
                - dtype: FreeInvoice
                  id: 8259
                  updatedAt: 1728491253000
                - dtype: FreeInvoice
                  id: 8268
                  updatedAt: 1728491253000
                - dtype: FreeInvoice
                  id: 8288
                  updatedAt: 1728491252000
                - dtype: FreeInvoice
                  id: 8291
                  updatedAt: 1728493954000
                - dtype: FreeInvoice
                  id: 8292
                  updatedAt: 1728503951000
                - dtype: FreeInvoice
                  id: 8295
                  updatedAt: 1728678469000
                - dtype: FreeInvoice
                  id: 8297
                  updatedAt: 1729098640000
                - dtype: FreeInvoice
                  id: 8298
                  updatedAt: 1729114071000
                - dtype: FreeInvoice
                  id: 8299
                  updatedAt: 1729117518000
                - dtype: FreeInvoice
                  id: 8300
                  updatedAt: 1729185253000
                - dtype: FreeInvoice
                  id: 8308
                  updatedAt: 1729527160000
                - dtype: FreeInvoice
                  id: 8309
                  updatedAt: 1729615952000
                - dtype: FreeInvoice
                  id: 8312
                  updatedAt: 1729625632000
                - dtype: FreeInvoice
                  id: 8313
                  updatedAt: 1729630501000
                - dtype: FreeInvoice
                  id: 8315
                  updatedAt: 1729637066000
                - dtype: FreeInvoice
                  id: 8318
                  updatedAt: 1729707515000
                - dtype: FreeInvoice
                  id: 8323
                  updatedAt: 1730147687000
    Single-Result:
      description: ''
    Post-Results:
      description: ''
      content:
        application/json:
          schema:
            type: object
            properties:
              dtype:
                type: string
                default: IntegrationImportResult
              id:
                type: integer
              guid:
                type: string
              importConfiguration:
                type: string
              numberOfEntitiesCreated:
                type: integer
              numberOfEntitiesEdited:
                type: integer
              numberOfEntitiesEditedWithErrors:
                type: integer
              numberOfEntitiesNotImportedDueToErrors:
                type: integer
              extra:
                type: string
              notices:
                type: array
                items:
                  type: object
              updatedAt:
                type: integer
              importResultType:
                type: string
              numberOfEntitiesImported:
                type: integer
            x-examples:
              Example 1:
                dtype: IntegrationImportResult
                id: 0
                guid: 4b3f8eef-4307-4068-ba88-9ef491945122
                importConfiguration: null
                numberOfEntitiesCreated: 0
                numberOfEntitiesEdited: 1
                numberOfEntitiesEditedWithErrors: 0
                numberOfEntitiesNotImportedDueToErrors: 0
                extra: null
                notices: []
                updatedAt: 1746815305412
                importResultType: null
                numberOfEntitiesImported: 1
          examples:
            Example 1:
              value:
                dtype: IntegrationImportResult
                id: 0
                guid: 4b3f8eef-4307-4068-ba88-9ef491945122
                importConfiguration: null
                numberOfEntitiesCreated: 0
                numberOfEntitiesEdited: 1
                numberOfEntitiesEditedWithErrors: 0
                numberOfEntitiesNotImportedDueToErrors: 0
                extra: null
                notices: []
                updatedAt: 1746815305412
                importResultType: null
                numberOfEntitiesImported: 1
  schemas:
    BillableItem:
      type: object
      properties:
        billableItemGuid:
          type: string
          description: "Unique identifier and is automatically generated by Aimsio system.\r\n This is only used to update existing object"
        billableItemCode:
          type: string
          description: "Unique identifier, visible to end users.\r\nRequired for creating or updating an object"
        billableItemName:
          type: string
        billableItemTypeUname:
          type: string
          enum:
            - labour
            - equipment
            - material
            - service
            - unit_billing
            - per_diem
            - accommodation
            - mileage
            - surcharge
          description: >-
            Required when creating a new object. Either `billableItemTypeUname`
            or `billableItemTypeName` is required
        billableItemTypeName:
          type: string
          description: >-
            Required when creating a new object. Either `billableItemTypeUname`
            or `billableItemTypeName` is required
        billableItemIsTrade:
          type: boolean
          description: Set this to true if `billableItemTypeName` = 'Labour'
        billableItemIsEquipment:
          type: boolean
          description: Set this to true if `billableItemTypeName` = 'Equipment'
        billableItemCategory:
          type: string
        billableItemDescription:
          type: string
        billableItemStatus:
          type: string
        billableItemDefaultRate:
          type: number
        billableItemDefaultRateType:
          type: string
          description: >-
            Either `billableItemDefaultRateType` or
            `billableItemDefaultRateTypeUname` is required'
        billableItemDefaultRateTypeUname:
          type: string
          description: >-
            Either `billableItemDefaultRateType` or
            `billableItemDefaultRateTypeUname` is required'
        billableItemDefaultRate2:
          type: number
        billableItemDefaultRateType2:
          type: string
          description: >-
            If `billableItemDefaultRate2` is provided, either
            `billableItemDefaultRateType2` or
            `billableItemDefaultRateTypeUname2` is required
        billableItemDefaultRateTypeUname2:
          type: string
          description: >-
            If `billableItemDefaultRate2` is provided, either
            `billableItemDefaultRateType2` or
            `billableItemDefaultRateTypeUname2` is required
        billableItemDefaultRate3:
          type: number
        billableItemDefaultRateType3:
          type: string
          description: >-
            If `billableItemDefaultRate3` is provided, either
            `billableItemDefaultRateType3` or
            `billableItemDefaultRateTypeUname3` is required
        billableItemDefaultRateTypeUname3:
          type: string
          description: >-
            If `billableItemDefaultRate3` is provided, either
            `billableItemDefaultRateType3` or
            `billableItemDefaultRateTypeUname3` is required
        billableItemDefaultCost:
          type: number
          description: Cost Rates are only available for certain customer tiers
        billableItemDefaultCost2:
          type: number
          description: Cost Rates are only available for certain customer tiers
        billableItemDefaultCost3:
          type: number
          description: Cost Rates are only available for certain customer tiers
        billableItemGlAccountNumber:
          type: string
          description: "Applicable to accounts with GL Account master data enabled. \r\nMust be an existing GL Account number"
        billableItemGlAccountInfo:
          type: string
          readOnly: true
        billableItemCreatedAt:
          type: integer
          description: Timestamp in epoch millseconds
          readOnly: true
        billableItemCreatedByUserName:
          type: string
          readOnly: true
        billableItemCreatedByFullName:
          type: string
          readOnly: true
        billableItemUpdatedAt:
          type: integer
          description: Timestamp in epoch millseconds
        billableItemLastModifiedByUserName:
          type: string
          readOnly: true
        billableItemLastModifiedByFullName:
          type: string
          readOnly: true
        billableItemIsDeleted:
          type: boolean
          readOnly: true
        billableItemFormData:
          $ref: '#/components/schemas/Additional-FormData'
        customFieldDataList:
          type: array
          writeOnly: true
          items:
            $ref: '#/components/schemas/CustomFieldData'
      required:
        - billableItemCode
        - billableItemName
        - billableItemTypeName
        - billableItemIsTrade
        - billableItemIsEquipment
        - billableItemDefaultRate
        - billableItemDefaultRateType
      x-examples:
        Example 1:
          billableItemGuid: 587bbf61-0d55-4098-9470-0ae1a71cd41b
          billableItemCode: ACC-CAMP
          billableItemName: Camp Accommodation
          billableItemTypeUname: accommodation
          billableItemTypeName: Accommodation
          billableItemIsTrade: false
          billableItemIsEquipment: false
          billableItemCategory: ''
          billableItemDescription: Camp charges for full lodging, meals, etc.
          billableItemStatus: CampCamp charges for full lodging, meals, etc.
          billableItemDefaultRate: '1050.000'
          billableItemDefaultRateType: Each
          billableItemDefaultRate2: '850.000'
          billableItemDefaultRateType2: Daily
          billableItemDefaultRate3: '275.000'
          billableItemDefaultRateType3: Hourly
          billableItemDefaultCost: '525.000'
          billableItemDefaultCost2: null
          billableItemDefaultCost3: null
          billableItemGlAccountNumber: null
          billableItemGlAccountInfo: null
          billableItemCreatedAt: 1687892271809
          billableItemCreatedByUserName: admin@concorde-sandbox
          billableItemCreatedByFullName: Aimsio Concorde
          billableItemUpdatedAt: 1736872573916
          billableItemLastModifiedByUserName: admin@concorde-sandbox
          billableItemLastModifiedByFullName: Aimsio Concorde
          billableItemIsDeleted: false
      x-tags:
        - Master Data
    Additional-FormData:
      type: object
      title: Additional Form Data (attached to objects)
      description: >-
        Read-only schema used in GET requests to display object's custom fields
        data. For POST requests, refer to `CustomFieldDataList`
      properties:
        formDataFormTypeUname:
          type: string
          readOnly: true
        formDataGuid:
          type: string
          readOnly: true
        formDataFieldDataList:
          type: array
          readOnly: true
          items:
            type: object
            properties:
              fieldDataFieldTypeDataType:
                type: string
              fieldDataFieldTypeUname:
                type: string
              fieldDataFieldTypeLabel:
                type: string
              fieldDataStringValue:
                type: string
              fieldDataReferenceValue:
                type: string
      x-examples:
        Example 1:
          formDataFormTypeUname: pricebook_general_additional_info
          formDataGuid: fb5b1735-222f-4687-9e71-56965c50a557
          formDataFieldDataList:
            - fieldDataFieldTypeDataType: SectionFieldData
              fieldDataFieldTypeUname: billable_name_override_section
              fieldDataFieldTypeLabel: Billable Name Override
            - fieldDataFieldTypeDataType: SectionFieldData
              fieldDataFieldTypeUname: applicable_surcharge_section
              fieldDataFieldTypeLabel: Applicable Surcharge
            - fieldDataFieldTypeDataType: FreeTextFieldData
              fieldDataStringValue: null
              fieldDataFieldTypeUname: billable_name_override
              fieldDataFieldTypeLabel: Billable Name Override
            - fieldDataReferenceValue: null
              fieldDataFieldTypeDataType: LookupFieldData
              fieldDataStringValue: ''
              fieldDataFieldTypeUname: applicable_surcharge_1
              fieldDataFieldTypeLabel: Surcharge 1
            - fieldDataReferenceValue: null
              fieldDataFieldTypeDataType: LookupFieldData
              fieldDataStringValue: ''
              fieldDataFieldTypeUname: applicable_surcharge_2
              fieldDataFieldTypeLabel: Surcharge 2
      x-tags:
        - Custom Data
    CustomFieldData:
      type: object
      description: >-
        Write-only schema used in POST requests to create/update object's custom
        fields data. Please contact Aimsio support/integration team for list of
        valid fields.
      properties:
        customFieldDataDtype:
          type: string
          enum:
            - NumberFieldData
            - FreeTextFieldData
            - Integer64FieldData
            - LookupFieldData
            - SelectFieldData
            - BooleanFieldData
            - TableFieldData
        customFieldDataUname:
          type: string
          description: Unique identifier/key for the custom field
        customFieldDataStringValue:
          type: string
          description: Required if `customFieldDataDtype` is not `BooleanFieldData`
        customFieldDataBooleanValue:
          type: boolean
          description: Required if `customFieldDataDtype` is `BooleanFieldData`
      x-tags:
        - Custom Data
    Batch-Results:
      type: object
      properties:
        value:
          type: array
          items:
            type: object
            properties:
              dtype:
                type: string
                description: Type of objects being returned
              guid:
                type: string
                description: >-
                  Object unique identifier. Either `guid` or `id` will be
                  returned, depends on the type of queried objects.
              id:
                type: integer
              updatedAt:
                type: integer
                description: Timestamp in epoch milliseconds
      x-examples: {}
      x-tags:
        - Custom Data
    Pricebook:
      type: object
      properties:
        priceBookGuid:
          type: string
        priceBookName:
          type: string
        priceBookAction:
          type: string
          enum:
            - ADD_OR_UPDATE
            - REPLACE
          writeOnly: true
        priceBookIsDeleted:
          type: boolean
          readOnly: true
        priceBookCreatedAt:
          type: integer
          readOnly: true
        priceBookCreatedByUserName:
          type: string
          readOnly: true
        priceBookCreatedByFullName:
          type: string
          readOnly: true
        priceBookUpdatedAt:
          type: integer
          readOnly: true
        priceBookLastModifiedByUserName:
          type: string
          readOnly: true
        priceBookLastModifiedByFullName:
          type: string
          readOnly: true
        priceBookOriginReference:
          type: string
        priceItemList:
          type: array
          items:
            $ref: '#/components/schemas/PriceItem'
      required:
        - priceBookName
        - priceBookAction
        - priceItemList
      x-examples:
        Example 1:
          priceBookGuid: fc905bff-cb60-4bef-9a2b-b4dac5cde7ea
          priceBookName: Oxy 2024
          priceBookIsDeleted: false
          priceBookCreatedAt: 1701115062333
          priceBookUpdatedAt: 1701115088677
          priceBookCreatedByUserName: admin-ultimate@concorde-sandbox
          priceBookCreatedByFullName: Aimsio Ultimate
          priceBookLastModifiedByUserName: admin-ultimate@concorde-sandbox
          priceBookLastModifiedByFullName: Aimsio Ultimate
          priceBookOriginReference: null
          priceItemList: []
      x-tags:
        - Master Data
    PriceItem:
      type: object
      properties:
        priceItemBillableItemGuid:
          type: string
          readOnly: true
        priceItemBillableItemName:
          type: string
        priceItemBillableItemCode:
          type: string
        priceItemRate:
          type: number
        priceItemRateTypeUname:
          type: string
          description: Either `priceItemRateTypeUname` or `priceItemRateType` is required
        priceItemRateType:
          type: string
        priceItemRate2:
          type: number
        priceItemRateTypeUname2:
          type: string
          description: >-
            If `priceItemRate2` is provided, either
            `billableItemDefaultRateType2` or
            `billableItemDefaultRateTypeUname2` is required
        priceItemRateType2:
          type: string
        priceItemRate3:
          type: number
        priceItemRateTypeUname3:
          type: string
          description: >-
            If `priceItemRate3` is provided, either
            `billableItemDefaultRateType3` or
            `billableItemDefaultRateTypeUname3` is required
        priceItemRateType3:
          type: string
        priceItemDefaultCost:
          type: number
        priceItemDefaultCost2:
          type: number
        priceItemDefaultCost3:
          type: number
        priceItemBillableItemIsDeleted:
          type: boolean
          readOnly: true
        priceItemFormData:
          $ref: '#/components/schemas/Additional-FormData'
        customFieldDataList:
          type: array
          writeOnly: true
          items:
            $ref: '#/components/schemas/CustomFieldData'
      required:
        - priceItemBillableItemName
        - priceItemBillableItemCode
        - priceItemRate
        - priceItemRateTypeUname
      x-examples:
        Example 1:
          priceItemDefaultCost2: null
          priceItemBillableItemGuid: 587bbf61-0d55-4098-9470-0ae1a71cd41b
          priceItemBillableItemName: Camp Accommodation
          priceItemRate3: '275.000'
          priceItemRate2: '850.000'
          priceItemRateType2: Daily
          priceItemRateType3: Hourly
          priceItemRateType: Each
          priceItemDefaultCost: '525.000'
          priceItemBillableItemCode: ACC-CAMP
          priceItemBillableItemIsDeleted: false
          priceItemRate: '1050.000'
          priceItemDefaultCost3: null
      x-tags:
        - Master Data
    Equipment:
      type: object
      properties:
        assetGuid:
          type: string
          description: "Unique identifier and is automatically generated by Aimsio system.\r\n This is only used to update existing object"
        assetCode:
          type: string
          description: "Unique identifier, visible to end users.\r\nRequired for creating or updating an object"
        assetCategoryCode:
          type: string
          description: "The code of an existing equipment billable item in Aimsio.\r\n\r\n"
        assetSerialNumber:
          type: string
        assetModel:
          type: string
        assetOperatorEmployeeCode:
          type: string
          description: Must be a valid employee number/code
        assetStatusUname:
          type: string
          enum:
            - active_asset_status
            - inactive_asset_status
            - repair_and_maintenance_asset_status
        assetCreatedAt:
          type: integer
          description: Timestamp in epoch millseconds
          readOnly: true
        assetUpdatedAt:
          type: integer
          description: Timestamp in epoch millseconds
          readOnly: true
        assetNotes:
          type: string
        assetLocation:
          type: string
        assetActivationDate:
          type: integer
          description: Timestamp in epoch millseconds
        assetTerminationDate:
          type: integer
          description: Timestamp in epoch millseconds
        assetIsDeleted:
          type: boolean
          description: "Setting this flag does not delete the Equipment entries. \r\nTo disable an equipment entry, please update `assetStatusUname` value to `inactive_asset_status` "
          readOnly: true
          x-deprecated: true
        assetFormData:
          $ref: '#/components/schemas/Additional-FormData'
        customFieldDataList:
          type: array
          writeOnly: true
          items:
            $ref: '#/components/schemas/CustomFieldData'
        assetCurrentJobsList:
          type: array
          writeOnly: true
          items:
            $ref: '#/components/schemas/EquipmentRecord'
      required:
        - assetCode
        - assetCategoryCode
        - assetStatusUname
      x-examples:
        Example 1:
          assetList:
            - assetCode: HAULTRK_01
              assetCategoryCode: '54'
              assetSerialNumber: SADL121301
              assetModel: Ford
              assetOperatorEmployeeCode: EMP001
              assetStatusUname: active_asset_status
              assetNotes: ''
              assetLocation: ''
              assetActivationDate: 1747255879000
              assetFormData: {}
              customFieldDataList:
                - customFieldDataDtype: NumberFieldData
                  customFieldDataUname: current_hours
                  customFieldDataStringValue: '50'
      x-tags:
        - Master Data
    EquipmentRecord:
      type: object
      description: >-
        Schema to display equipment assignment to a job. When this schema is
        included in `Equipment` POST request, the system will accepts job
        numbers to create new assignments (start date defaults to current date),
        and closes out any existing active assignments.
      properties:
        equipmentRecordGuid:
          type: string
          readOnly: true
        equipmentRecordEquipmentGuid:
          type: string
          readOnly: true
        equipmentRecordEquipmentCode:
          type: string
          readOnly: true
        equipmentRecordEquipmentDescription:
          type: string
          readOnly: true
        equipmentRecordJobNumber:
          type: string
          description: >-
            Must be an existing job number with `Active`, `Assigned` or
            `Unassigned` status
        equipmentRecordStartDate:
          type: integer
          description: Timestamp in epoch milliseconds
          readOnly: true
        equipmentRecordEndDate:
          type: integer
          description: Timestamp in epoch milliseconds
          readOnly: true
        equipmentRecordLocation:
          type: string
          readOnly: true
        equipmentRecordNotes:
          type: string
          readOnly: true
        equipmentRecordGroup:
          type: string
          readOnly: true
      required:
        - equipmentRecordJobNumber
      x-examples:
        Example 1:
          equipmentRecordGuid: 48ddda75-cbdf-4fdd-bf0a-e1e54ac5630a
          equipmentRecordEquipmentGuid: 18a34dbc-f9c0-4ce4-80c9-d8d99ff6b37d
          equipmentRecordEquipmentCode: DZ-02
          equipmentRecordEquipmentDescription: 450J LGP Crawler Tractor c/w Winch (DZ-02)
          equipmentRecordJobNumber: 25-132
          equipmentRecordStartDate: 1744108200000
          equipmentRecordEndDate: null
          equipmentRecordLocation: Marine Drive
          equipmentRecordNotes: MOB 25-132-000-0001
          equipmentRecordGroup: null
      x-tags:
        - Job Orders
    Employee:
      type: object
      properties:
        employeeGuid:
          type: string
          description: "Unique identifier and is automatically generated by Aimsio system.\r\n This is only used to update existing object"
        employeeCode:
          type: string
          description: "Unique identifier, visible to end users.\r\nRequired for creating or updating an object"
        employmentType:
          type: string
          enum:
            - DIRECT_HIRE
            - '  SUBCONTRACTOR'
        employeeStatusUname:
          type: string
          enum:
            - active_employee_status
            - inactive_permanent_layoff_employee_status
            - inactive_temporary_layoff_employee_status
        employeeFirstName:
          type: string
        employeeLastName:
          type: string
        employeeNickName:
          type: string
        employeeTradeGuid:
          type: string
          description: >-
            The GUID of an existing labour billable item in Aimsio. Either
            `employeeTradeGuid` or `employeeTradeCode` is required
          readOnly: true
        employeeTradeCode:
          type: string
          description: >-
            The code of an existing labour billable item in Aimsio. Either
            `employeeTradeGuid` or `employeeTradeCode` is required
        employmentHireDate:
          type: integer
          description: Timestamp in epoch millseconds
        employmentTerminationDate:
          type: integer
          description: Timestamp in epoch millseconds
        employmentReHireDate:
          type: integer
          description: Timestamp in epoch millseconds
        employeeAddress:
          type: string
        employeePhone:
          type: string
        employeeEmail:
          type: string
        employeeNotes:
          type: string
        employeeLinkedUserGuid:
          type: string
          readOnly: true
        employeeLinkedUserName:
          type: string
          readOnly: true
        employeePayrollTypeName:
          type: string
          description: Required if the account has Timecards module
        employeePayrollUnionName:
          type: string
          description: Required if the account has Timecards module
        employeePayrollHolidayEligibility:
          type: string
          enum:
            - PER_UNION
            - AB_5_OF_9
          description: Required if the account has Timecards module.
        employeeAverageDayPay:
          type: number
          description: Required if the account has Timecards module
        employeeHolidayHoursTopUp:
          type: number
          description: Required if the account has Timecards module
        employeeCreatedAt:
          type: integer
          description: Timestamp in epoch millseconds
          readOnly: true
        employeeUpdatedAt:
          type: integer
          description: Timestamp in epoch millseconds
          readOnly: true
        employeeFormData:
          $ref: '#/components/schemas/Additional-FormData'
        customFieldDataList:
          type: array
          writeOnly: true
          items:
            $ref: '#/components/schemas/CustomFieldData'
        employeeCurrentJobsList:
          type: array
          writeOnly: true
          items:
            $ref: '#/components/schemas/CrewRecord'
      required:
        - employeeCode
        - employmentType
        - employeeStatusUname
        - employeeFirstName
        - employeeLastName
        - employeeTradeCode
      x-examples:
        Example 1:
          employeeCode: '49'
          employeeGuid: d943e92f-ab66-41c8-ae45-6aa76c4c1e6c
          employmentType: DIRECT_HIRE
          employeeStatusUname: active_employee_status
          employeeFirstName: Cadie
          employeeLastName: Swamper
          employeeNickName: ''
          employeeTradeGuid: 1c72ced2-5317-4081-82cc-0ee3e5e2d100
          employeeTradeCode: LAB-SWAMP
          employmentHireDate: null
          employmentTerminationDate: null
          employmentReHireDate: null
          employeeAddress: |-
            163 Fake Street North
            Springfield, SI
            T1T 1T1
          employeePhone: 888-850-0098
          employeeEmail: 123Fake@email.com
          employeeNotes: Demo Data
          employeeLinkedUserGuid: null
          employeeLinkedUserName: null
          employeePayrollTypeName: null
          employeePayrollUnionName: Local 345 Union
          employeePayrollHolidayEligibility: PER_UNION
          employeeAverageDayPay: '119.000'
          employeeHolidayHoursTopUp: '0.00'
          employeeCreatedAt: 1687892736021
          employeeUpdatedAt: 1687892736021
          employeeFormData:
            formDataFormTypeUname: employee_additional_info
            formDataInternalStatus: null
            formDataGuid: a5c30c32-3cc5-47a9-9ef0-5f8b340c70ad
            formDataFieldDataList:
              - fieldDataFieldTypeUname: attachments_section
                fieldDataFieldTypeDataType: SectionFieldData
                fieldDataFieldTypeLabel: Attachments
              - fieldDataStringValue: null
                fieldDataFieldTypeUname: department
                fieldDataFieldTypeDataType: FreeTextFieldData
                fieldDataFieldTypeLabel: Department
              - fieldDataReferenceValue: null
                fieldDataStringValue: ''
                fieldDataFieldTypeUname: subcontractor_company
                fieldDataFieldTypeDataType: LookupFieldData
                fieldDataFieldTypeLabel: Subcontractor Company
              - fieldDataReferenceValue: null
                fieldDataStringValue: ''
                fieldDataFieldTypeUname: emp_personal_equipment
                fieldDataFieldTypeDataType: LookupFieldData
                fieldDataFieldTypeLabel: Equipment
              - fieldDataFieldTypeUname: hourly_rate
                fieldDataDecimalValue: null
                fieldDataFieldTypeDataType: NumberFieldData
                fieldDataFieldTypeLabel: Hourly Rate
              - fieldDataFieldTypeUname: payroll_night_shift_premium
                fieldDataDecimalValue: null
                fieldDataFieldTypeDataType: NumberFieldData
                fieldDataFieldTypeLabel: Payroll Shift Premium
              - fieldDataStringValue: null
                fieldDataFieldTypeUname: home_base
                fieldDataFieldTypeDataType: FreeTextFieldData
                fieldDataFieldTypeLabel: Home Base
              - fieldDataFieldTypeUname: attachments_table
                fieldDataTableRows: []
                fieldDataFieldTypeDataType: TableFieldData
                fieldDataFieldTypeLabel: Attachments
      x-tags:
        - Master Data
    CrewRecord:
      type: object
      description: >-
        Schema to display employee assignment to a job. When this schema is
        included in `Employee` POST request, the system will accepts job numbers
        to create new assignments (start date defaults to current date), and
        closes out any existing active assignments.
      properties:
        crewRecordId:
          type: integer
          readOnly: true
        crewRecordEmployeeGuid:
          type: string
          readOnly: true
        crewRecordEmployeeNumber:
          type: string
          readOnly: true
        crewRecordEmployeeFullName:
          type: string
          readOnly: true
        crewRecordTrade:
          type: string
          readOnly: true
        crewRecordStatus:
          type: string
          enum:
            - New
            - WaitingForConfirmation
            - Confirmed
            - Fired
          readOnly: true
        crewRecordJobNumber:
          type: string
          description: >-
            Must be an existing job number with `Active`, `Assigned` or
            `Unassigned` status
        crewRecordStartDate:
          type: integer
          description: Timestamp in epoch milliseconds
          readOnly: true
        crewRecordEndDate:
          type: integer
          description: Timestamp in epoch milliseconds
          readOnly: true
        crewRecordLocation:
          type: string
          readOnly: true
        crewRecordNotes:
          type: string
          readOnly: true
        crewRecordGroup:
          type: string
          readOnly: true
      required:
        - crewRecordJobNumber
      x-examples:
        Example 1:
          crewRecordId: 486567
          crewRecordEmployeeGuid: 4b7d3e30-9f08-428e-8f14-2f0da290d281
          crewRecordEmployeeNumber: KASWA0
          crewRecordEmployeeFullName: Wayne Kastrukoff
          crewRecordTrade: Foreman
          crewRecordStatus: New
          crewRecordJobNumber: 25-132
          crewRecordStartDate: 1744143845000
          crewRecordEndDate: 1744483806000
          crewRecordLocation: Marine Drive
          crewRecordGroup: null
          crewRecordNotes: null
      x-tags:
        - Job Orders
    Company:
      type: object
      properties:
        companyGuid:
          type: string
          description: "Unique identifier and is automatically generated by Aimsio system.\r\n This is only used to update existing object"
        companyCode:
          type: string
          description: "Unique identifier, visible to end users.\r\nRequired for creating or updating an object"
        companyName:
          type: string
        companySymbol:
          type: string
        companyTypeName:
          type: string
          description: >-
            Required when creating a new object. Either `companyTypeUname` or
            `companyTypeName` is required
        companyTypeUname:
          type: string
          enum:
            - client_company_type
            - vendor_company_type
            - manufacturer_company_type
            - subcontractor_company_type
        companyAddress:
          type: string
        companyEmail:
          type: string
        companyPhone:
          type: string
        companyNotes:
          type: string
        companyIsDeleted:
          type: boolean
          readOnly: true
        companyFormData:
          $ref: '#/components/schemas/Additional-FormData'
        customFieldDataList:
          type: array
          writeOnly: true
          items:
            $ref: '#/components/schemas/CustomFieldData'
      required:
        - companyCode
        - companyName
        - companyTypeName
      x-examples:
        Example 1:
          companyGuid: 188e5800-b254-40bd-a912-b73acd739c22
          companyCode: CAT
          companyIsDeleted: false
          companyName: Caterpillar Inc.
          companySymbol: SYM14
          companyTypeUname: vendor_company_type
          companyTypeName: Vendor
          companyAddress: ''
          companyEmail: ''
          companyPhone: 888-850-0061
          companyNotes: Equipment Manufacturer
      x-tags:
        - Master Data
    JobOrder:
      type: object
      properties:
        jobId:
          type: integer
          readOnly: true
        jobGuid:
          type: string
          description: "Unique identifier, visible to developers and Aimsio admins.\r\nA new object must include either `guid` property or `number` property or both."
        jobNumber:
          type: string
          description: "Unique identifier, visible to end users.\r\nA new object must include either `guid` property or `number` property or both"
        jobName:
          type: string
        jobDescription:
          type: string
        jobStatus:
          type: string
          enum:
            - Unassigned
            - Assigned
            - Active
            - Finished
            - Cancelled
            - Deleted
          description: "If the job has an assignee, the status is automatically set to `Assigned`, else it's default to `Unassigned`.\r\nFor POST requests, the only applicable value is `Finished` for existing jobs.\r\n"
        jobTypeUname:
          type: string
          readOnly: true
        jobClientCode:
          type: string
          description: Must be an existing customer code
        jobClientGuid:
          type: string
          readOnly: true
        jobClientName:
          type: string
          readOnly: true
        jobPriceBookName:
          type: string
          description: Must be an existing pricebook name
        jobPriceBookGuid:
          type: string
          readOnly: true
        jobStartDate:
          type: integer
          description: Timestamp in epoch millseconds
        jobEndDate:
          type: integer
          description: >-
            Timestamp in epoch millseconds. Must be equal or after
            `jobStartDate`
        jobCreatedAt:
          type: integer
          description: Timestamp in epoch millseconds
          readOnly: true
        jobUpdatedAt:
          type: integer
          description: Timestamp in epoch millseconds
          readOnly: true
        jobShowInDispatching:
          type: boolean
        jobAssigneeEmployeeNumber:
          type: string
          description: Must be an existing employee number
        jobAssigneeFullName:
          type: string
          readOnly: true
        jobAssigneeUserName:
          type: string
          readOnly: true
        jobAddress:
          type: string
        jobLocationCode:
          type: string
          description: Must be an existing location code
        jobLocationName:
          type: string
          readOnly: true
        jobLocationLat:
          type: number
        jobLocationLong:
          type: number
        jobDirection:
          type: string
        jobWBSSchedule:
          $ref: '#/components/schemas/WBSSchedule'
        jobWBSScheduleGuid:
          type: string
          readOnly: true
        jobNRBs:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/NonrecurringBillableItem'
        jobCrewRecords:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/CrewRecord'
        jobEquipmentRecords:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/EquipmentRecord'
        jobOrderFormData:
          $ref: '#/components/schemas/Additional-FormData'
        customFieldDataList:
          type: array
          writeOnly: true
          items:
            $ref: '#/components/schemas/CustomFieldData'
      required:
        - jobNumber
        - jobName
        - jobStatus
        - jobClientCode
        - jobPriceBookName
        - jobStartDate
      x-examples:
        Example 1:
          jobId: 461890
          jobGuid: 599dce83-94e4-44b1-8c4d-ae9e1b86e9ee
          jobNumber: 25-132
          jobName: Marine Drive Road Repairs
          jobDescription: Marine Drive Road Repairs
          jobStatus: Active
          jobTypeUname: job_order
          jobClientGuid: bd87eee0-b58e-4e15-a197-7eeb0b51cb30
          jobClientName: Tourmaline Oil Corp
          jobClientCode: null
          jobPriceBookGuid: c5a07781-8975-435c-851d-278f3a7b8de9
          jobPriceBookName: Tourmaline 2024/25
          jobStartDate: 1744021800000
          jobEndDate: null
          jobCreatedAt: 1744122542690
          jobUpdatedAt: 1744735778569
          jobShowInDispatching: true
          jobAssigneeEmployeeNumber: PICDE0
          jobAssigneeFullName: Debra Pich
          jobAssigneeUserName: dpich@m&m
          jobAddress: Marine Drive
          jobLocationName: BC
          jobLocationCode: ''
          jobLocationLat: 18.943210999999998
          jobLocationLong: 72.822998
          jobDirection: 'km 22.5 tommy turn left, go 2 km go right onto Marine Drive '
          jobWBSScheduleGuid: null
          jobNRBs: []
          jobCrewRecords:
            - crewRecordId: 486567
              crewRecordEmployeeGuid: 4b7d3e30-9f08-428e-8f14-2f0da290d281
              crewRecordEmployeeNumber: KASWA0
              crewRecordEmployeeFullName: Wayne Kastrukoff
              crewRecordTrade: Foreman
              crewRecordStatus: New
              crewRecordJobNumber: 25-132
              crewRecordStartDate: 1744143845000
              crewRecordEndDate: 1744483806000
              crewRecordLocation: Marine Drive
              crewRecordGroup: null
              crewRecordNotes: null
            - crewRecordId: 488546
              crewRecordEmployeeGuid: 1087d77b-2ee8-4be8-b89f-e788e035b888
              crewRecordEmployeeNumber: PEDKY0
              crewRecordEmployeeFullName: Kyle Peddy
              crewRecordTrade: Operator
              crewRecordStatus: New
              crewRecordJobNumber: 25-132
              crewRecordStartDate: 1744570206000
              crewRecordEndDate: null
              crewRecordLocation: Marine Drive
              crewRecordGroup: null
              crewRecordNotes: null
          jobEquipmentRecords:
            - equipmentRecordGuid: 48ddda75-cbdf-4fdd-bf0a-e1e54ac5630a
              equipmentRecordEquipmentGuid: 18a34dbc-f9c0-4ce4-80c9-d8d99ff6b37d
              equipmentRecordEquipmentCode: DZ-02
              equipmentRecordEquipmentDescription: 450J LGP Crawler Tractor c/w Winch (DZ-02)
              equipmentRecordJobNumber: 25-132
              equipmentRecordStartDate: 1744108200000
              equipmentRecordEndDate: null
              equipmentRecordLocation: Marine Drive
              equipmentRecordNotes: MOB 25-132-000-0001
              equipmentRecordGroup: null
            - equipmentRecordGuid: 3db4d9ba-dfcd-42a0-bb42-999874d86dec
              equipmentRecordEquipmentGuid: 7ec5a13c-3e1e-4aa1-a9e5-597992806072
              equipmentRecordEquipmentCode: GR-01
              equipmentRecordEquipmentDescription: 772CH GRADER (GR-01)
              equipmentRecordJobNumber: 25-132
              equipmentRecordStartDate: 1744727213000
              equipmentRecordEndDate: null
              equipmentRecordLocation: Marine Drive
              equipmentRecordNotes: null
              equipmentRecordGroup: null
          jobFormData:
            formDataGuid: 27f9aff8-1095-44a7-9ba0-b2f5d2a08b53
            formDataFormTypeUname: job_order_additional_info
            formDataFieldDataList:
              - fieldDataFieldTypeUname: additional_information
                fieldDataFieldTypeDataType: SectionFieldData
                fieldDataFieldTypeLabel: Additional Information
              - fieldDataFieldTypeUname: attachment_table
                fieldDataFieldTypeDataType: TableFieldData
                fieldDataTableRows: []
                fieldDataFieldTypeLabel: Attachment
              - fieldDataFieldTypeUname: job_type
                fieldDataFieldTypeDataType: SelectFieldData
                fieldDataStringValue: Hourly
                fieldDataFieldTypeLabel: Job Type
              - fieldDataFieldTypeUname: additional_assignee
                fieldDataFieldTypeDataType: LookupFieldData
                fieldDataReferenceValue: null
                fieldDataStringValue: null
                fieldDataFieldTypeLabel: Additional Assignee
              - fieldDataFieldTypeUname: client_rep
                fieldDataFieldTypeDataType: FreeTextFieldData
                fieldDataStringValue: Mike Rogers
                fieldDataFieldTypeLabel: Client Rep
              - fieldDataFieldTypeUname: client_rep_phone
                fieldDataFieldTypeDataType: FreeTextFieldData
                fieldDataStringValue: ''
                fieldDataFieldTypeLabel: Client Rep Phone
              - fieldDataFieldTypeUname: client_rep_email
                fieldDataFieldTypeDataType: FreeTextFieldData
                fieldDataStringValue: mike.rogers@tourmalineoil.com
                fieldDataFieldTypeLabel: Client Rep Email
              - fieldDataFieldTypeUname: po_afe_no
                fieldDataFieldTypeDataType: FreeTextFieldData
                fieldDataStringValue: 'AFE#TBD Cost Code: TBD'
                fieldDataFieldTypeLabel: PO/AFE No.
              - fieldDataFieldTypeUname: non_billable_amount
                fieldDataFieldTypeDataType: NumberFieldData
                fieldDataDecimalValue: null
                fieldDataFieldTypeLabel: Job Budget ($)
              - fieldDataFieldTypeUname: total_non_billable_cost_to_date
                fieldDataFieldTypeDataType: NumberFieldData
                fieldDataDecimalValue: '0.000000'
                fieldDataFieldTypeLabel: Bid Cost to Date ($)
              - fieldDataFieldTypeUname: total_billable_cost_to_date
                fieldDataFieldTypeDataType: NumberFieldData
                fieldDataDecimalValue: '18516.250000'
                fieldDataFieldTypeLabel: Billable Cost to Date ($)
              - fieldDataFieldTypeUname: partner
                fieldDataFieldTypeDataType: FreeTextFieldData
                fieldDataStringValue: Malcolm Apsassin
                fieldDataFieldTypeLabel: Partner
              - fieldDataFieldTypeUname: internal_job_comments
                fieldDataFieldTypeDataType: FreeTextFieldData
                fieldDataStringValue: >-
                  All inclusive rate sheet - no fuel surcharge. Third Party
                  Markup 15%. No standby for equipment. Tickets entered in Open
                  Invoice. Trapline: TR0745T003 
                   (Malcolm Apsassin)
                fieldDataFieldTypeLabel: Internal Job Comments
              - fieldDataFieldTypeUname: emergency_response_plan
                fieldDataFieldTypeDataType: BinaryFieldData
                fieldDataFieldTypeLabel: Emergency Response Plan
              - fieldDataFieldTypeUname: client_information_table
                fieldDataFieldTypeDataType: TableFieldData
                fieldDataTableRows: []
                fieldDataFieldTypeLabel: Client Information
              - fieldDataFieldTypeUname: progress_billing
                fieldDataFieldTypeDataType: TableFieldData
                fieldDataTableRows: []
                fieldDataFieldTypeLabel: Daily Quantities
            formDataInternalStatus: null
      x-tags:
        - Job Orders
    WBSSchedule:
      type: object
      title: WBSSchedule
      properties:
        jobScheduleGuid:
          type: string
        jobScheduleBudgetEntryOption:
          type: string
          enum:
            - PerDetailedBreakDown
            - PerWBS
            - PerBillableItem
        jobScheduleContractValueEntryOption:
          type: string
          enum:
            - PerJob
            - PerWBS
        jobScheduleChangeSettingOption:
          type: string
          enum:
            - Manual
            - AutomatedFromChangeOrder
        jobScheduleConversionRules:
          type: array
          items:
            type: object
        jobScheduleIsDeleted:
          type: boolean
          readOnly: true
        jobScheduleIncludeNRBInNonBillableCalculation:
          type: boolean
        jobScheduleActualsWithNoWBS:
          type: array
          items:
            $ref: '#/components/schemas/WBSActivityQty'
        jobScheduleRootActivity:
          $ref: '#/components/schemas/WBSActivity'
        jobScheduleBudgetNonBillablePriceBookGuid:
          type: string
          readOnly: true
        jobScheduleBudgetNonBillablePriceBookName:
          type: string
          readOnly: true
        jobScheduleCreatedAt:
          type: integer
          readOnly: true
        jobScheduleUpdatedAt:
          type: integer
          readOnly: true
      x-examples:
        Example 1:
          jobWBSSchedule:
            jobScheduleBudgetNonBillablePriceBookName: Default
            jobScheduleBudgetEntryOption: PerDetailedBreakDown
            jobScheduleConversionRules:
              - conversionRuleDefaultRateTypeUname: hourly_rate_type
                conversionRuleCoefficients:
                  - coefficientMultipler: 1
                    coefficientRateTypeUname: hourly_rate_type
                conversionRuleBillableTypeUname: accommodation
              - conversionRuleDefaultRateTypeUname: hourly_rate_type
                conversionRuleCoefficients:
                  - coefficientMultipler: 1
                    coefficientRateTypeUname: hourly_rate_type
                conversionRuleBillableTypeUname: discount
              - conversionRuleDefaultRateTypeUname: hourly_rate_type
                conversionRuleCoefficients:
                  - coefficientMultipler: 200
                    coefficientRateTypeUname: monthly_rate_type
                  - coefficientMultipler: 1
                    coefficientRateTypeUname: hourly_rate_type
                  - coefficientMultipler: 10
                    coefficientRateTypeUname: daily_rate_type
                  - coefficientMultipler: 50
                    coefficientRateTypeUname: weekly_rate_type
                conversionRuleBillableTypeUname: equipment
              - conversionRuleDefaultRateTypeUname: hourly_rate_type
                conversionRuleCoefficients:
                  - coefficientMultipler: 1
                    coefficientRateTypeUname: hourly_rate_type
                  - coefficientMultipler: 1
                    coefficientRateTypeUname: hourly_ot_rate_type
                  - coefficientMultipler: 1
                    coefficientRateTypeUname: hourly_dt_rate_type
                conversionRuleBillableTypeUname: labour
              - conversionRuleDefaultRateTypeUname: hourly_rate_type
                conversionRuleCoefficients:
                  - coefficientMultipler: 1
                    coefficientRateTypeUname: hourly_rate_type
                conversionRuleBillableTypeUname: material
              - conversionRuleDefaultRateTypeUname: hourly_rate_type
                conversionRuleCoefficients:
                  - coefficientMultipler: 1
                    coefficientRateTypeUname: hourly_rate_type
                conversionRuleBillableTypeUname: mileage
              - conversionRuleDefaultRateTypeUname: hourly_rate_type
                conversionRuleCoefficients:
                  - coefficientMultipler: 1
                    coefficientRateTypeUname: hourly_rate_type
                conversionRuleBillableTypeUname: misc
              - conversionRuleDefaultRateTypeUname: hourly_rate_type
                conversionRuleCoefficients:
                  - coefficientMultipler: 1
                    coefficientRateTypeUname: hourly_rate_type
                conversionRuleBillableTypeUname: non_recurring_billables
              - conversionRuleDefaultRateTypeUname: hourly_rate_type
                conversionRuleCoefficients:
                  - coefficientMultipler: 1
                    coefficientRateTypeUname: hourly_rate_type
                conversionRuleBillableTypeUname: per_diem
              - conversionRuleDefaultRateTypeUname: hourly_rate_type
                conversionRuleCoefficients:
                  - coefficientMultipler: 1
                    coefficientRateTypeUname: hourly_rate_type
                conversionRuleBillableTypeUname: purchase_order
              - conversionRuleDefaultRateTypeUname: hourly_rate_type
                conversionRuleCoefficients:
                  - coefficientMultipler: 1
                    coefficientRateTypeUname: hourly_rate_type
                conversionRuleBillableTypeUname: service
              - conversionRuleDefaultRateTypeUname: hourly_rate_type
                conversionRuleCoefficients:
                  - coefficientMultipler: 1
                    coefficientRateTypeUname: hourly_rate_type
                conversionRuleBillableTypeUname: surcharge
              - conversionRuleDefaultRateTypeUname: hourly_rate_type
                conversionRuleCoefficients:
                  - coefficientMultipler: 1
                    coefficientRateTypeUname: hourly_rate_type
                conversionRuleBillableTypeUname: unit_billing
            jobScheduleGuid: b65e3b96-09fc-4d6f-9413-6e3f06fbb8c7
            jobScheduleContractValueEntryOption: PerWBS
            jobScheduleChangeSettingOption: AutomatedFromChangeOrder
            jobScheduleCreatedAt: 1747783056988
            jobScheduleIsDeleted: false
            jobScheduleIncludeNRBInNonBillableCalculation: true
            jobScheduleActualsWithNoWBS: []
            jobScheduleBudgetNonBillablePriceBookGuid: b4528d4e-6c03-4561-9028-441643a010e9
            jobScheduleUpdatedAt: 1747849460358
            jobScheduleRootActivity:
              wbsActivitySharedIdentifier: JOB20250514-01
              wbsActivityActualDollarBillable: '0.00'
              wbsActivityEAC: '0.00'
              wbsActivityDetailedBreakdown:
                - wbsActivityBreakdownParentActivityGuid: b81ec825-1ecf-4bca-a215-1d2ba6f03acd
                  wbsActivityBreakdownGuid: b09daf14-cc10-4e4f-a669-ed865c2a8a8c
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.00'
                  wbsActivityBreakdownBudgetRevenue: '0.00'
                  wbsActivityBreakdownActualTotalExtra: '0.00'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Accommodation
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: accommodation
                - wbsActivityBreakdownParentActivityGuid: b81ec825-1ecf-4bca-a215-1d2ba6f03acd
                  wbsActivityBreakdownGuid: 3929ab24-199d-4e69-ab4f-e9aeaa7bb63d
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.00'
                  wbsActivityBreakdownBudgetRevenue: '0.00'
                  wbsActivityBreakdownActualTotalExtra: '0.00'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Discount
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: discount
                - wbsActivityBreakdownParentActivityGuid: b81ec825-1ecf-4bca-a215-1d2ba6f03acd
                  wbsActivityBreakdownGuid: 3658933a-7290-4d0d-81c7-6280aba4aaa5
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.00'
                  wbsActivityBreakdownBudgetRevenue: '0.00'
                  wbsActivityBreakdownActualTotalExtra: '0.00'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Equipment
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: equipment
                - wbsActivityBreakdownParentActivityGuid: b81ec825-1ecf-4bca-a215-1d2ba6f03acd
                  wbsActivityBreakdownGuid: c3b6a3a9-2f78-4bc0-8373-bf77c2032c1b
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.00'
                  wbsActivityBreakdownBudgetRevenue: '0.00'
                  wbsActivityBreakdownActualTotalExtra: '0.00'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Labor
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: labour
                - wbsActivityBreakdownParentActivityGuid: b81ec825-1ecf-4bca-a215-1d2ba6f03acd
                  wbsActivityBreakdownGuid: 34ff74fa-8252-47e7-96ce-8c6745b01958
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.00'
                  wbsActivityBreakdownBudgetRevenue: '0.00'
                  wbsActivityBreakdownActualTotalExtra: '0.00'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Material
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: material
                - wbsActivityBreakdownParentActivityGuid: b81ec825-1ecf-4bca-a215-1d2ba6f03acd
                  wbsActivityBreakdownGuid: 439dc4c7-a5ce-48e8-ad67-b11683fe6021
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.00'
                  wbsActivityBreakdownBudgetRevenue: '0.00'
                  wbsActivityBreakdownActualTotalExtra: '0.00'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Mileage
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: mileage
                - wbsActivityBreakdownParentActivityGuid: b81ec825-1ecf-4bca-a215-1d2ba6f03acd
                  wbsActivityBreakdownGuid: aaabda44-bc0a-44c8-b2b2-72cc71518de1
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.00'
                  wbsActivityBreakdownBudgetRevenue: '0.00'
                  wbsActivityBreakdownActualTotalExtra: '0.00'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Miscellaneous
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: misc
                - wbsActivityBreakdownParentActivityGuid: b81ec825-1ecf-4bca-a215-1d2ba6f03acd
                  wbsActivityBreakdownGuid: cf106f00-2e7d-4ac2-9f1e-e92075d46efc
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.00'
                  wbsActivityBreakdownBudgetRevenue: '0.00'
                  wbsActivityBreakdownActualTotalExtra: '0.00'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Non-recurring Billables
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: non_recurring_billables
                - wbsActivityBreakdownParentActivityGuid: b81ec825-1ecf-4bca-a215-1d2ba6f03acd
                  wbsActivityBreakdownGuid: 8317a8f3-4a4e-4e6a-8bd4-66fd6ccd11d8
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.00'
                  wbsActivityBreakdownBudgetRevenue: '0.00'
                  wbsActivityBreakdownActualTotalExtra: '0.00'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Per Diem
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: per_diem
                - wbsActivityBreakdownParentActivityGuid: b81ec825-1ecf-4bca-a215-1d2ba6f03acd
                  wbsActivityBreakdownGuid: bf7f9aef-bdb4-4fa0-a917-41a4b35459c5
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.00'
                  wbsActivityBreakdownBudgetRevenue: '0.00'
                  wbsActivityBreakdownActualTotalExtra: '0.00'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Purchase Order
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: purchase_order
                - wbsActivityBreakdownParentActivityGuid: b81ec825-1ecf-4bca-a215-1d2ba6f03acd
                  wbsActivityBreakdownGuid: ab173707-660b-4aa6-82d3-2f2de435292b
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.00'
                  wbsActivityBreakdownBudgetRevenue: '0.00'
                  wbsActivityBreakdownActualTotalExtra: '0.00'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Service
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: service
                - wbsActivityBreakdownParentActivityGuid: b81ec825-1ecf-4bca-a215-1d2ba6f03acd
                  wbsActivityBreakdownGuid: c5bbacd0-883c-4356-a721-f027f3e60aee
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.00'
                  wbsActivityBreakdownBudgetRevenue: '0.00'
                  wbsActivityBreakdownActualTotalExtra: '0.00'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Surcharge
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: surcharge
                - wbsActivityBreakdownParentActivityGuid: b81ec825-1ecf-4bca-a215-1d2ba6f03acd
                  wbsActivityBreakdownGuid: bfa9698d-da88-40dd-99c2-d5ba0628c89b
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.00'
                  wbsActivityBreakdownBudgetRevenue: '0.00'
                  wbsActivityBreakdownActualTotalExtra: '0.00'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Unit Billing
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: unit_billing
              wbsActivityMarginPercentage: '0'
              wbsActivityChildrenCount: 1
              wbsActivityRevisedEndDate: 1748214745000
              wbsActivityNotes: ''
              wbsActivityHierarchicalOrder: '1'
              wbsActivityEstimateToComplete: '0.00'
              wbsActivityEACMethod: TREND_BASED
              wbsActivitySubCode: '01'
              wbsActivityRemainingSpend: '0.00'
              wbsActivityTimecardHours: '0.00'
              wbsActivityName: Root activity
              wbsActivityRevisedStartDate: 1747782745000
              wbsActivityChildren:
                - wbsActivitySharedIdentifier: JOB20250514-01.01
                  wbsActivityActualDollarBillable: '0.00'
                  wbsActivityEAC: '0.00'
                  wbsActivityDetailedBreakdown:
                    - wbsActivityBreakdownParentActivityGuid: b0dd1584-c59a-4a10-a64e-638177a54edc
                      wbsActivityBreakdownGuid: 386d7cf6-0c62-4751-a2b4-b76a9b6ef0e7
                      wbsActivityBreakdownActualQtyExtra: '0.000'
                      wbsActivityBreakdownActualTotalUsed: '0.000'
                      wbsActivityBreakdownBudgetRevenue: '0.000'
                      wbsActivityBreakdownActualTotalExtra: '0.000'
                      wbsActivityBreakdownBudgetQty: '0.000'
                      wbsActivityBreakdownBillableTypeName: Accommodation
                      wbsActivityBreakdownActualQtyUsed: '0.000'
                      wbsActivityBreakdownBillableTypeUname: accommodation
                    - wbsActivityBreakdownParentActivityGuid: b0dd1584-c59a-4a10-a64e-638177a54edc
                      wbsActivityBreakdownGuid: e36c101c-8767-4a41-9aaa-025f18f05715
                      wbsActivityBreakdownActualQtyExtra: '0.000'
                      wbsActivityBreakdownActualTotalUsed: '0.000'
                      wbsActivityBreakdownBudgetRevenue: '0.000'
                      wbsActivityBreakdownActualTotalExtra: '0.000'
                      wbsActivityBreakdownBudgetQty: '0.000'
                      wbsActivityBreakdownBillableTypeName: Discount
                      wbsActivityBreakdownActualQtyUsed: '0.000'
                      wbsActivityBreakdownBillableTypeUname: discount
                    - wbsActivityBreakdownParentActivityGuid: b0dd1584-c59a-4a10-a64e-638177a54edc
                      wbsActivityBreakdownGuid: 0b814f1a-6a5e-4609-9bfd-0e8fdd61e8d8
                      wbsActivityBreakdownActualQtyExtra: '0.000'
                      wbsActivityBreakdownActualTotalUsed: '0.000'
                      wbsActivityBreakdownBudgetRevenue: '0.000'
                      wbsActivityBreakdownActualTotalExtra: '0.000'
                      wbsActivityBreakdownBudgetQty: '0.000'
                      wbsActivityBreakdownBillableTypeName: Equipment
                      wbsActivityBreakdownActualQtyUsed: '0.000'
                      wbsActivityBreakdownBillableTypeUname: equipment
                    - wbsActivityBreakdownParentActivityGuid: b0dd1584-c59a-4a10-a64e-638177a54edc
                      wbsActivityBreakdownGuid: 6b160a4c-7d9c-4ecf-86c4-ee4c23723168
                      wbsActivityBreakdownActualQtyExtra: '0.000'
                      wbsActivityBreakdownActualTotalUsed: '0.000'
                      wbsActivityBreakdownBudgetRevenue: '0.000'
                      wbsActivityBreakdownActualTotalExtra: '0.000'
                      wbsActivityBreakdownBudgetQty: '0.000'
                      wbsActivityBreakdownBillableTypeName: Labor
                      wbsActivityBreakdownActualQtyUsed: '0.000'
                      wbsActivityBreakdownBillableTypeUname: labour
                    - wbsActivityBreakdownParentActivityGuid: b0dd1584-c59a-4a10-a64e-638177a54edc
                      wbsActivityBreakdownGuid: 849aa93a-2fde-4d42-a473-57d5c6fe8142
                      wbsActivityBreakdownActualQtyExtra: '0.000'
                      wbsActivityBreakdownActualTotalUsed: '0.000'
                      wbsActivityBreakdownBudgetRevenue: '0.000'
                      wbsActivityBreakdownActualTotalExtra: '0.000'
                      wbsActivityBreakdownBudgetQty: '0.000'
                      wbsActivityBreakdownBillableTypeName: Material
                      wbsActivityBreakdownActualQtyUsed: '0.000'
                      wbsActivityBreakdownBillableTypeUname: material
                    - wbsActivityBreakdownParentActivityGuid: b0dd1584-c59a-4a10-a64e-638177a54edc
                      wbsActivityBreakdownGuid: 85c5f832-aafc-425e-a792-dea9d187a0e1
                      wbsActivityBreakdownActualQtyExtra: '0.000'
                      wbsActivityBreakdownActualTotalUsed: '0.000'
                      wbsActivityBreakdownBudgetRevenue: '0.000'
                      wbsActivityBreakdownActualTotalExtra: '0.000'
                      wbsActivityBreakdownBudgetQty: '0.000'
                      wbsActivityBreakdownBillableTypeName: Mileage
                      wbsActivityBreakdownActualQtyUsed: '0.000'
                      wbsActivityBreakdownBillableTypeUname: mileage
                    - wbsActivityBreakdownParentActivityGuid: b0dd1584-c59a-4a10-a64e-638177a54edc
                      wbsActivityBreakdownGuid: 0f7bcb5c-fec5-4255-91de-478bc9815c10
                      wbsActivityBreakdownActualQtyExtra: '0.000'
                      wbsActivityBreakdownActualTotalUsed: '0.000'
                      wbsActivityBreakdownBudgetRevenue: '0.000'
                      wbsActivityBreakdownActualTotalExtra: '0.000'
                      wbsActivityBreakdownBudgetQty: '0.000'
                      wbsActivityBreakdownBillableTypeName: Miscellaneous
                      wbsActivityBreakdownActualQtyUsed: '0.000'
                      wbsActivityBreakdownBillableTypeUname: misc
                    - wbsActivityBreakdownParentActivityGuid: b0dd1584-c59a-4a10-a64e-638177a54edc
                      wbsActivityBreakdownGuid: 30361579-77d9-4487-b5c9-6218b10f5069
                      wbsActivityBreakdownActualQtyExtra: '0.000'
                      wbsActivityBreakdownActualTotalUsed: '0.000'
                      wbsActivityBreakdownBudgetRevenue: '0.000'
                      wbsActivityBreakdownActualTotalExtra: '0.000'
                      wbsActivityBreakdownBudgetQty: '0.000'
                      wbsActivityBreakdownBillableTypeName: Non-recurring Billables
                      wbsActivityBreakdownActualQtyUsed: '0.000'
                      wbsActivityBreakdownBillableTypeUname: non_recurring_billables
                    - wbsActivityBreakdownParentActivityGuid: b0dd1584-c59a-4a10-a64e-638177a54edc
                      wbsActivityBreakdownGuid: 7c03bd28-81b9-4802-adba-1a05eac3eb4b
                      wbsActivityBreakdownActualQtyExtra: '0.000'
                      wbsActivityBreakdownActualTotalUsed: '0.000'
                      wbsActivityBreakdownBudgetRevenue: '0.000'
                      wbsActivityBreakdownActualTotalExtra: '0.000'
                      wbsActivityBreakdownBudgetQty: '0.000'
                      wbsActivityBreakdownBillableTypeName: Per Diem
                      wbsActivityBreakdownActualQtyUsed: '0.000'
                      wbsActivityBreakdownBillableTypeUname: per_diem
                    - wbsActivityBreakdownParentActivityGuid: b0dd1584-c59a-4a10-a64e-638177a54edc
                      wbsActivityBreakdownGuid: 82946859-0015-4308-b72c-efdd8e8d2cd2
                      wbsActivityBreakdownActualQtyExtra: '0.000'
                      wbsActivityBreakdownActualTotalUsed: '0.000'
                      wbsActivityBreakdownBudgetRevenue: '0.000'
                      wbsActivityBreakdownActualTotalExtra: '0.000'
                      wbsActivityBreakdownBudgetQty: '0.000'
                      wbsActivityBreakdownBillableTypeName: Purchase Order
                      wbsActivityBreakdownActualQtyUsed: '0.000'
                      wbsActivityBreakdownBillableTypeUname: purchase_order
                    - wbsActivityBreakdownParentActivityGuid: b0dd1584-c59a-4a10-a64e-638177a54edc
                      wbsActivityBreakdownGuid: 5de0e861-85e1-4538-90fb-ab3a08abd877
                      wbsActivityBreakdownActualQtyExtra: '0.000'
                      wbsActivityBreakdownActualTotalUsed: '0.000'
                      wbsActivityBreakdownBudgetRevenue: '0.000'
                      wbsActivityBreakdownActualTotalExtra: '0.000'
                      wbsActivityBreakdownBudgetQty: '0.000'
                      wbsActivityBreakdownBillableTypeName: Service
                      wbsActivityBreakdownActualQtyUsed: '0.000'
                      wbsActivityBreakdownBillableTypeUname: service
                    - wbsActivityBreakdownParentActivityGuid: b0dd1584-c59a-4a10-a64e-638177a54edc
                      wbsActivityBreakdownGuid: 065d27c3-d0f2-48b9-924d-b6fdfc0f23cc
                      wbsActivityBreakdownActualQtyExtra: '0.000'
                      wbsActivityBreakdownActualTotalUsed: '0.000'
                      wbsActivityBreakdownBudgetRevenue: '0.000'
                      wbsActivityBreakdownActualTotalExtra: '0.000'
                      wbsActivityBreakdownBudgetQty: '0.000'
                      wbsActivityBreakdownBillableTypeName: Surcharge
                      wbsActivityBreakdownActualQtyUsed: '0.000'
                      wbsActivityBreakdownBillableTypeUname: surcharge
                    - wbsActivityBreakdownParentActivityGuid: b0dd1584-c59a-4a10-a64e-638177a54edc
                      wbsActivityBreakdownGuid: 7c7563f1-447b-4659-9857-4ae7aa25114c
                      wbsActivityBreakdownActualQtyExtra: '0.000'
                      wbsActivityBreakdownActualTotalUsed: '0.000'
                      wbsActivityBreakdownBudgetRevenue: '0.000'
                      wbsActivityBreakdownActualTotalExtra: '0.000'
                      wbsActivityBreakdownBudgetQty: '0.000'
                      wbsActivityBreakdownBillableTypeName: Unit Billing
                      wbsActivityBreakdownActualQtyUsed: '0.000'
                      wbsActivityBreakdownBillableTypeUname: unit_billing
                  wbsActivityMarginPercentage: '0'
                  wbsActivityChildrenCount: 0
                  wbsActivityRevisedEndDate: 1748214745000
                  wbsActivityNotes: ''
                  wbsActivityHierarchicalOrder: '1.1'
                  wbsActivityEstimateToComplete: '0.00'
                  wbsActivityEACMethod: TREND_BASED
                  wbsActivitySubCode: '.01'
                  wbsActivityRemainingSpend: '0.00'
                  wbsActivityTimecardHours: '0.00'
                  wbsActivityName: First children activity
                  wbsActivityRevisedStartDate: 1747782745000
                  wbsActivityChildren: []
                  wbsActivityActualDollarNonBillable: '0.00'
                  wbsActivityCode: '01.01'
                  wbsActivityMargin: '0.00'
                  wbsActivityBudgetOverride: '0.00'
                  wbsActivityOriginalQuantity: 1
                  wbsActivityContractUnitRate: '0.00'
                  wbsActivityRemainingQuantity: 1
                  wbsActivityCommittedPO: '0.00'
                  wbsActivityPlannedMarginPercentage: '0'
                  wbsActivityTotal: 1
                  wbsActivityForecastedRemainingCPI: '1.000'
                  wbsActivityInvoiced: '0.00'
                  wbsActivityPlannedUnitCost: '0.00'
                  wbsActivityCostUnitRate: null
                  wbsActivityPath: >-
                    b81ec825-1ecf-4bca-a215-1d2ba6f03acd|b0dd1584-c59a-4a10-a64e-638177a54edc
                  wbsActivityCostCode: ''
                  wbsActivitySubCostCode: ''
                  wbsActivityPlannedEndDate: 1748214745000
                  wbsActivityEarnedValue: '0.00'
                  wbsActivityActualStartDate: null
                  wbsActivityEarnedRevenue: '0.00'
                  wbsActivityRevenueUnitRate: null
                  wbsActivityBudget: '0.00'
                  wbsActivityCost: '0.00'
                  wbsActivityPlannedStartDate: 1747782745000
                  wbsActivityGuid: b0dd1584-c59a-4a10-a64e-638177a54edc
                  wbsActivityContractValue: '0.00'
                  wbsActivityChangesToContractValue: '0.00'
                  wbsActivityCodeAndName: 01.01 First children activity
                  wbsActivityCPI: '1'
                  wbsActivityWeight: 50
                  wbsActivityCurrent: 0
                  wbsActivityUoM: ''
                  wbsActivityRemainingBudget: '0.00'
                  wbsActivityActualLastDate: null
                  wbsActivityOriginalContractValue: '0.00'
                  wbsActivityProgress: 0
                  wbsActivityChangesToQuantity: 0
              wbsActivityActualDollarNonBillable: '0.00'
              wbsActivityCode: '01'
              wbsActivityMargin: '0.00'
              wbsActivityBudgetOverride: '0.00'
              wbsActivityOriginalQuantity: null
              wbsActivityContractUnitRate: null
              wbsActivityRemainingQuantity: null
              wbsActivityCommittedPO: '0.00'
              wbsActivityPlannedMarginPercentage: '0'
              wbsActivityTotal: null
              wbsActivityForecastedRemainingCPI: '1.000'
              wbsActivityInvoiced: '0.00'
              wbsActivityPlannedUnitCost: null
              wbsActivityCostUnitRate: null
              wbsActivityPath: b81ec825-1ecf-4bca-a215-1d2ba6f03acd
              wbsActivityCostCode: ''
              wbsActivitySubCostCode: ''
              wbsActivityPlannedEndDate: 1748214745000
              wbsActivityEarnedValue: '0.00'
              wbsActivityActualStartDate: null
              wbsActivityEarnedRevenue: '0.00'
              wbsActivityRevenueUnitRate: null
              wbsActivityBudget: '0.00'
              wbsActivityCost: '0.00'
              wbsActivityPlannedStartDate: 1747782745000
              wbsActivityGuid: b81ec825-1ecf-4bca-a215-1d2ba6f03acd
              wbsActivityContractValue: '0.00'
              wbsActivityChangesToContractValue: '0.00'
              wbsActivityCodeAndName: 01 Root activity
              wbsActivityCPI: '1'
              wbsActivityWeight: 50
              wbsActivityCurrent: 0
              wbsActivityUoM: ''
              wbsActivityRemainingBudget: '0.00'
              wbsActivityActualLastDate: null
              wbsActivityOriginalContractValue: '0.00'
              wbsActivityProgress: 0
              wbsActivityChangesToQuantity: null
      x-tags:
        - Job Orders
    WBSActivityQty:
      type: object
      title: WBSActivityQty
      properties:
        wbsActivityBreakdownGuid:
          type: string
        wbsActivityBreakdownParentActivityGuid:
          type: string
          readOnly: true
        wbsActivityBreakdownBillableTypeUname:
          type: string
          enum:
            - labour
            - equipment
            - material
            - service
            - unit_billing
            - per_diem
            - accommodation
            - mileage
            - surcharge
        wbsActivityBreakdownBillableTypeName:
          type: string
          readOnly: true
        wbsActivityBreakdownBudgetQty:
          type: number
        wbsActivityBreakdownBudgetRevenue:
          type: number
        wbsActivityBreakdownActualQtyUsed:
          type: number
        wbsActivityBreakdownActualQtyExtra:
          type: number
        wbsActivityBreakdownActualTotalUsed:
          type: number
        wbsActivityBreakdownActualTotalExtra:
          type: number
      x-examples:
        Example 1:
          wbsActivityBreakdownParentActivityGuid: b81ec825-1ecf-4bca-a215-1d2ba6f03acd
          wbsActivityBreakdownGuid: 34ff74fa-8252-47e7-96ce-8c6745b01958
          wbsActivityBreakdownActualQtyExtra: '0.000'
          wbsActivityBreakdownActualTotalUsed: '0.00'
          wbsActivityBreakdownBudgetRevenue: '0.00'
          wbsActivityBreakdownActualTotalExtra: '0.00'
          wbsActivityBreakdownBudgetQty: '0.000'
          wbsActivityBreakdownBillableTypeName: Material
          wbsActivityBreakdownActualQtyUsed: '0.000'
          wbsActivityBreakdownBillableTypeUname: material
      x-tags:
        - Job Orders
    WBSActivity:
      type: object
      properties:
        wbsActivityGuid:
          type: string
          description: >-
            Unique identifier, visible to developers and Aimsio admins. A new
            object must include either guid property or number property or both.
        wbsActivitySubCode:
          type: string
        wbsActivitySubCostCode:
          type: string
        wbsActivityName:
          type: string
          description: WBS activity name
        wbsActivityCode:
          type: string
          description: >-
            Concatenation of parent WBS Activity code + current WBS Activity's
            subcode
          readOnly: true
        wbsActivityCostCode:
          type: string
          description: >-
            Concatenation of parent WBS Activity cost code + current WBS
            Activity's sub cost code
          readOnly: true
        wbsActivityCodeAndName:
          type: string
          description: Combined code and name for display
          readOnly: true
        wbsActivitySharedIdentifier:
          type: string
          description: External system ID
        wbsActivityPath:
          type: string
          readOnly: true
        wbsActivityPlannedStartDate:
          type: integer
          description: Timestamp in epoch milliseconds
        wbsActivityPlannedEndDate:
          type: integer
          description: Timestamp in epoch milliseconds
        wbsActivityRevisedStartDate:
          type: integer
          description: Timestamp in epoch milliseconds
        wbsActivityRevisedEndDate:
          type: integer
          description: Timestamp in epoch milliseconds
        wbsActivityActualStartDate:
          type: integer
          description: Timestamp in epoch milliseconds
        wbsActivityActualLastDate:
          type: integer
          description: Timestamp in epoch milliseconds
        wbsActivityHierarchicalOrder:
          type: string
          description: Position in the WBS hierarchy
        wbsActivityUoM:
          type: string
          description: Unit of measure
        wbsActivityContractValue:
          type: number
          readOnly: true
        wbsActivityOriginalContractValue:
          type: number
        wbsActivityChangesToContractValue:
          type: number
        wbsActivityPlannedUnitCost:
          type: number
          readOnly: true
        wbsActivityContractUnitRate:
          type: number
          readOnly: true
        wbsActivityRevenueUnitRate:
          type: number
          readOnly: true
        wbsActivityCostUnitRate:
          type: number
        wbsActivityEarnedValue:
          type: number
          readOnly: true
        wbsActivityEarnedRevenue:
          type: number
          readOnly: true
        wbsActivityOriginalQuantity:
          type: number
        wbsActivityChangesToQuantity:
          type: number
          readOnly: true
        wbsActivityRemainingQuantity:
          type: number
          readOnly: true
        wbsActivityBudget:
          type: number
          readOnly: true
        wbsActivityBudgetOverride:
          type: number
        wbsActivityRemainingBudget:
          type: number
          readOnly: true
        wbsActivityRemainingSpend:
          type: string
          readOnly: true
        wbsActivityCommittedPO:
          type: number
          readOnly: true
        wbsActivityCost:
          type: number
          readOnly: true
        wbsActivityTimecardHours:
          type: number
          readOnly: true
        wbsActivityEAC:
          type: string
          readOnly: true
        wbsActivityEACMethod:
          type: string
          enum:
            - TREND_BASED
            - PERFORMANCE_ADJUSTED
            - BOTTOM_UP
        wbsActivityCPI:
          type: string
          readOnly: true
        wbsActivityForecastedRemainingCPI:
          type: string
        wbsActivityEstimateToComplete:
          type: string
        wbsActivityMargin:
          type: number
          readOnly: true
        wbsActivityPlannedMarginPercentage:
          type: number
          readOnly: true
        wbsActivityMarginPercentage:
          type: number
          readOnly: true
        wbsActivityTotal:
          type: number
        wbsActivityCurrent:
          type: number
        wbsActivityProgress:
          type: number
          readOnly: true
        wbsActivityWeight:
          type: integer
        wbsActivityInvoiced:
          type: number
          readOnly: true
        wbsActivityActualDollarBillable:
          type: number
          readOnly: true
        wbsActivityActualDollarNonBillable:
          type: number
          readOnly: true
        wbsActivityNotes:
          type: string
        wbsActivityDetailedBreakdown: {}
        wbsActivityChildrenCount:
          type: integer
          description: Number of child activities
        wbsActivityChildren:
          type: array
          description: Child WBSActivity
          items:
            $ref: '#/components/schemas/WBSActivityQty'
      required:
        - wbsActivitySubCode
        - wbsActivityName
        - wbsActivitySharedIdentifier
        - wbsActivityPlannedStartDate
        - wbsActivityPlannedEndDate
        - wbsActivityHierarchicalOrder
        - wbsActivityTotal
      x-examples:
        Example 1:
          wbsActivitySharedIdentifier: 1. MC-2024-002
          wbsActivityActualDollarBillable: '0.00'
          wbsActivityEAC: '0.00'
          wbsActivityDetailedBreakdown:
            - wbsActivityBreakdownParentActivityGuid: 8526bce8-dbb4-4c4e-91e4-e8527bb37c9f
              wbsActivityBreakdownGuid: 1ca04283-4f28-4a99-adc9-57a3b271b70e
              wbsActivityBreakdownActualQtyExtra: '0.000'
              wbsActivityBreakdownActualTotalUsed: '0.00'
              wbsActivityBreakdownBudgetRevenue: '0.00'
              wbsActivityBreakdownActualTotalExtra: '0.00'
              wbsActivityBreakdownBudgetQty: '0.000'
              wbsActivityBreakdownBillableTypeName: Accommodation
              wbsActivityBreakdownActualQtyUsed: '0.000'
              wbsActivityBreakdownBillableTypeUname: accommodation
            - wbsActivityBreakdownParentActivityGuid: 8526bce8-dbb4-4c4e-91e4-e8527bb37c9f
              wbsActivityBreakdownGuid: 02f2756f-d59b-4e51-bd37-8c18d4c2e034
              wbsActivityBreakdownActualQtyExtra: '0.000'
              wbsActivityBreakdownActualTotalUsed: '0.00'
              wbsActivityBreakdownBudgetRevenue: '0.00'
              wbsActivityBreakdownActualTotalExtra: '0.00'
              wbsActivityBreakdownBudgetQty: '0.000'
              wbsActivityBreakdownBillableTypeName: Discount
              wbsActivityBreakdownActualQtyUsed: '0.000'
              wbsActivityBreakdownBillableTypeUname: discount
            - wbsActivityBreakdownParentActivityGuid: 8526bce8-dbb4-4c4e-91e4-e8527bb37c9f
              wbsActivityBreakdownGuid: a684a737-9671-4cd3-940e-d43301046cca
              wbsActivityBreakdownActualQtyExtra: '0.000'
              wbsActivityBreakdownActualTotalUsed: '0.00'
              wbsActivityBreakdownBudgetRevenue: '0.00'
              wbsActivityBreakdownActualTotalExtra: '0.00'
              wbsActivityBreakdownBudgetQty: '0.000'
              wbsActivityBreakdownBillableTypeName: Equipment
              wbsActivityBreakdownActualQtyUsed: '0.000'
              wbsActivityBreakdownBillableTypeUname: equipment
            - wbsActivityBreakdownParentActivityGuid: 8526bce8-dbb4-4c4e-91e4-e8527bb37c9f
              wbsActivityBreakdownGuid: d62bef30-082c-4a75-acf4-759b05955e9b
              wbsActivityBreakdownActualQtyExtra: '0.000'
              wbsActivityBreakdownActualTotalUsed: '0.00'
              wbsActivityBreakdownBudgetRevenue: '0.00'
              wbsActivityBreakdownActualTotalExtra: '0.00'
              wbsActivityBreakdownBudgetQty: '0.000'
              wbsActivityBreakdownBillableTypeName: Labor
              wbsActivityBreakdownActualQtyUsed: '0.000'
              wbsActivityBreakdownBillableTypeUname: labour
            - wbsActivityBreakdownParentActivityGuid: 8526bce8-dbb4-4c4e-91e4-e8527bb37c9f
              wbsActivityBreakdownGuid: 10a754c5-86dc-4616-b146-34b45c586709
              wbsActivityBreakdownActualQtyExtra: '0.000'
              wbsActivityBreakdownActualTotalUsed: '0.00'
              wbsActivityBreakdownBudgetRevenue: '0.00'
              wbsActivityBreakdownActualTotalExtra: '0.00'
              wbsActivityBreakdownBudgetQty: '0.000'
              wbsActivityBreakdownBillableTypeName: Material
              wbsActivityBreakdownActualQtyUsed: '0.000'
              wbsActivityBreakdownBillableTypeUname: material
            - wbsActivityBreakdownParentActivityGuid: 8526bce8-dbb4-4c4e-91e4-e8527bb37c9f
              wbsActivityBreakdownGuid: 595f217d-b0a4-46f2-aee7-e0a77ab885ee
              wbsActivityBreakdownActualQtyExtra: '0.000'
              wbsActivityBreakdownActualTotalUsed: '0.00'
              wbsActivityBreakdownBudgetRevenue: '0.00'
              wbsActivityBreakdownActualTotalExtra: '0.00'
              wbsActivityBreakdownBudgetQty: '0.000'
              wbsActivityBreakdownBillableTypeName: Mileage
              wbsActivityBreakdownActualQtyUsed: '0.000'
              wbsActivityBreakdownBillableTypeUname: mileage
            - wbsActivityBreakdownParentActivityGuid: 8526bce8-dbb4-4c4e-91e4-e8527bb37c9f
              wbsActivityBreakdownGuid: f8e7c5e2-f239-421d-ada7-de0df11a2a20
              wbsActivityBreakdownActualQtyExtra: '0.000'
              wbsActivityBreakdownActualTotalUsed: '0.00'
              wbsActivityBreakdownBudgetRevenue: '0.00'
              wbsActivityBreakdownActualTotalExtra: '0.00'
              wbsActivityBreakdownBudgetQty: '0.000'
              wbsActivityBreakdownBillableTypeName: Miscellaneous
              wbsActivityBreakdownActualQtyUsed: '0.000'
              wbsActivityBreakdownBillableTypeUname: misc
            - wbsActivityBreakdownParentActivityGuid: 8526bce8-dbb4-4c4e-91e4-e8527bb37c9f
              wbsActivityBreakdownGuid: 40409f6d-d01f-431d-ba66-e7366eb57d8b
              wbsActivityBreakdownActualQtyExtra: '0.000'
              wbsActivityBreakdownActualTotalUsed: '0.00'
              wbsActivityBreakdownBudgetRevenue: '0.00'
              wbsActivityBreakdownActualTotalExtra: '0.00'
              wbsActivityBreakdownBudgetQty: '0.000'
              wbsActivityBreakdownBillableTypeName: Non-recurring Billables
              wbsActivityBreakdownActualQtyUsed: '0.000'
              wbsActivityBreakdownBillableTypeUname: non_recurring_billables
            - wbsActivityBreakdownParentActivityGuid: 8526bce8-dbb4-4c4e-91e4-e8527bb37c9f
              wbsActivityBreakdownGuid: 5e6881ee-50a2-4e5a-a04d-e40f4a600206
              wbsActivityBreakdownActualQtyExtra: '0.000'
              wbsActivityBreakdownActualTotalUsed: '0.00'
              wbsActivityBreakdownBudgetRevenue: '0.00'
              wbsActivityBreakdownActualTotalExtra: '0.00'
              wbsActivityBreakdownBudgetQty: '0.000'
              wbsActivityBreakdownBillableTypeName: Per Diem
              wbsActivityBreakdownActualQtyUsed: '0.000'
              wbsActivityBreakdownBillableTypeUname: per_diem
            - wbsActivityBreakdownParentActivityGuid: 8526bce8-dbb4-4c4e-91e4-e8527bb37c9f
              wbsActivityBreakdownGuid: 85005b30-b4e4-4ec8-a6f0-93444c07201f
              wbsActivityBreakdownActualQtyExtra: '0.000'
              wbsActivityBreakdownActualTotalUsed: '0.00'
              wbsActivityBreakdownBudgetRevenue: '0.00'
              wbsActivityBreakdownActualTotalExtra: '0.00'
              wbsActivityBreakdownBudgetQty: '0.000'
              wbsActivityBreakdownBillableTypeName: Purchase Order
              wbsActivityBreakdownActualQtyUsed: '0.000'
              wbsActivityBreakdownBillableTypeUname: purchase_order
            - wbsActivityBreakdownParentActivityGuid: 8526bce8-dbb4-4c4e-91e4-e8527bb37c9f
              wbsActivityBreakdownGuid: 4b9258e0-a51a-4232-a602-96051e22d905
              wbsActivityBreakdownActualQtyExtra: '0.000'
              wbsActivityBreakdownActualTotalUsed: '0.00'
              wbsActivityBreakdownBudgetRevenue: '0.00'
              wbsActivityBreakdownActualTotalExtra: '0.00'
              wbsActivityBreakdownBudgetQty: '0.000'
              wbsActivityBreakdownBillableTypeName: Service
              wbsActivityBreakdownActualQtyUsed: '0.000'
              wbsActivityBreakdownBillableTypeUname: service
            - wbsActivityBreakdownParentActivityGuid: 8526bce8-dbb4-4c4e-91e4-e8527bb37c9f
              wbsActivityBreakdownGuid: e9639f37-9d8a-4061-a0fa-4e90fb99d02a
              wbsActivityBreakdownActualQtyExtra: '0.000'
              wbsActivityBreakdownActualTotalUsed: '0.00'
              wbsActivityBreakdownBudgetRevenue: '0.00'
              wbsActivityBreakdownActualTotalExtra: '0.00'
              wbsActivityBreakdownBudgetQty: '0.000'
              wbsActivityBreakdownBillableTypeName: Surcharge
              wbsActivityBreakdownActualQtyUsed: '0.000'
              wbsActivityBreakdownBillableTypeUname: surcharge
            - wbsActivityBreakdownParentActivityGuid: 8526bce8-dbb4-4c4e-91e4-e8527bb37c9f
              wbsActivityBreakdownGuid: 10921050-bda2-4c8f-9d9a-6521f8475503
              wbsActivityBreakdownActualQtyExtra: '0.000'
              wbsActivityBreakdownActualTotalUsed: '0.00'
              wbsActivityBreakdownBudgetRevenue: '0.00'
              wbsActivityBreakdownActualTotalExtra: '0.00'
              wbsActivityBreakdownBudgetQty: '0.000'
              wbsActivityBreakdownBillableTypeName: Unit Billing
              wbsActivityBreakdownActualQtyUsed: '0.000'
              wbsActivityBreakdownBillableTypeUname: unit_billing
          wbsActivityMarginPercentage: '0'
          wbsActivityChildrenCount: 1
          wbsActivityRevisedEndDate: 1747807200000
          wbsActivityNotes: ''
          wbsActivityHierarchicalOrder: '1.'
          wbsActivityEstimateToComplete: '0.00'
          wbsActivityEACMethod: TREND_BASED
          wbsActivitySubCode: '1.'
          wbsActivityRemainingSpend: '0.00'
          wbsActivityTimecardHours: '0.00'
          wbsActivityName: MC-2024-002
          wbsActivityRevisedStartDate: 1747375200000
          wbsActivityChildren:
            - wbsActivitySharedIdentifier: 1.1. WBS Phase 1
              wbsActivityActualDollarBillable: '0.00'
              wbsActivityEAC: '0.00'
              wbsActivityDetailedBreakdown:
                - wbsActivityBreakdownParentActivityGuid: bf0ef979-9c43-4f2e-a5c9-799bf8f93fce
                  wbsActivityBreakdownGuid: 95b26383-5604-442d-8b20-36903cb70583
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.000'
                  wbsActivityBreakdownBudgetRevenue: '0.000'
                  wbsActivityBreakdownActualTotalExtra: '0.000'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Accommodation
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: accommodation
                - wbsActivityBreakdownParentActivityGuid: bf0ef979-9c43-4f2e-a5c9-799bf8f93fce
                  wbsActivityBreakdownGuid: e101d706-0aa3-4ff9-b83e-932078dc7cab
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.000'
                  wbsActivityBreakdownBudgetRevenue: '0.000'
                  wbsActivityBreakdownActualTotalExtra: '0.000'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Discount
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: discount
                - wbsActivityBreakdownParentActivityGuid: bf0ef979-9c43-4f2e-a5c9-799bf8f93fce
                  wbsActivityBreakdownGuid: 41dace2c-49c9-4a33-bca5-7b6e98dfeba5
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.000'
                  wbsActivityBreakdownBudgetRevenue: '0.000'
                  wbsActivityBreakdownActualTotalExtra: '0.000'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Equipment
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: equipment
                - wbsActivityBreakdownParentActivityGuid: bf0ef979-9c43-4f2e-a5c9-799bf8f93fce
                  wbsActivityBreakdownGuid: fb9917a8-62e0-4d3f-950e-a8ce01b5ecdd
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.000'
                  wbsActivityBreakdownBudgetRevenue: '0.000'
                  wbsActivityBreakdownActualTotalExtra: '0.000'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Labor
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: labour
                - wbsActivityBreakdownParentActivityGuid: bf0ef979-9c43-4f2e-a5c9-799bf8f93fce
                  wbsActivityBreakdownGuid: c2fd6955-8070-4c43-a28f-f97c08b90524
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.000'
                  wbsActivityBreakdownBudgetRevenue: '0.000'
                  wbsActivityBreakdownActualTotalExtra: '0.000'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Material
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: material
                - wbsActivityBreakdownParentActivityGuid: bf0ef979-9c43-4f2e-a5c9-799bf8f93fce
                  wbsActivityBreakdownGuid: 6cc3d4e2-f839-4bbe-992c-73af26e0cde8
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.000'
                  wbsActivityBreakdownBudgetRevenue: '0.000'
                  wbsActivityBreakdownActualTotalExtra: '0.000'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Mileage
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: mileage
                - wbsActivityBreakdownParentActivityGuid: bf0ef979-9c43-4f2e-a5c9-799bf8f93fce
                  wbsActivityBreakdownGuid: 4c5d3177-da94-414c-9191-6fe422096ecf
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.000'
                  wbsActivityBreakdownBudgetRevenue: '0.000'
                  wbsActivityBreakdownActualTotalExtra: '0.000'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Miscellaneous
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: misc
                - wbsActivityBreakdownParentActivityGuid: bf0ef979-9c43-4f2e-a5c9-799bf8f93fce
                  wbsActivityBreakdownGuid: 221fc7bd-b41d-4697-a235-0a8de959e4ea
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.000'
                  wbsActivityBreakdownBudgetRevenue: '0.000'
                  wbsActivityBreakdownActualTotalExtra: '0.000'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Non-recurring Billables
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: non_recurring_billables
                - wbsActivityBreakdownParentActivityGuid: bf0ef979-9c43-4f2e-a5c9-799bf8f93fce
                  wbsActivityBreakdownGuid: cb59fd65-f8d8-46ad-8e68-cd6707a5103c
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.000'
                  wbsActivityBreakdownBudgetRevenue: '0.000'
                  wbsActivityBreakdownActualTotalExtra: '0.000'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Per Diem
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: per_diem
                - wbsActivityBreakdownParentActivityGuid: bf0ef979-9c43-4f2e-a5c9-799bf8f93fce
                  wbsActivityBreakdownGuid: 50847b6e-f873-40ec-860c-5558a6ca8b15
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.000'
                  wbsActivityBreakdownBudgetRevenue: '0.000'
                  wbsActivityBreakdownActualTotalExtra: '0.000'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Purchase Order
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: purchase_order
                - wbsActivityBreakdownParentActivityGuid: bf0ef979-9c43-4f2e-a5c9-799bf8f93fce
                  wbsActivityBreakdownGuid: 182a6154-c038-4eef-981e-413975f73e74
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.000'
                  wbsActivityBreakdownBudgetRevenue: '0.000'
                  wbsActivityBreakdownActualTotalExtra: '0.000'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Service
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: service
                - wbsActivityBreakdownParentActivityGuid: bf0ef979-9c43-4f2e-a5c9-799bf8f93fce
                  wbsActivityBreakdownGuid: f0337507-2fee-4561-8b8a-353c212d567d
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.000'
                  wbsActivityBreakdownBudgetRevenue: '0.000'
                  wbsActivityBreakdownActualTotalExtra: '0.000'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Surcharge
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: surcharge
                - wbsActivityBreakdownParentActivityGuid: bf0ef979-9c43-4f2e-a5c9-799bf8f93fce
                  wbsActivityBreakdownGuid: 31f1e827-bcff-4012-a987-8470e9e24b5c
                  wbsActivityBreakdownActualQtyExtra: '0.000'
                  wbsActivityBreakdownActualTotalUsed: '0.000'
                  wbsActivityBreakdownBudgetRevenue: '0.000'
                  wbsActivityBreakdownActualTotalExtra: '0.000'
                  wbsActivityBreakdownBudgetQty: '0.000'
                  wbsActivityBreakdownBillableTypeName: Unit Billing
                  wbsActivityBreakdownActualQtyUsed: '0.000'
                  wbsActivityBreakdownBillableTypeUname: unit_billing
              wbsActivityMarginPercentage: '0'
              wbsActivityChildrenCount: 0
              wbsActivityRevisedEndDate: 1747807200000
              wbsActivityNotes: ''
              wbsActivityHierarchicalOrder: 1.1.
              wbsActivityEstimateToComplete: '0.00'
              wbsActivityEACMethod: TREND_BASED
              wbsActivitySubCode: '1.'
              wbsActivityRemainingSpend: '0.00'
              wbsActivityTimecardHours: '0.00'
              wbsActivityName: WBS Phase 1
              wbsActivityRevisedStartDate: 1747375200000
              wbsActivityChildren: []
              wbsActivityActualDollarNonBillable: '0.00'
              wbsActivityCode: 1.1.
              wbsActivityMargin: '0.00'
              wbsActivityBudgetOverride: '0.00'
              wbsActivityOriginalQuantity: 1
              wbsActivityContractUnitRate: '0.00'
              wbsActivityRemainingQuantity: 1
              wbsActivityCommittedPO: '0.00'
              wbsActivityPlannedMarginPercentage: '0'
              wbsActivityTotal: 1
              wbsActivityForecastedRemainingCPI: '1.000'
              wbsActivityInvoiced: '0.00'
              wbsActivityPlannedUnitCost: '0.00'
              wbsActivityCostUnitRate: null
              wbsActivityPath: >-
                8526bce8-dbb4-4c4e-91e4-e8527bb37c9f|bf0ef979-9c43-4f2e-a5c9-799bf8f93fce
              wbsActivityCostCode: ''
              wbsActivitySubCostCode: ''
              wbsActivityPlannedEndDate: 1747807200000
              wbsActivityEarnedValue: '0.00'
              wbsActivityActualStartDate: null
              wbsActivityEarnedRevenue: '0.00'
              wbsActivityRevenueUnitRate: null
              wbsActivityBudget: '0.00'
              wbsActivityCost: '0.00'
              wbsActivityPlannedStartDate: 1747375200000
              wbsActivityGuid: bf0ef979-9c43-4f2e-a5c9-799bf8f93fce
              wbsActivityContractValue: '0'
              wbsActivityChangesToContractValue: '0'
              wbsActivityCodeAndName: 1.1. WBS Phase 1
              wbsActivityCPI: '1'
              wbsActivityWeight: 50
              wbsActivityCurrent: 0
              wbsActivityUoM: ''
              wbsActivityRemainingBudget: '0.00'
              wbsActivityActualLastDate: null
              wbsActivityOriginalContractValue: '0'
              wbsActivityProgress: 0
              wbsActivityChangesToQuantity: 0
          wbsActivityActualDollarNonBillable: '0.00'
          wbsActivityCode: '1.'
          wbsActivityMargin: '0.00'
          wbsActivityBudgetOverride: '0.00'
          wbsActivityOriginalQuantity: null
          wbsActivityContractUnitRate: null
          wbsActivityRemainingQuantity: null
          wbsActivityCommittedPO: '0.00'
          wbsActivityPlannedMarginPercentage: '0'
          wbsActivityTotal: null
          wbsActivityForecastedRemainingCPI: '1.000'
          wbsActivityInvoiced: '0.00'
          wbsActivityPlannedUnitCost: null
          wbsActivityCostUnitRate: null
          wbsActivityPath: 8526bce8-dbb4-4c4e-91e4-e8527bb37c9f
          wbsActivityCostCode: ''
          wbsActivitySubCostCode: ''
          wbsActivityPlannedEndDate: 1747807200000
          wbsActivityEarnedValue: '0.00'
          wbsActivityActualStartDate: null
          wbsActivityEarnedRevenue: '0.00'
          wbsActivityRevenueUnitRate: null
          wbsActivityBudget: '0.00'
          wbsActivityCost: '0.00'
          wbsActivityPlannedStartDate: 1747375200000
          wbsActivityGuid: 8526bce8-dbb4-4c4e-91e4-e8527bb37c9f
          wbsActivityContractValue: '0.00'
          wbsActivityChangesToContractValue: '0.00'
          wbsActivityCodeAndName: 1. MC-2024-002
          wbsActivityCPI: '1'
          wbsActivityWeight: 50
          wbsActivityCurrent: 0
          wbsActivityUoM: ''
          wbsActivityRemainingBudget: '0.00'
          wbsActivityActualLastDate: null
          wbsActivityOriginalContractValue: '0.00'
          wbsActivityProgress: 0
          wbsActivityChangesToQuantity: null
      x-tags:
        - Job Orders
    NonrecurringBillableItem:
      type: object
      properties:
        nrbGuid:
          type: string
          description: >-
            Unique identifier and is automatically generated by Aimsio system.
            This is only used to update existing object
        nrbExternalId:
          type: string
          description: Recommended property to uniquely identify a new or existing object.
        nrbOriginReference:
          type: string
          description: >-
            This property can be used to uniquely identify a new or existing
            object.
        nrbJobOrderNumber:
          type: string
          description: Must be an existing job number
        nrbWBSGuid:
          type: string
          readOnly: true
        nrbWBSSharedIdentifier:
          type: string
          description: >-
            If provided, must be a valid WBS shared identifier under the NRB's
            job
        nrbPONumber:
          type: string
        nrbPurchaseOrderGuid:
          type: string
          readOnly: true
        nrbPurchaseOrderCostItemOriginReference:
          type: string
          readOnly: true
        nrbInvoiceNumber:
          type: string
        nrbInvoiceDate:
          type: integer
          description: Timestamp in epoch millseconds
        nrbName:
          type: string
        nrbTypeUname:
          type: string
          description: For new objects, either `nrbTypeUname` or `nrbTypeName` is required
        nrbTypeName:
          type: string
          description: For new objects, either `nrbTypeUname` or `nrbTypeName` is required
        nrbDocumentType:
          type: string
          enum:
            - RECEIPT_AP_INVOICE
            - RECEIPT_PACKING_SLIP
            - RECEIPT_FIELD_TICKET
            - RECEIPT_BOL
        nrbAccountType:
          type: string
          enum:
            - Billable
            - Not Billable
        nrbIsBillable:
          type: boolean
        nrbVendorGuid:
          type: string
          readOnly: true
        nrbVendorCode:
          type: string
          description: >-
            Must be a valid existing company code that doesn't belong to
            "Client" type
        nrbRate:
          type: number
        nrbQuantity:
          type: number
        nrbVendorTax:
          type: number
        nrbUpcharge:
          type: number
        nrbMarkupAppliesOn:
          type: string
          enum:
            - SUB_TOTAL
            - SUB_TOTAL_AND_VENDOR_TAX
        nrbTotalAfterMarkup:
          type: number
          description: "Calculated by the system.\r\n`nrbRate` x `nrbQuantity` (+ `nrbVendorTax` if markup applies to vendor tax)\r\nx `nrbUpcharge`"
          readOnly: true
        nrbIsExported:
          type: boolean
        isInternal:
          type: boolean
        nrbShouldReconcileWithPO:
          type: boolean
          description: >-
            If this flag is set to `true`, `nrbExternalId` and `nrbPONumber` are
            required
        nrbBilledInGuid:
          type: string
          readOnly: true
        nrbBilledInName:
          type: string
          readOnly: true
        nrbFileName:
          type: string
        nrbFileMimeType:
          type: string
          enum:
            - application/pdf
            - image/png
            - image/jpeg
          description: Required if `nrbFileName` is provided
          writeOnly: true
        nrbFileBase64Content:
          type: string
          description: Required if `nrbFileName` is provided
          writeOnly: true
        nrbNotes:
          type: string
        nrbCreatedAt:
          type: integer
          description: Timestamp in epoch milliseconds
          readOnly: true
        nrbCreatedByUserName:
          type: string
          readOnly: true
        nrbCreatedByFullName:
          type: string
          readOnly: true
        nrbUpdatedAt:
          type: integer
          description: Timestamp in epoch milliseconds
          readOnly: true
        nrbLineItems:
          type: array
          readOnly: true
          items:
            type: object
            properties:
              nrbLineGuid:
                type: string
              nrbLineOriginReference:
                type: string
                description: >-
                  This property can be used to uniquely identify a new or
                  existing NRB line item.
              nrbLineName:
                type: string
              nrbLineQuantity:
                type: number
              nrbLineRate:
                type: number
              nrbLineNotes:
                type: string
              nrbLinePurchaseOrderGuid:
                type: string
                readOnly: true
              nrbLinePurchaseOrderCostItemGuid:
                type: string
                readOnly: true
            required:
              - nrbLineOriginReference
              - nrbLineName
              - nrbLineQuantity
              - nrbLineRate
        nrbParentGuid:
          type: string
          readOnly: true
          description: The parent NRB guid if this is a child NRB
        nrbParentExternalId:
          type: string
          readOnly: true
          description: The parent NRB external ID if this is a child NRB
        nrbChildren:
          type: array
          description: >-
            Children NRB items. Only appicable if `nrbDocumentType` =
            `RECEIPT_AP_INVOICE`. Children `nrbDocumentType` must not be
            `RECEIPT_AP_INVOICE`
          items:
            type: NonrecurringBillableItem
      required:
        - nrbExternalId
        - nrbJobOrderNumber
        - nrbName
        - nrbTypeName
        - nrbAccountType
        - nrbIsBillable
        - nrbVendorCode
        - nrbRate
        - nrbQuantity
      x-examples:
        Example 1:
          nrbGuid: a16f7284-4d58-4750-a5e3-0300b460ef46
          nrbName: Survey Purchase
          nrbTypeUname: material_nrb_type
          nrbTypeName: Material
          nrbAccountType: Billable
          nrbIsBillable: true
          nrbRate: '5000.000'
          nrbQuantity: '1.000'
          nrbUpcharge: '10.000'
          nrbTotalAfterMarkup: '5500.00'
          nrbMarkupAppliesOn: SUB_TOTAL
          nrbVendorGuid: e9ac27f3-5599-4b4a-97b2-6fbc5835519f
          nrbVendorCode: FES
          nrbVendorTax: '0.000'
          nrbInvoiceNumber: '674588'
          nrbInvoiceDate: 1746700200000
          nrbPONumber: '3435346'
          nrbBilledInGuid: 298a6c51-6cc6-4fb4-93f4-109c0002d243
          nrbBilledInName: Ticket T2025-136-000-002
          nrbLineItems:
            - nrbLineGuid: 9421e777-8710-4fc5-848e-ddf9d753f0c5
              nrbLineName: ''
              nrbLineRate: '0.000'
              nrbLineQuantity: '0.000'
              nrbLineNotes: ''
              nrbLineOriginReference: ''
              nrbLinePurchaseOrderGuid: null
              nrbLinePurchaseOrderCostItemGuid: null
            - nrbLineGuid: 202937ec-264c-42bb-b0d2-c96c937f89b7
              nrbLineName: Survey item
              nrbLineRate: '5000.000'
              nrbLineQuantity: '1.000'
              nrbLineNotes: ''
              nrbLineOriginReference: ''
              nrbLinePurchaseOrderGuid: null
              nrbLinePurchaseOrderCostItemGuid: null
          nrbCreatedAt: 1746805897000
          nrbUpdatedAt: 1746806826000
          nrbCreatedByUserName: admin-lite@concorde-sandbox
          nrbCreatedByFullName: Aimsio Lite
          nrbIsExported: false
          isInternal: false
          nrbFileName: null
          nrbExternalId: null
          nrbOriginReference: null
          nrbPurchaseOrderGuid: null
          nrbPurchaseOrderCostItemOriginReference: null
          nrbWBSGuid: null
          nrbNotes: null
      x-tags:
        - Job Orders
    Invoice:
      type: object
      properties:
        invoiceId:
          type: integer
        invoiceNumber:
          type: string
        invoiceDate:
          type: integer
          description: Timestamp in epoch milliseconds
          readOnly: true
        invoiceTypeUname:
          type: string
          readOnly: true
        invoiceClientGuid:
          type: string
          readOnly: true
        invoiceClientCode:
          type: string
          readOnly: true
        invoiceClientName:
          type: string
          readOnly: true
        invoiceBilledTo:
          type: string
          readOnly: true
        invoiceStatus:
          type: string
          readOnly: true
        invoiceCustomStatus:
          type: string
        invoicePrivateNote:
          type: string
          readOnly: true
        invoiceRetainagePercent:
          type: string
          readOnly: true
        invoiceRetainageAmount:
          type: string
          readOnly: true
        invoiceDiscountPercent:
          type: string
          readOnly: true
        invoiceDiscountAmount:
          type: string
          readOnly: true
        invoiceIsPercentBasedDiscount:
          type: boolean
          readOnly: true
        invoiceTax:
          type: string
          readOnly: true
        invoiceSubTotal:
          type: string
          readOnly: true
        invoiceTotal:
          type: string
          readOnly: true
        invoiceJobOrderGuid:
          type: string
          readOnly: true
        invoiceCreatedAt:
          type: integer
          description: Timestamp in epoch milliseconds
          readOnly: true
        invoiceCreatedByUserName:
          type: string
          readOnly: true
        invoiceCreatedByFullName:
          type: string
          readOnly: true
        invoiceUpdatedAt:
          type: integer
          description: Timestamp in epoch milliseconds
          readOnly: true
        invoiceLastModifiedByUserName:
          type: string
          readOnly: true
        invoiceLastModifiedByFullName:
          type: string
          readOnly: true
        invoicableRecords:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/InvoicableRecord'
        invoiceFormData:
          $ref: '#/components/schemas/Additional-FormData'
        customFieldDataList:
          type: array
          items:
            $ref: '#/components/schemas/CustomFieldData'
      x-examples:
        Example 1:
          invoiceId: 8825
          invoiceNumber: '1534'
          invoiceCreatedAt: 1745528623000
          invoiceUpdatedAt: 1745528623000
          invoiceDate: 1745528585000
          invoiceCreatedByUserName: dennis@concorde-sandbox
          invoiceCreatedByFullName: Dennis Hale
          invoiceLastModifiedByUserName: dennis@concorde-sandbox
          invoiceLastModifiedByFullName: Dennis Hale
          invoiceClientGuid: f67d115b-bf9b-40be-9b17-8b39a59cee2a
          invoiceClientCode: PEI
          invoiceClientName: Pond Energy Inc.
          invoiceBilledTo: |
            Pond Energy Inc.
          invoiceRetainagePercent: '0.00'
          invoiceRetainageAmount: '0.00'
          invoiceDiscountPercent: '0.00'
          invoiceDiscountAmount: '0.00'
          invoiceIsPercentBasedDiscount: true
          invoiceTax: '0'
          invoiceSubTotal: '756.00'
          invoiceTotal: '756.0000'
          invoiceStatus: Pending
          invoiceCustomStatus: null
          invoiceMessage: ''
          invoicePrivateNote: ''
          invoiceTypeUname: general_no_grouping
          invoiceJobOrderGuid: 0d6572dd-3bcb-47fa-8c9d-65081dd461cb
          invoicableRecords:
            - invoicableRecordDType: FormDataInvoicableRecord
              invoicableRecordGuid: 65029963-e398-4192-94d1-724c7ec6fd3b
              invoicableDesc: Vivian Supervisor
              invoicableRecordNotes: Vivian Supervisor
              invoicableRecordRate: '51.975'
              invoicableRecordQuantity: '10.000'
              invoicableRecordUofM: Hourly
              invoicableRecordTotal: '519.75'
              invoicableDate: 1745490600000
              invoicableDate2: null
              invoicableDate3: null
              invoicableRecordLineItemOrder: 0
              invoicableRecordStr1: T2025-121-000-001
              invoicableRecordStr2: Supervisor
              invoicableRecordStr3: Labor
              invoicableRecordStr4: A
              invoicableRecordStr5: Hourly
              invoicableRecordStr6: null
              invoicableRecordStr7: null
              invoicableRecordStr8: null
              invoicableRecordStr9: 36353fdd-d6db-4598-bc4f-38681ee40f0f
              invoicableRecordStr10: null
              invoicableRecordStr11: null
              invoicableRecordStr12: null
              invoicableRecordStr13: null
              invoicableRecordStr14: null
              invoicableRecordStr15: null
              invoicableRecordDecimal1: '0E-9'
              invoicableRecordDecimal2: '0'
              invoicableRecordDecimal3: '0'
              invoicableGLAccount: null
              invoicableRecordTaxList: []
              invoicableRecordTax: '0'
              invoicableRecordTaxName: No Tax
              invoicableRecordSalesTaxGuid: null
              invoicableRecordSalesTaxName: null
              invoicableRecordSalesTaxExternalId: null
              invoicableRecordFormDataGuid: 0299dd34-873c-4899-9e77-e37c96f917d8
              invoicableRecordFormDataId: 230017564062
              invoicableRecordBillableItemGuid: 12c289f0-2ee5-4c64-811a-adc052a16625
              invoicableRecordOriginReference: 12c289f0-2ee5-4c64-811a-adc052a16625
              invoicableRecordWBSGuid: null
            - invoicableRecordDType: FormDataInvoicableRecord
              invoicableRecordGuid: c49b70fc-2de8-478c-a408-cb5280e9e05e
              invoicableDesc: Sally Driver
              invoicableRecordNotes: Sally Driver
              invoicableRecordRate: '23.625'
              invoicableRecordQuantity: '10.000'
              invoicableRecordUofM: Hourly
              invoicableRecordTotal: '236.25'
              invoicableDate: 1745490600000
              invoicableDate2: null
              invoicableDate3: null
              invoicableRecordLineItemOrder: 1
              invoicableRecordStr1: T2025-121-000-001
              invoicableRecordStr2: Driver
              invoicableRecordStr3: Labor
              invoicableRecordStr4: A
              invoicableRecordStr5: Hourly
              invoicableRecordStr6: null
              invoicableRecordStr7: null
              invoicableRecordStr8: null
              invoicableRecordStr9: d8c78507-ee13-4a8a-8a42-931de8b68c20
              invoicableRecordStr10: null
              invoicableRecordStr11: null
              invoicableRecordStr12: null
              invoicableRecordStr13: null
              invoicableRecordStr14: null
              invoicableRecordStr15: null
              invoicableRecordDecimal1: '0E-9'
              invoicableRecordDecimal2: '0'
              invoicableRecordDecimal3: '0'
              invoicableGLAccount: null
              invoicableRecordTaxList: []
              invoicableRecordTax: '0'
              invoicableRecordTaxName: No Tax
              invoicableRecordSalesTaxGuid: null
              invoicableRecordSalesTaxName: null
              invoicableRecordSalesTaxExternalId: null
              invoicableRecordFormDataGuid: 0299dd34-873c-4899-9e77-e37c96f917d8
              invoicableRecordFormDataId: 230017564062
              invoicableRecordBillableItemGuid: 548d51b1-7f0e-49ae-a92e-b8280bcae2bf
              invoicableRecordOriginReference: 548d51b1-7f0e-49ae-a92e-b8280bcae2bf
              invoicableRecordWBSGuid: null
          invoiceFormData:
            formDataFormTypeUname: invoice_cad_additional_info
            formDataInternalStatus: null
            formDataGuid: 186789ca-3a9d-49e2-aa1a-b4398e14fce8
            formDataFieldDataList:
              - fieldDataFieldTypeUname: additional_info
                fieldDataFieldTypeDataType: SectionFieldData
                fieldDataFieldTypeLabel: Additional Info
              - fieldDataStringValue: null
                fieldDataFieldTypeUname: ship_to
                fieldDataFieldTypeDataType: FreeTextFieldData
                fieldDataFieldTypeLabel: Ship To
              - fieldDataStringValue: Net 30
                fieldDataFieldTypeUname: payment_terms
                fieldDataFieldTypeDataType: FreeTextFieldData
                fieldDataFieldTypeLabel: Payment Terms
              - fieldDataStringValue: null
                fieldDataFieldTypeUname: location
                fieldDataFieldTypeDataType: FreeTextFieldData
                fieldDataFieldTypeLabel: Location
              - fieldDataReferenceValue: null
                fieldDataStringValue: ''
                fieldDataFieldTypeUname: division
                fieldDataFieldTypeDataType: LookupFieldData
                fieldDataFieldTypeLabel: Division
              - fieldDataStringValue: ''
                fieldDataFieldTypeUname: service_line
                fieldDataFieldTypeDataType: FreeTextFieldData
                fieldDataFieldTypeLabel: Service Line
              - fieldDataStringValue: null
                fieldDataFieldTypeUname: work_order
                fieldDataFieldTypeDataType: FreeTextFieldData
                fieldDataFieldTypeLabel: Work Order
              - fieldDataStringValue: null
                fieldDataFieldTypeUname: well_name
                fieldDataFieldTypeDataType: FreeTextFieldData
                fieldDataFieldTypeLabel: Well Name
              - fieldDataStringValue: ''
                fieldDataFieldTypeUname: afe_no
                fieldDataFieldTypeDataType: FreeTextFieldData
                fieldDataFieldTypeLabel: 'AFE #'
              - fieldDataStringValue: ''
                fieldDataFieldTypeUname: purchase_order_no
                fieldDataFieldTypeDataType: FreeTextFieldData
                fieldDataFieldTypeLabel: 'PO #'
              - fieldDataStringValue: ''
                fieldDataFieldTypeUname: major
                fieldDataFieldTypeDataType: FreeTextFieldData
                fieldDataFieldTypeLabel: Major
              - fieldDataStringValue: ''
                fieldDataFieldTypeUname: minor
                fieldDataFieldTypeDataType: FreeTextFieldData
                fieldDataFieldTypeLabel: Minor
              - fieldDataStringValue: ''
                fieldDataFieldTypeUname: cost_center
                fieldDataFieldTypeDataType: FreeTextFieldData
                fieldDataFieldTypeLabel: Cost Center
              - fieldDataFieldTypeUname: has_formdata_updated
                fieldDataFieldTypeDataType: BooleanFieldData
                fieldDataBooleanValue: true
                fieldDataFieldTypeLabel: Has Form Data Updated
              - fieldDataStringValue: ''
                fieldDataFieldTypeUname: open_invoice_status
                fieldDataFieldTypeDataType: SelectFieldData
                fieldDataFieldTypeLabel: Open Invoice Status
              - fieldDataStringValue: null
                fieldDataFieldTypeUname: open_invoice_approver
                fieldDataFieldTypeDataType: FreeTextFieldData
                fieldDataFieldTypeLabel: Open Invoice Approver
              - fieldDataFieldTypeUname: well_split_table
                fieldDataTableRows: []
                fieldDataFieldTypeDataType: TableFieldData
                fieldDataFieldTypeLabel: Well Splitting
      x-tags:
        - Transactions
    InvoicableRecord:
      type: object
      title: InvoicableRecord
      properties:
        invoicableRecordDType:
          type: string
        invoicableRecordGuid:
          type: string
        invoicableDesc:
          type: string
          description: Invoice line item description
        invoicableRecordNotes:
          type: string
        invoicableRecordRate:
          type: string
        invoicableRecordQuantity:
          type: string
        invoicableRecordUofM:
          type: string
        invoicableRecordTotal:
          type: string
        invoicableDate:
          type: integer
        invoicableDate2:
          type: integer
        invoicableDate3:
          type: integer
        invoicableRecordLineItemOrder:
          type: integer
        invoicableRecordStr1:
          type: string
        invoicableRecordStr2:
          type: string
          description: Invoice line item name
        invoicableRecordStr3:
          type: string
          description: Invoice line item category
        invoicableRecordStr4:
          type: string
        invoicableRecordStr5:
          type: string
        invoicableRecordStr6:
          type: string
        invoicableRecordStr7:
          type: string
        invoicableRecordStr8:
          type: string
        invoicableRecordStr9:
          type: string
        invoicableRecordStr10:
          type: string
        invoicableRecordStr11:
          type: string
        invoicableRecordStr12:
          type: string
        invoicableRecordStr13:
          type: string
        invoicableRecordStr14:
          type: string
        invoicableRecordStr15:
          type: string
        invoicableRecordDecimal1:
          type: number
        invoicableRecordDecimal2:
          type: number
        invoicableRecordDecimal3:
          type: number
        invoicableGLAccount:
          type: string
        invoicableRecordTaxList:
          type: array
          items:
            type: object
        invoicableRecordTax:
          type: string
        invoicableRecordTaxName:
          type: string
          description: Legacy tax name property
        invoicableRecordSalesTaxGuid:
          type: string
        invoicableRecordSalesTaxName:
          type: string
          description: Tax Name
        invoicableRecordSalesTaxExternalId:
          type: string
        invoicableRecordFormDataGuid:
          type: string
        invoicableRecordFormDataId:
          type: integer
        invoicableRecordBillableItemGuid:
          type: string
        invoicableRecordOriginReference:
          type: string
        invoicableRecordWBSGuid:
          type: string
      x-tags:
        - Transactions
    Timecard:
      type: object
      properties:
        timeCardGuid:
          type: string
        timeCardRecordDate:
          type: integer
        timeCardEmployeeGuid:
          type: string
        timeCardEmployeeCode:
          type: string
        timeCardEmploymentType:
          type: string
        timeCardWorkTradeCode:
          type: string
        timeCardPayType:
          type: string
        timeCardUnionCode:
          type: string
        timeCardTimeZone:
          type: string
        timeCardDescription:
          type: string
        timeCardEmployeeRegularHours:
          type: string
        timeCardRate:
          type: string
        timeCardRTAmount:
          type: string
        timeCardEmployeeOverTimeHours:
          type: string
        timeCardRateOverTime:
          type: string
        timeCardOTAmount:
          type: string
        timeCardEmployeeDoubleTimeHours:
          type: string
        timeCardRateDoubleTime:
          type: string
        timeCardDTAmount:
          type: number
        timeCardEmployeeTravelTimeHours:
          type: number
        timeCardSTAmount:
          type: number
        timeCardPayCode:
          type: string
        timeCardQuantity:
          type: number
        timeCardAmount:
          type: number
        timeCardAmountWithBurden:
          type: number
        timeCardJobGuid:
          type: string
        timeCardJobNumber:
          type: string
        timeCardPhaseGuid:
          type: string
        timeCardPhaseCode:
          type: string
        timeCardEquipmentGuid:
          type: string
        timeCardEquipmentCode:
          type: string
        timeCardPayrollPeriodGuid:
          type: string
        timeCardPayrollPeriodName:
          type: string
        timeCardPayrollPeriodStart:
          type: number
        timeCardPayrollPeriodEnd:
          type: number
        timeCardPayrollPeriodStatus: {}
        timeCardStandardEarningDeductionType:
          type: string
        timeCardCreatedAt:
          type: integer
        timeCardFormDataGuid:
          type: string
        timeCardFormDataNo:
          type: string
        timeCardRowFormDataGuid:
          type: string
        timeCardFieldTicketGuid:
          type: string
        timeCardOriginReference:
          type: string
        timeCardShouldUpdateHoursBreakdown:
          type: boolean
        timeCardCompanyCode:
          type: string
        timeCardEclipseCompany:
          type: string
        timeCardIsExportedToIntegration:
          type: boolean
        timeCardIsDeleted:
          type: boolean
        timeCardIsBillable:
          type: boolean
      x-examples:
        Example 1:
          timeCardGuid: 6344bf5e-3ed3-45a3-a8bf-59e86a8e2872
          timeCardRecordDate: 1745231400000
          timeCardEmployeeGuid: 9d45a547-33d0-4eda-acf7-c3095a8d20c4
          timeCardEmployeeCode: '30'
          timeCardEmploymentType: DIRECT_HIRE
          timeCardWorkTradeCode: Hourly
          timeCardPayType: HR
          timeCardUnionCode: Default Province
          timeCardTimeZone: America/Winnipeg
          timeCarddescription: OK
          timeCardEmployeeRegularHours: '0.000'
          timeCardRate: '0.000'
          timeCardRTAmount: '0.000000'
          timeCardEmployeeOverTimeHours: '2.000'
          timeCardRateOverTime: '0.000'
          timeCardOTAmount: '0.000000'
          timeCardEmployeeDoubleTimeHours: '8.000'
          timeCardRateDoubleTime: '0.000'
          timeCardDTAmount: '0.000000'
          timeCardEmployeeTravelTimeHours: '0.000'
          timeCardSTAmount: '0.000000'
          timeCardPayCode: null
          timeCardQuantity: '0.000'
          timeCardAmount: '0.000'
          timeCardAmountWithBurden: '0.000'
          timeCardJobGuid: 8dd33a3b-5843-4f9b-add9-60dbc47cd7f8
          timeCardJobNumber: 2025-116
          timeCardPhaseGuid: null
          timeCardPhaseCode: null
          timeCardEquipmentGuid: null
          timeCardEquipmentCode: null
          timeCardPayrollPeriodGuid: null
          timeCardPayrollPeriodName: null
          timeCardPayrollPeriodStart: null
          timeCardPayrollPeriodEnd: null
          timeCardPayrollPeriodStatus: null
          timeCardStandardEarningDeductionType: null
          timeCardCreatedAt: 1745934672419
          timeCardFormDataGuid: 959D7AC6-0A94-44F2-AD5E-D4F4140C7576
          timeCardFormDataNo: CTS2025-116-059-001
          timeCardRowFormDataGuid: D543EB55-0B14-435E-B6AA-1709E99A8C15
          timeCardFieldTicketGuid: null
          timeCardOriginReference: 230017561381:d5770061-b448-11ec-bc53-02445702d617
          timeCardShouldUpdateHoursBreakdown: true
          timeCardCompanyCode: null
          timeCardEclipseCompany: null
          timeCardIsExportedToIntegration: false
          timeCardIsDeleted: false
          timeCardIsBillable: false
      x-tags:
        - Transactions
    PayrollPeriod:
      type: object
      properties:
        payrollPeriodGuid:
          type: string
        payrollPeriodName:
          type: string
          readOnly: true
        payrollPeriodAmount:
          type: string
          readOnly: true
        payrollPeriodPayTypeName:
          type: string
          readOnly: true
        payrollPeriodStatus:
          type: string
          enum:
            - READY_FOR_EXPORT
            - EXPORTED
            - PROCESSED
      x-examples:
        Example 1:
          payrollPeriodStatus: PROCESSED
          payrollPeriodAmount: '250.000'
          payrollPeriodGuid: 295f308f-8784-4f93-b8f4-d35f8314726f
          payrollPeriodName: '202320'
          payrollPeriodPayTypeName: HR
      x-tags:
        - Transactions
    User:
      type: object
      properties:
        userGuid:
          type: string
          description: >-
            Unique identifier and is automatically generated by Aimsio system.
            This is only used to update existing object
        userName:
          type: string
          description: >-
            Unique identifier, visible to end users. Required for creating or
            updating an object
        userFirstName:
          type: string
        userLastName:
          type: string
        userFullName:
          type: string
          readOnly: true
        userRoleNames:
          type: array
          description: >-
            Array of valid role names. Either `userRoleNames` or `userRoleGuids`
            must be provided
          items:
            type: string
        userRoleGuids:
          type: array
          description: >-
            Array of valid role GUIDs. Either `userRoleNames` or `userRoleGuids`
            must be provided
          items:
            type: string
        userPhone:
          type: string
        userEmail:
          type: string
        userIsActive:
          type: boolean
        userAreas:
          type: array
          items:
            type: string
        userShortCode:
          type: string
          maxLength: 3
      required:
        - userName
        - userFirstName
        - userLastName
        - userRoleNames
        - userIsActive
      x-examples:
        Example 1:
          userName: testUser@kentest-sandbox
          userFirstName: New
          userRoleNames:
            - Field Worker
          userLastName: User
          userPhone: 604-423-1532
          userEmail: ken.bui@aimsio.com
          userIsActive: true
      x-tags:
        - Users
