Locus Order API

The Order API from Locus — 8 operation(s) for order.

OpenAPI Specification

locus-sh-order-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: Locus HomebaseMaster Order API
  description: Manage your deliveries with the Locus API
  version: 1.0.0
schemes:
- https
consumes:
- application/json
produces:
- application/json
tags:
- name: Order
paths:
  /client/{clientId}/order:
    parameters:
    - $ref: '#/parameters/ClientIdParam'
    get:
      summary: Get an order
      operationId: getOrderBySourceId
      parameters:
      - name: sourceOrderId
        in: query
        description: Source Id of the order
        required: true
        type: string
      tags:
      - Order
      responses:
        '200':
          description: The latest order in terms of orderDate with the given sourceOrderId
          schema:
            $ref: '#/definitions/Order'
      security:
      - locusauth: []
  /client/{clientId}/order/{orderId}:
    parameters:
    - $ref: '#/parameters/ClientIdParam'
    - $ref: '#/parameters/OrderIdParam'
    get:
      summary: Get an order
      operationId: getOrder
      parameters:
      - name: include
        in: query
        description: Comma separated list of extra fields that should be included for the Order. Supported values are HOMEBASE & LOCATION
        required: false
        type: string
      tags:
      - Order
      responses:
        '200':
          description: Requested Order
          schema:
            $ref: '#/definitions/Order'
      security:
      - locusauth: []
    put:
      summary: Create an order
      operationId: createOrder
      parameters:
      - name: body
        in: body
        description: Order create request
        required: true
        schema:
          $ref: '#/definitions/CreateOrderRequest'
      - name: suffix
        in: query
        description: Append given suffix to all orderIds, if provided
        required: false
        type: string
      - $ref: '#/parameters/OverwriteParam'
      tags:
      - Order
      responses:
        '200':
          description: Created Order
          schema:
            $ref: '#/definitions/Order'
      security:
      - locusauth: []
  /client/{clientId}/order/{orderId}/park:
    parameters:
    - $ref: '#/parameters/ClientIdParam'
    - $ref: '#/parameters/OrderIdParam'
    put:
      description: Update status as parked for a single order
      operationId: parkOrder
      parameters:
      - name: request
        in: body
        description: park request
        required: false
        schema:
          $ref: '#/definitions/ParkOrderRequest'
      tags:
      - Order
      responses:
        '200':
          description: Success response
          schema:
            $ref: '#/definitions/GenericResponse'
      security:
      - locusauth: []
  /client/{clientId}/order/{orderId}/cancel:
    parameters:
    - $ref: '#/parameters/ClientIdParam'
    - $ref: '#/parameters/OrderIdParam'
    put:
      description: Update status as cancelled for a single order
      operationId: cancelOrder
      parameters:
      - name: request
        in: body
        description: cancel order request
        required: false
        schema:
          $ref: '#/definitions/CancelOrderRequest'
      tags:
      - Order
      responses:
        '200':
          description: Success response
          schema:
            $ref: '#/definitions/GenericResponse'
      security:
      - locusauth: []
  /client/{clientId}/order/{orderId}/open:
    parameters:
    - $ref: '#/parameters/ClientIdParam'
    - $ref: '#/parameters/OrderIdParam'
    put:
      description: Update status as open for a single order
      operationId: openOrder
      tags:
      - Order
      responses:
        '200':
          description: Success response
          schema:
            $ref: '#/definitions/GenericResponse'
      security:
      - locusauth: []
  /client/{clientId}/order/{orderId}/complete:
    parameters:
    - $ref: '#/parameters/ClientIdParam'
    - $ref: '#/parameters/OrderIdParam'
    put:
      description: Update the order status to COMPLETE
      operationId: completeOrder
      parameters:
      - name: request
        in: body
        description: Complete order request
        required: true
        schema:
          $ref: '#/definitions/CompleteOrderRequest'
      tags:
      - Order
      responses:
        '200':
          description: Success response
          schema:
            $ref: '#/definitions/GenericResponse'
      security:
      - locusauth: []
  /client/{clientId}/order/{orderId}/reschedule:
    parameters:
    - $ref: '#/parameters/ClientIdParam'
    - $ref: '#/parameters/OrderIdParam'
    post:
      description: Reschedule the order for given date
      operationId: rescheduleOrder
      parameters:
      - name: request
        in: body
        description: Order reschedule request
        required: true
        schema:
          $ref: '#/definitions/OrderRescheduleRequest'
      tags:
      - Order
      responses:
        '200':
          description: Success response
          schema:
            $ref: '#/definitions/GenericResponse'
      security:
      - locusauth: []
  /client/{clientId}/order/{orderId}/verify-inventory:
    parameters:
    - $ref: '#/parameters/ClientIdParam'
    - $ref: '#/parameters/OrderIdParam'
    put:
      summary: Inventory Verification
      operationId: verifyInventory
      parameters:
      - name: request
        in: body
        required: true
        schema:
          $ref: '#/definitions/InventoryVerificationRequest'
      tags:
      - Order
      responses:
        '200':
          description: Void response
      security:
      - locusauth: []
definitions:
  GeocodingMetadata:
    description: Metadata for geocoding of the address
    properties:
      provider:
        $ref: '#/definitions/GeocodingProvider'
      latLng:
        description: Optional location coordinates
        $ref: '#/definitions/MinimalLatLng'
      accuracy:
        type: integer
        format: int32
        default: 0
      confidence:
        $ref: '#/definitions/GeocodingConfidence'
      verified:
        description: Boolean to denote whether the geocoding is verified or not
        type: boolean
        default: false
      requestId:
        description: Id for the stored geocode request
        type: string
      isCentroidResponse:
        description: Denotes if the response is centroid response of any kind
        type: boolean
        default: false
      responseSource:
        $ref: '#/definitions/ResponseSource'
  PaymentChecklistItems:
    properties:
      skipPaymentChecklist:
        type: array
        items:
          $ref: '#/definitions/ChecklistItem'
      partialPaymentChecklist:
        type: array
        items:
          $ref: '#/definitions/ChecklistItem'
      fullPaymentChecklist:
        type: array
        items:
          $ref: '#/definitions/ChecklistItem'
  AmountType:
    description: Payment status of an order.
    type: string
    enum:
    - CURRENT
    - EXECUTED
  TransitCode:
    properties:
      code:
        type: string
      description:
        type: string
  BaseAmount:
    description: Amount value of an item
    properties:
      amount:
        type: number
        format: double
  OrderPaymentStatus:
    description: Payment status of an order.
    type: string
    enum:
    - PAID
    - PARTIALLY_PAID
    - UNPAID
    - PENDING
  Checklist:
    description: A map containing selected values for each checklist item.
    type: object
    allOf:
    - $ref: '#/definitions/StringObjectMap'
    - type: object
  LocationSource:
    description: location provider source.
    type: string
    enum:
    - LOCATION_MASTER
  RejectedTourDetail:
    description: Tour details
    properties:
      tourId:
        type: string
      riderId:
        type: string
      vehicleId:
        type: string
  FulfillmentMode:
    description: Channel through which the Order is fulfilled
    type: string
    enum:
    - DISPATCH_IQ
    - TRACK_IQ
    - ORCHESTRATION_IQ
    - TOUR_DISPATCH_MANAGEMENT
  FulfillmentChannel:
    description: Channel through which the Order is fulfilled
    type: string
    enum:
    - DISPATCH_IQ
    - TRACK_IQ
    - ORCHESTRATION_IQ
    - TOUR_DISPATCH_MANAGEMENT
  TransactionStatus:
    allOf:
    - $ref: '#/definitions/BaseTransactionStatus'
    - type: object
      properties:
        orderedWeight:
          description: Weight of the item that has been ordered
          $ref: '#/definitions/Weight'
        transactedWeight:
          description: Weight of the item that has been transacted
          $ref: '#/definitions/Weight'
        orderedVolume:
          description: Volume of the item that has been ordered
          $ref: '#/definitions/Volume'
        transactedVolume:
          description: Volume of the item that has been transacted
          $ref: '#/definitions/Volume'
  StringObjectMap:
    type: object
  ResponseSource:
    $ref: https://swagger.locus-api.com/geocoding.yaml#/definitions/ResponseSource
  PodChecklistVerificationResult:
    properties:
      podVerificationStatus:
        description: Status of the POD verification result
        $ref: '#/definitions/PodVerificationStatusEnum'
      podVerificationResult:
        description: A map of POD verification results with checklist item id and result
        type: object
        additionalProperties:
          $ref: '#/definitions/PodVerificationResult'
  ChecklistItem:
    $ref: https://swagger.locus-api.com/task.yaml#/definitions/ChecklistItem
  ReasonCode:
    description: Reason Code Enum
    type: string
    enum:
    - UNALLOCATED_IN_PLAN
    - RESCHEDULED
    - CANCELLATION_REASON
    - DATA_ISSUE
    - NO_WORKFLOW_MATCHED
    - NO_DISPATCH_WAVE_MATCHED
    - ATTEMPTS_EXHAUSTED
    - REATTEMPTS_EXHAUSTED
    - PARK_ATTEMPTS_EXHAUSTED
    - RESCHEDULES_EXHAUSTED
    - DELIVERY_WINDOW_EXHAUSTED
    - QUOTE_NOT_FOUND
    - CARRIER_REJECTED
    - QUOTE_REJECTED
    - QUOTE_AUTO_ACCEPTED
    - QUOTE_ACCEPTED_BY_USER
    - NO_SLOTS_AVAILABLE
    - GEOCODING_ERROR
    - PARKED
    - AUTOSORT_ERROR
    - CAPACITY_EXCEEDED
  MinimalLatLng:
    description: A latitude, longitude pair
    required:
    - lat
    - lng
    properties:
      lat:
        type: number
        format: double
      lng:
        type: number
        format: double
  VolumeUnit:
    description: Unit for volume
    type: string
    enum:
    - CMM
    - CCM
    - CC
    - CM
    - M3
    - CIN
    - CI
    - CFT
    - CF
    - CYD
    - IC
    - TC
    - L
  OrderVisitDetails:
    description: visit related details by statuses
    properties:
      homebaseStartedBy:
        type: string
      homebaseStartedAt:
        type: string
        format: date-time
      homebaseReachedBy:
        type: string
      homebaseReachedAt:
        type: string
        format: date-time
      homebaseTransactingBy:
        type: string
      homebaseTransactingAt:
        type: string
        format: date-time
      homebaseCompletedBy:
        type: string
      homebaseCompletedOn:
        type: string
        format: date-time
      homebaseCancelledBy:
        type: string
      homebaseCancelledAt:
        type: string
        format: date-time
      customerVisitStartedBy:
        type: string
      customerVisitStartedAt:
        type: string
      customerVisitReachedBy:
        type: string
      customerVisitReachedAt:
        type: string
      customerVisitTransactingBy:
        type: string
      customerVisitTransactingAt:
        type: string
        format: date-time
      customerVisitCompletedBy:
        type: string
      customerVisitCompletedAt:
        type: string
      customerVisitCancelledBy:
        type: string
      customerVisitCancelledAt:
        type: string
  TransporterType:
    $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/TransporterType
  AmountDetails:
    description: It represents all amount components.
    properties:
      id:
        type: string
      grossAmount:
        description: Total unadjusted amount
        $ref: '#/definitions/Amount'
      netAmount:
        description: Adjusted amount after discounts or taxes
        $ref: '#/definitions/Amount'
      amountToBeCollected:
        description: The actual amount to be collected from the customer
        $ref: '#/definitions/Amount'
  OmsDimensions:
    description: Dimensions of an item
    properties:
      length:
        description: Length of the item in meters
        type: number
        format: double
      breadth:
        description: Breadth of the item in meters
        type: number
        format: double
      height:
        description: Height of the item in meters
        type: number
        format: double
      unit:
        $ref: '#/definitions/LengthUnit'
  OrchestrationStatus:
    type: object
  OrderDetailStatusEnum:
    type: string
    enum:
    - DELIVERED
    - NOT_DELIVERED
    - PARTIALLY_DELIVERED
  CreatePromiseInformationRequest:
    properties:
      serviceTypeId:
        type: string
  Amount:
    description: Amount of an item
    properties:
      amount:
        type: number
        format: double
      currency:
        type: string
        description: Currency for the amount. Value should be one of the active codes of official ISO 4217 currency names. Examples are INR, USD, AED, GBP etc
      symbol:
        type: string
        description: A symbol for the currency. If missing, will default to currency string
  DateSlotInfoElement:
    properties:
      date:
        type: string
      slotIds:
        type: array
        items:
          type: string
  TrackingInfo:
    description: Tracking info
    properties:
      link:
        description: Url of the tracking link
        type: string
  PromiseTimelineElement:
    properties:
      serviceTypeId:
        type: string
      dateSlots:
        type: array
        items:
          $ref: '#/definitions/DateSlotInfoElement'
      timestamp:
        type: string
        format: date-time
      actor:
        $ref: '#/definitions/Actor'
      reason:
        $ref: '#/definitions/Reason'
  ContractId:
    type: object
  Quantity:
    description: Quantity of items
    required:
    - value
    - unit
    properties:
      value:
        description: Quantity of the item in the given unit.
        type: integer
        format: int32
      unit:
        type: string
  PaymentId:
    description: Id of the payment instrument as identified by a provider
    required:
    - instrumentId
    - paymentId
    properties:
      instrumentId:
        $ref: '#/definitions/ProviderInstrumentId'
      paymentId:
        description: Id for the payment as identified by the provider.
        type: string
  TransactionDetail:
    $ref: https://swagger.locus-api.com/oms.yaml#/definitions/TransactionDetail
  Weight:
    description: Weight of order
    required:
    - value
    - unit
    properties:
      value:
        description: Value of the weight in the given unit.
        type: string
      unit:
        $ref: '#/definitions/WeightUnit'
  PodVerificationStatusEnum:
    $ref: https://swagger.locus-api.com/task.yaml#/definitions/PodVerificationStatusEnum
  TransactionDurationInfo:
    properties:
      zone:
        description: Transaction duration based on the zone of the order
        type: integer
        format: int32
      skill:
        description: Transaction duration based on the skills of the order
        type: integer
        format: int32
      location:
        description: Transaction duration based on the location of the order
        type: integer
        format: int32
      lineitem:
        description: Transaction duration based on the lineitems of the order
        type: integer
        format: int32
      lineitemMultiplier:
        type: number
        format: double
        default: 1
  AutoSortDetails:
    description: details containing the route
    properties:
      route:
        description: Route for given order
        $ref: '#/definitions/MinimalAutosortRoute'
      versionedMapIds:
        type: array
        items:
          $ref: '#/definitions/VersionedMapId'
      autosortId:
        description: Id of the auto sort request
        type: string
  ProviderInstrumentId:
    description: Id of the payment instrument as identified by a provider
    required:
    - providerId
    - instrumentId
    properties:
      providerId:
        description: Id of payment instrument provider. For eg, razor-pay for RazorPay instruments. This should be one of the supported values.
        type: string
      instrumentId:
        description: Id of the payment instrument as identified by the provider.
        type: string
  VersionedMapId:
    type: object
  FreightCostSource:
    type: string
    enum:
    - CLIENT
    - CONTRACT
  ParkOrderRequest:
    properties:
      reason:
        $ref: '#/definitions/Reason'
  PaymentInstrumentType:
    description: Denotes the type of payment instrument
    type: string
    enum:
    - CASH
    - COUPON
    - ECOD
    - ONLINE
  WeightUnit:
    description: Unit for weight
    type: string
    enum:
    - MG
    - G
    - KG
    - T
    - OZ
    - LB
  LineItemDetails:
    $ref: https://swagger.locus-api.com/oms.yaml#/definitions/LineItemDetails
  OrderStatusUpdate:
    description: Merge patch request wrapper
    properties:
      channel:
        $ref: '#/definitions/FulfillmentChannel'
      orderStatus:
        $ref: '#/definitions/OrderStatus'
      orderSubStatus:
        $ref: '#/definitions/OrderSubStatus'
      orderMetadata:
        $ref: '#/definitions/OrderMetadata'
      updatedBy:
        type: string
      updatedOn:
        type: string
        format: date-time
  ShipmentRateDetail:
    type: object
  AmountTransaction:
    description: Transaction of an amount.
    properties:
      refId:
        description: id of amount transaction
        type: string
      amount:
        $ref: '#/definitions/Amount'
      net:
        $ref: '#/definitions/BaseAmount'
      gross:
        $ref: '#/definitions/BaseAmount'
      exchangeType:
        description: Type of transaction.
        type: string
        enum:
        - COLLECT
        - GIVE
        - NONE
  OrderFreightCostMetadata:
    properties:
      freightCost:
        $ref: '#/definitions/FreightCost'
  Actor:
    type: object
  AutomationMetadata:
    description: Order automation metadata
    properties:
      reattemptCount:
        type: integer
        format: int32
        default: 0
      rescheduleCount:
        type: integer
        format: int32
        default: 0
      reasonCode:
        $ref: '#/definitions/ReasonCode'
      reasonDescription:
        type: string
      attemptCount:
        type: integer
        format: int32
        default: 0
      firstAttemptDate:
        type: string
      deliveryWindowEndDate:
        type: string
      shipFlexTransferCount:
        type: integer
        format: int32
        default: 0
  EntityDefinition:
    type: object
  LineItemTransactionStatus:
    allOf:
    - $ref: '#/definitions/BaseLineItemTransactionStatus'
    - type: object
      properties:
        transactionStatus:
          $ref: '#/definitions/TransactionStatus'
        homebaseTransactionStatus:
          $ref: '#/definitions/TransactionStatus'
        outboundTransactionStatus:
          $ref: '#/definitions/TransactionStatus'
        boxDetailSummary:
          $ref: '#/definitions/BoxDetailSummary'
  LineItemPart:
    description: A part of the line item which can be shipped separately
    required:
    - volume
    properties:
      id:
        type: string
      volume:
        $ref: '#/definitions/Volume'
      weight:
        $ref: '#/definitions/Weight'
      originalWeight:
        $ref: '#/definitions/Weight'
      dimensions:
        $ref: '#/definitions/OmsDimensions'
      piecesCount:
        type: integer
        format: int32
        default: 1
  CompleteOrderRequest:
    description: Order complete request
    properties:
      orderId:
        type: string
      timestamp:
        type: string
        format: date-time
      homebaseTimestamp:
        type: string
        format: date-time
      lineItems:
        type: array
        items:
          $ref: '#/definitions/LineItemTransactionStatus'
      customerTransactionStatus:
        $ref: '#/definitions/TransactionDetail'
      homebaseTransactionStatus:
        $ref: '#/definitions/TransactionDetail'
      isSoftComplete:
        type: boolean
        description: Flag to denote if completion of order to be treated as soft or hard
        default: false
  ShippingLabelInfo:
    type: object
  OrchestrationShipmentMetadata:
    properties:
      carrierId:
        type: string
      serviceType:
        type: string
      orchestrationStatus:
        $ref: '#/definitions/OrchestrationStatus'
      shipmentRateDetail:
        $ref: '#/definitions/ShipmentRateDetail'
      waybills:
        type: array
        items:
          $ref: '#/definitions/OrchestrationWaybillMetadata'
  AmountExchangeType:
    description: Amount exchange enum
    type: string
    enum:
    - COLLECT
    - PREPAID
  PartItemVolume:
    properties:
      value:
        type: number
        format: double
      unit:
        type: string
  MinimalMasterLineItem:
    properties:
      id:
        description: An identifier for the SKU. If provided, details related to line item will be populated using sku master of the client
        type: string
      name:
        description: Name of the item
        type: string
      code:
        description: Line Item Code
        type: string
      parts:
        type: array
        items:
          $ref: '#/definitions/MasterLineItemPart'
  MinimalAutosortRoute:
    type: object
  ExtendedStructuredAddress:
    allOf:
    - $ref: '#/definitions/StructuredAddress'
    - type: object
      properties:
        type:
          $ref: '#/definitions/LocationType'
        customProperties:
          type: object
          additionalProperties:
            type: string
  Payments:
    description: Container for all payment related info
    required:
    - totalAmount
    - pendingAmount
    - fullAmountRequired
    - paymentRequired
    properties:
      totalAmount:
        $ref: '#/definitions/Amount'
      pendingAmount:
        $ref: '#/definitions/Amount'
      payments:
        description: All payments associated with this. Can be in any status - successful, failed, pending etc.
        type: array
        items:
          $ref: '#/definitions/Payment'
      fullAmountRequired:
        type: boolean
        default: false
        description: Boolean to denote that full payment amount is required before completing the task.
      paymentRequired:
        type: boolean
        description: Boolean to denote that payments are supposed to be present here
  TourDetail:
    description: Tour details
    properties:
      tourId:
        type: string
      sequence:
        type: integer
        format: int32
      riderId:
        type: string
      riderName:
        type: string
      riderNumber:
        type: string
      transporterId:
        type: string
      transporterName:
        type: string
      transporterType:
        $ref: '#/definitions/TransporterType'
      vehicleModelId:
        type: string
      vehicleModelName:
        type: string
      vehicleId:
        type: string
      vehicleName:
        type: string
      vehicleRegistrationNumber:
        type: string
      tourStartTime:
        type: string
        format: date-time
      tourEndTime:
        type: string
        format: date-time
      tourTravelDistance:
        type: integer
        format: int32
      isSortedForTour:
        type: boolean
        default: false
      costMetadata:
        $ref: '#/definitions/TourCostMetadata'
      isMultiTrip:
        type: boolean
      parentTourId:
        type: string
      customProperties:
        type: object
        additionalProperties:
          type: string
  OrchestrationMetadata:
    properties:
      orchestrationId:
        type: string
      shipmentMetadata:
        $ref: '#/definitions/OrchestrationShipmentMetadata'
      customerGeocodedLocation:
        $ref: '#/definitions/OrderGeocodedLocation'
      homebaseGeocodedLocation:
        $ref: '#/definitions/OrderGeocodedLocation'
      shippingLabelInfo:
        $ref: '#/definitions/ShippingLabelInfo'
  OrderCostEnum:
    description: Status based on contract calculation. Possible values DISABLED, CONTRACT_MISSING, CALCULATION_FAILURE, AVAILABLE
    type: string
    enum:
    - DISABLED
    - CONTRACT_MISSING
    - CALCULATION_FAILURE
    - AVAILABLE
  Payment:
    description: A payment request, through any of the payment instruments.
    required:
    - instrument
    - desiredAmount
    - status
    - createdOn
    - updatedOn
    properties:
      amountId:
        type: string
      transactionId:
        type: string
      instrument:
        $ref: '#/definitions/PaymentInstrument'
      paymentId:
        $ref: '#/definitions/PaymentId'
      desiredAmount:
        $ref: '#/definitions/Amount'
      actualAmount:
        $ref: '#/definitions/Amount'
      reconciledAmount:
        $ref: '#/definitions/Amount'
      amountEditable:
        type: boolean
        description: Boolean that denotes whether or not amount can be edited after the invoice is generated. This can support partial payments.
      status:
        $ref: '#/definitions/PaymentStatus'
      createdOn:
        description: Timestamp of creation
        type: string
        format: date-time
      updatedOn:
        description: Timestamp of last update
        type: string
        format: date-time
      latestActor:
        description: Actor who triggered this payment
        $ref: '#/definitions/Actor'
      additionalInfo:
        description: Additional information that needs to be shared for the payment
        type: object
        additionalProperties:
          type: string
      reconciledAmountChecklistValues:
        $ref: '#/definitions/Checklist'
      reconciledOn:
        description: Timestamp of last update
        type: string
        format: date-time
  BaseTransactionStatus:
    required:
    - triggerTime
    - transactedQuantity
    - checklistValues
    properties:
      orderedQuantity:
        description: Quantity of the item that has been ordered
        type: integer
        format: int32
      transactedQuantity:
        description: Quantity of the item that has been transacted
        type: integer
        format: int32
      checklistValues:
        $ref: '#/definitions/Checklist'
      triggerTime:
        description: Time when the transaction status update was triggered on the client side
        type: string
        format: date-time
      actor:
        $ref: '#/definitions/Actor'
      status:
        $ref: '#/definitions/OrderDetailStatusEnum'
  HandlingUnitEnum:
    description: delivery handling units to identify deliverable field
    type: string
    enum:
    - QUANTITY
    - WEIGHT
    - VOLUME
  CreateLineItemDetails:
    $ref: https://swagger.locus-api.com/oms.yaml#/definitions/CreateLineItemDetails
  OrderRescheduleRequest:
    properties:
      customerRescheduleRequest:
        $ref: '#/definitions/RescheduleRequest'
      homebaseRescheduleRequest:
        $ref: '#/definitions/RescheduleRequest'
  TourCostMetadata:
    properties:
      dispatchedFreightCost:
        $ref: '#/definitions/TourFreightCostMetadata'
  PaymentStatus:
    description: Status of the payment
    type: string
    enum:
    - PENDING
    - SUCCESS
    - FAILED
    - CANCELLED
  PromiseInformation:
    allOf:
    - $ref: '#/definitions/CreatePromiseInformationRequest'
    - type: object
      properties:
        promiseId:
          type: string
        slotId:
          type: string
        date:
          type: string
        dateSlots:
          type: array
          items:
            $ref: '#/definitions/DateSlotInfoElement'
        timeline:
          type: array
          items:
            $ref: '#/definitions/PromiseTimelineElement'
  OrderCostMetadata:
    properties:
      dispatchedFreightCost:
        $ref: '#/definitions/OrderFreightCostMetadata'
      contractCostMetadata:
        $ref: '#/definitions/ContractCostMetadata'
  PodVerificationResult:
    $ref: https://swagger.locus-api.com/task.yaml#/definitions/PodVerificationResult
  AmountDetailsTimeline:
    description: Maintains a chronological log of amount updates with details
    properties:
      amount:
        $ref: '#/definitions/AmountDetails'
      exchangeType:
        $ref: '#/definitions/AmountExchangeType'
      actor:
        $ref: '#/definitions/Actor'
      amountType:
        $ref: '#/definitions/AmountType'
      timestamp:
        type: string
        format: date-time
  ChecklistItems:
    properties:
      customerCompleted:
        type: array
        items:
          $ref: '#/definitions/ChecklistItem'
      customerCancelled:
        type: array
        items:
          $ref: '#/definitions/ChecklistItem'
      homebaseCompleted:
        type: array
        items:
          $ref: '#/definitions/ChecklistItem'
      homebaseCancelled:
        type: array
        items:
          $ref: '#/definitions/ChecklistItem'
  AppFields:
    $ref: https://swagger.locus-api.com/task.yaml#/definitions/AppFields
  LineItemSummary:
    properties:
      totalWeight:
        description: Sum of individual weights of all parts
        $ref: '#/definitions/Weight'
      totalVolume:
        description: Sum of individual volumes of all parts
        $ref: '#/definitions/Volume'
      totalReweighCount:
        type: integer
        format: int32
        default: 0
  OrderMetadata:
    description: Order planning and execution metadata
    properties:
      batchId:
        type: string
      planId:
        type: string
      dispatchWaveId:
        type: string
      dispatchWaveName:
        type: string
      dispatchWaveBatchId:
        type: string
      planIteration:
        type: integer
      homebaseId:
        type: string
      latLng:
        $ref: '#/definitions/MinimalLatLng'
      trackingInfo:
        $ref: '#/definitions/TrackingInfo'
      customerSlotStart:
        type: string
      customerSlotEnd:
        type: string
      taskDate:
        type: string
      checklist:
        $ref: '#/definitions/Checklist'
      checklistItems:
        $ref: '#/definitions/ChecklistItems'
      paymentChecklistItems:
        $ref: '#/definitions/PaymentChecklistItems'
      checklistMetadata:
        $ref: '#/definitions/ChecklistMetadata'
      tourDetail:
        $ref: '#/definitions/TourDetail'
      rejectedTours:
        type: array
        items:
          $ref: '#/definitions/RejectedTourDetail'
      homebaseEta:
        type: string
        format: date-time
      homebaseEtd:
        type: string
        format: date-time
      homebaseCompleteOtp:
        type: string
      customerArrivedOtp:
        type: string
      customerCompleteOtp:
        type: string
      cancellationOtp:
        type: string
      customerReturnOtp:
        type: string
      initialEta:
        type: string
        format: date-time
      initialEtd:
        type: string
        format: date-time
      currentEta:
        type: string
        format: date-time
      slaStatus:
        $ref: '#/definitions/SlaStatusEnum'
      slaDelayedBy:
        description: SLA delta in minutes
        type: integer
        format: int32
      slaEarlyBy:
        description: SLA early delta in minutes
        type: integer
        format: int32
      homebaseCompletedOn:
        type: string
      isInventoryVerified:
        type: boolean
        default: true
      lineItems:
        type: array
        items:
          $ref: '#/definitions/LineItemTransactionStatus'
      payments:
        $ref: '#/definitions/Payments'
      orderVisitDetails:
        $ref: '#/definitions/OrderVisitDetails'
      actor:
        $ref: '#/definitions/Actor'
      triggerTime:
        type: string
        format: date-time
      homebaseProofOfCompletion:
        $ref: '#/definitions/Checklist'
      homebaseProofOfCancellation:
        $ref: '#/definitions/Checklist'
      customerProofOfCompletion:
        $ref: '#/definitions/Checklist'
      customerProofOfCancellation:
        $ref: '#/definitions/Checklist'
      proofOfSkipPaymentCollection:
        $ref: '#/definitions/Checklist'
      fullPaymentChecklist:
        $ref: '#/definitions/Checklist'
      partialPaymentChecklist:
        $ref: '#/definitions/Checklist'
      skipPaymentChecklist:
        $ref: '#/definitions/Checklist'
      homebaseProofOfCompletionVerification:
      

# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/locus-sh/refs/heads/main/openapi/locus-sh-order-api-openapi.yml