swagger: '2.0' info: title: Locus Order API description: Manage your orders with the Locus OMS API version: 1.0.0 schemes: - https consumes: - application/json produces: - application/json securityDefinitions: locusauth: type: basic description: HTTP Basic Authentication apiKeyAuth: type: apiKey in: header name: Authorization paths: /client/{clientId}/order: 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: [] parameters: - $ref: '#/parameters/ClientIdParam' /client/{clientId}/order/{orderId}: 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: [] parameters: - $ref: '#/parameters/ClientIdParam' - $ref: '#/parameters/OrderIdParam' /client/{clientId}/order/{orderId}/park: 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: [] parameters: - $ref: '#/parameters/ClientIdParam' - $ref: '#/parameters/OrderIdParam' /client/{clientId}/order/{orderId}/cancel: 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: [] parameters: - $ref: '#/parameters/ClientIdParam' - $ref: '#/parameters/OrderIdParam' /client/{clientId}/order/{orderId}/open: 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: [] parameters: - $ref: '#/parameters/ClientIdParam' - $ref: '#/parameters/OrderIdParam' /client/{clientId}/order/{orderId}/complete: 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: [] parameters: - $ref: '#/parameters/ClientIdParam' - $ref: '#/parameters/OrderIdParam' /client/{clientId}/order/{orderId}/reschedule: 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: [] parameters: - $ref: '#/parameters/ClientIdParam' - $ref: '#/parameters/OrderIdParam' /client/{clientId}/order/{orderId}/verify-inventory: 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: [] parameters: - $ref: '#/parameters/ClientIdParam' - $ref: '#/parameters/OrderIdParam' /client/{clientId}/get-slots: post: summary: Get available future slots for the given order operationId: getServiceableSlots parameters: - name: body in: body description: Order Details required: true schema: $ref: '#/definitions/GetServiceableSlotsRequest' tags: - OrderServiceability responses: '200': description: Information with all the available future slots schema: $ref: '#/definitions/GetSlotsResponse' security: - locusauth: [] parameters: - $ref: '#/parameters/ClientIdParam' /client/{clientId}/service-type/{serviceTypeId}: get: summary: Get service type operationId: getServiceType tags: - ServiceType responses: '200': description: Service type object schema: $ref: '#/definitions/ServiceTypeConfiguration' security: - locusauth: [] put: summary: Create service type operationId: createServiceType parameters: - name: serviceType in: body description: Create service type request required: true schema: $ref: '#/definitions/CreateServiceTypeRequest' - $ref: '#/parameters/OverwriteParam' tags: - ServiceType responses: '200': description: Created Service Type Object schema: $ref: '#/definitions/ServiceTypeConfiguration' security: - locusauth: [] parameters: - $ref: '#/parameters/ClientIdParam' - $ref: '#/parameters/ServiceTypeIdParam' /client/{clientId}/service-type/{serviceTypeId}/disable: post: description: Disable a specific service type operationId: disableServiceType tags: - ServiceTypeConfiguration responses: '200': description: Updated service type object schema: $ref: '#/definitions/ServiceTypeConfiguration' security: - locusauth: [] parameters: - $ref: '#/parameters/ClientIdParam' - $ref: '#/parameters/ServiceTypeIdParam' parameters: ClientIdParam: name: clientId in: path description: Id of the client required: true type: string OrderIdParam: name: orderId in: path description: Id of the order required: true type: string DispatchWaveIdParam: name: dispatchWaveId in: path description: Id of the Dispatch Wave required: true type: string sourceOrderIdQueryParam: name: sourceOrderId in: query description: SourceorderId's of the order seperated by comma required: false type: string BatchIdParam: name: batchId in: path description: Id of the batch required: true type: string PlanIdParam: name: planId in: path description: Id of the plan required: true type: string TeamIdQueryParam: name: teamId in: query description: Takes teamId and fetches the entities belonging to the team. required: true type: string BusinessUnitIdParam: name: businessUnitId in: path description: Id of the business unit required: true type: string BagModelIdParam: name: bagModelId in: path description: Id of the bag model required: true type: string TeamIdParam: name: teamId in: path description: Id of the team required: true type: string HomebaseIdParam: name: homebaseId in: path description: Id of the homebase required: true type: string OverwriteParam: name: overwrite in: query description: Boolean flag if true, will overwrite the existing entity required: false type: boolean EntityTypeParam: name: entityType in: path description: IdType of the Entity Id. Ref to OmsEntityType definition. required: true type: string UseConsistentReadParam: name: useConsistentRead in: query description: If true, strongly consistent response is returned to the user. required: false default: false type: boolean IncludeExternalSettings: name: includeExternalSettings in: query description: If true, external settings will include in response. required: false default: true type: boolean ExportIdParam: name: exportId in: path description: Id of the entity that is being exported required: true default: null type: string NodeIdParam: name: nodeId in: path description: Id of the node in the shipment required: true type: string CustomerSlotIdParam: name: customerSlotId in: path description: Id of the customer slot required: true type: string SlotGroupIdParam: name: slotGroupId in: path description: Id of the slot group required: true type: string VersionIdParam: name: versionId in: path description: Id of the version required: true type: integer format: int32 TransitChecklistIdParam: name: transitChecklistIdParam in: path description: Id of the transit checklist required: true type: string BagIdParam: name: bagId in: path description: Id of the bag model required: true type: string MapIdParam: name: mapId in: path description: Id of the Serviceability Map required: true type: string TransactionIdParam: name: transactionId in: path description: Id of the order transaction required: true type: string ServiceTypeIdParam: name: serviceTypeId in: path description: Id of the service type required: true type: string definitions: BulkCreateOrderRequest: properties: requests: type: array items: $ref: '#/definitions/CreateOrderRequest' CreateOrderRequest: description: Create order request required: - clientId - id allOf: - $ref: '#/definitions/EntityDefinition' - type: object properties: type: $ref: '#/definitions/OrderType' sourceOrderId: description: Order identifier in the client system type: string awbNumbers: description: Air Waybill numbers of the order for tracking type: array items: type: string scanId: description: Scan id of the task type: string teamId: description: Team of carrier client to consider for this order assignment type: string lineItems: type: array items: $ref: '#/definitions/MinimalLineItem' skills: description: List of skills type: array items: type: string homebaseId: description: Master id for the homebase / warehouse type: string homebaseSlot: $ref: '#/definitions/TimeSlot' homebaseTransactionDuration: description: Duration required for transaction at the pickup location, in seconds type: integer format: int32 visitName: description: Custom name given to drop location by the client type: string locationId: description: Master location id for the drop location type: string category: description: order category type: string locationAddress: $ref: '#/definitions/ExtendedStructuredAddress' latLng: $ref: '#/definitions/MinimalLatLng' contactPoint: $ref: '#/definitions/MinimalContactPoint' slotId: type: string slot: $ref: '#/definitions/TimeSlot' slots: description: List of available time slots for drop type: array items: $ref: '#/definitions/TimeSlot' transactionDuration: description: Duration required for transaction at the drop location, in seconds type: integer format: int32 amountTransaction: $ref: '#/definitions/AmountTransaction' appFields: $ref: '#/definitions/AppFields' volume: $ref: '#/definitions/Volume' weight: $ref: '#/definitions/Weight' quantity: $ref: '#/definitions/Quantity' quantities: type: array items: $ref: '#/definitions/Quantity' priority: description: Priority of the order type: integer format: int32 date: type: string description: Date as String in format "YYYY-MM-DD" orderedOn: description: Time of order creation on the client system type: string format: date-time orderDate: type: string description: Date as String in format "YYYY-MM-DD" customerPromisedDate: description: Customer promised delivery date as String in format "YYYY-MM-DD" type: string customerPromisedDateTime: description: Customer promised delivery date and time in ISO-8601 format type: string format: date-time riderId: type: string transporterId: type: string bagDetails: $ref: '#/definitions/BagDetails' shipmentMetadata: $ref: '#/definitions/ShipmentLegMetadata' cratingInfo: $ref: '#/definitions/CratingInfo' preferredTransporterTypes: type: array items: $ref: '#/definitions/TransporterType' transporterType: $ref: '#/definitions/TransporterType' dlcRequestId: type: string sequence: type: integer format: int32 default: 1 lineItemDetails: $ref: '#/definitions/CreateLineItemDetails' isSealed: type: boolean default: false promiseInformation: $ref: '#/definitions/CreatePromiseInformationRequest' MinimalSearchOrder: description: Bulk get minimal order object allOf: - $ref: '#/definitions/EntityDefinition' - type: object properties: locationAddress: $ref: '#/definitions/StructuredAddress' latLng: $ref: '#/definitions/MinimalLatLng' effectiveVolume: $ref: '#/definitions/Volume' effectiveWeight: $ref: '#/definitions/Weight' lineItems: type: array items: $ref: '#/definitions/MinimalLineItem' slot: $ref: '#/definitions/TimeSlot' transactionDuration: description: Duration required for transaction at the drop location, in seconds type: integer format: int32 contactPoint: $ref: '#/definitions/MinimalContactPoint' obfuscated: type: boolean default: false type: $ref: '#/definitions/OrderType' sourceOrderId: description: Order identifier in the client system type: string skills: description: List of skills type: array items: type: string slotId: type: string orderStatus: $ref: '#/definitions/OrderStatus' orderSubStatus: $ref: '#/definitions/OrderSubStatus' Order: description: Order model allOf: - $ref: '#/definitions/CreateOrderRequest' - type: object properties: homebase: type: object location: type: object parentOrderId: description: Id to identify parent of orders that have split type: string orderStatus: $ref: '#/definitions/OrderStatus' orderSubStatus: $ref: '#/definitions/OrderSubStatus' channel: $ref: '#/definitions/FulfillmentChannel' mode: $ref: '#/definitions/FulfillmentMode' masterLineItems: type: array items: $ref: '#/definitions/MinimalMasterLineItem' orderMetadata: $ref: '#/definitions/OrderMetadata' automationMetadata: $ref: '#/definitions/AutomationMetadata' lastCallbackTimestamp: description: Timestamp of last callback from downstream type: string format: date-time combinedSkills: type: array items: type: string history: type: array items: $ref: '#/definitions/DeliveryAttempt' timeline: type: array items: $ref: '#/definitions/TimelineEntry' transactionDurationInfo: $ref: '#/definitions/TransactionDurationInfo' obfuscated: type: boolean default: false classVersion: type: integer format: int32 default: 1 geocodingMetadata: $ref: '#/definitions/GeocodingMetadata' autosortDetails: $ref: '#/definitions/AutoSortDetails' effectiveVolume: $ref: '#/definitions/Volume' effectiveWeight: $ref: '#/definitions/Weight' channelSelected: type: boolean default: false amountInformation: $ref: '#/definitions/OrderAmountInformation' lineItemDetails: $ref: '#/definitions/LineItemDetails' promiseInformation: $ref: '#/definitions/PromiseInformation' boxDetailSummary: $ref: '#/definitions/BoxDetailSummary' BoxDetailSummary: properties: totalCases: type: integer format: int32 totalPieces: type: integer format: int32 quantityUnit: type: string boxUnit: type: string 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 OrchestrationShipmentMetadata: properties: carrierId: type: string serviceType: type: string orchestrationStatus: $ref: '#/definitions/OrchestrationStatus' shipmentRateDetail: $ref: '#/definitions/ShipmentRateDetail' waybills: type: array items: $ref: '#/definitions/OrchestrationWaybillMetadata' OrchestrationStatus: type: object ShipmentRateDetail: type: object CreateTourResponse: type: object GetScanToAddResponse: type: object OrchestrationWaybillMetadata: properties: lineItemId: type: string waybillId: type: string waybillNumber: type: string DeliveryAttempt: description: Delivery attempt history properties: statusUpdates: type: array items: $ref: '#/definitions/OrderStatusUpdate' 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 TimelineEntry: required: - type - updatedOn - updatedBy properties: type: description: Timeline entry type type: string default: STATUS_UPDATE enum: - STATUS_UPDATE - VERIFIED - RESCHEDULE - NOTES_UPDATE - TEAM_UPDATE - DELIVERY_WINDOW_UPDATE - PAYMENT_UPDATE - EXECUTED_AMOUNT_UPDATE - CURRENT_AMOUNT_UPDATE channel: $ref: '#/definitions/FulfillmentChannel' orderStatus: $ref: '#/definitions/OrderStatus' orderSubStatus: $ref: '#/definitions/OrderSubStatus' updatedBy: type: string updatedOn: type: string format: date-time eventTimestamp: type: string format: date-time reasonCode: $ref: '#/definitions/ReasonCode' reasonDescription: type: string source: description: Origin of the request (Dashboard, Application) type: string invalidEntry: description: flag to denote out of order, async and other invalid entry type: boolean default: false attributes: type: object additionalProperties: type: object 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 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: $ref: '#/definitions/PodChecklistVerificationResult' homebaseProofOfCancellationVerification: $ref: '#/definitions/PodChecklistVerificationResult' customerProofOfCompletionVerification: $ref: '#/definitions/PodChecklistVerificationResult' customerProofOfCancellationVerification: $ref: '#/definitions/PodChecklistVerificationResult' completedAt: type: string format: date-time completedBy: type: string cancelledAt: type: string format: date-time cancelledBy: type: string cancelledByUserType: type: string reasonCode: $ref: '#/definitions/ReasonCode' reasonDescription: type: string drift: type: number format: double timezone: type: string orchestrationMetadata: $ref: '#/definitions/OrchestrationMetadata' homebaseToCustomerDistance: description: Homebase to customer distance. $ref: '#/definitions/Distance' costMetadata: $ref: '#/definitions/OrderCostMetadata' initialReceivedAt: type: string format: date-time receivedAt: type: string format: date-time initialOpenedAt: type: string format: date-time openedAt: type: string format: date-time planningAt: type: string format: date-time plannedAt: type: string format: date-time assignedAt: type: string format: date-time pendingAcceptanceAt: type: string format: date-time acceptedAt: type: string format: date-time pickupEnrouteAt: type: string format: date-time pickupOngoingAt: type: string format: date-time pickupReachedAt: type: string format: date-time pickupDoneAt: type: string format: date-time inTransitAt: type: string format: date-time dropEnrouteAt: type: string format: date-time dropReachedAt: type: string format: date-time dropOngoingAt: type: string format: date-time inboundCompletedAt: type: string format: date-time inboundPendingAt: type: string format: date-time attemptFailedAt: type: string format: date-time partiallyCompletedAt: type: string format: date-time initiallyParkedAt: type: string format: date-time parkedAt: type: string format: date-time openBy: type: string parkBy: type: string verifiedBy: type: string age: description: Field denoting age of order before reaching terminal status type: integer format: int64 latestTransactionId: type: integer format: int32 currentTransactionId: type: integer format: int32 transactionChecklist: $ref: '#/definitions/TransactionChecklistItems' 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' PodVerificationResult: $ref: https://swagger.locus-api.com/task.yaml#/definitions/PodVerificationResult PodVerificationStatusEnum: $ref: https://swagger.locus-api.com/task.yaml#/definitions/PodVerificationStatusEnum TransactionChecklistItems: properties: outboundChecklist: type: array items: $ref: '#/definitions/ChecklistItem' inboundChecklist: type: array items: $ref: '#/definitions/ChecklistItem' assetInboundChecklist: type: array items: $ref: '#/definitions/ChecklistItem' cashInboundChecklist: type: array items: $ref: '#/definitions/ChecklistItem' OrderCostMetadata: properties: dispatchedFreightCost: $ref: '#/definitions/OrderFreightCostMetadata' contractCostMetadata: $ref: '#/definitions/ContractCostMetadata' OrderFreightCostMetadata: properties: freightCost: $ref: '#/definitions/FreightCost' ContractCostMetadata: properties: contractId: $ref: '#/definitions/ContractId' status: $ref: '#/definitions/OrderCostEnum' totalCost: description: Total cost for the given request type: number format: double costBreakup: type: array items: $ref: '#/definitions/BaseCostBreakup' OrderCostEnum: description: Status based on contract calculation. Possible values DISABLED, CONTRACT_MISSING, CALCULATION_FAILURE, AVAILABLE type: string enum: - DISABLED - CONTRACT_MISSING - CALCULATION_FAILURE - AVAILABLE BaseCostBreakup: type: object OrchestrationMetadata: properties: orchestrationId: type: string shipmentMetadata: $ref: '#/definitions/OrchestrationShipmentMetadata' customerGeocodedLocation: $ref: '#/definitions/OrderGeocodedLocation' homebaseGeocodedLocation: $ref: '#/definitions/OrderGeocodedLocation' shippingLabelInfo: $ref: '#/definitions/ShippingLabelInfo' OrderGeocodedLocation: properties: city: type: string state: type: string ChecklistMetadata: description: Order checklist metadata properties: updateCount: type: integer format: int32 default: 0 updateAllowedStatus: type: string enum: - ALLOWED - NOT_ALLOWED default: ALLOWED 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 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' BulkGetOrderTransactionRequest: description: Request to fetch order transactions properties: orderTransactionIds: description: All order transactions to be fetched type: array items: $ref: '#/definitions/OrderTransactionId' searchRequest: description: Bulk get request to fetch paginated order transactions based on filters $ref: '#/definitions/BulkGetRequest' OrderTransactionId: properties: orderId: type: string transactionId: type: string GetOrderTransactionsResponse: description: Response of getOrders API required: - orders - paginationInfo properties: orders: type: array items: $ref: '#/definitions/Order' paginationInfo: $ref: '#/definitions/PaginationInfo' GeocodingProvider: $ref: https://swagger.locus-api.com/geocoding.yaml#/definitions/GeocodingProvider GeocodingConfidence: $ref: https://swagger.locus-api.com/geocoding.yaml#/definitions/GeocodingConfidence ResponseSource: $ref: https://swagger.locus-api.com/geocoding.yaml#/definitions/ResponseSource VersionedMapId: type: object MapId: type: object ContractId: type: object MinimalAutosortRoute: type: object 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 FulfillmentChannel: description: Channel through which the Order is fulfilled type: string enum: - DISPATCH_IQ - TRACK_IQ - ORCHESTRATION_IQ - TOUR_DISPATCH_MANAGEMENT FulfillmentMode: description: Channel through which the Order is fulfilled type: string enum: - DISPATCH_IQ - TRACK_IQ - ORCHESTRATION_IQ - TOUR_DISPATCH_MANAGEMENT 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 Rider: properties: id: type: string contact: $ref: '#/definitions/MinimalContactPoint' StructuredAddress: description: A real world address properties: id: description: An id for the address type: string placeName: description: Name of the place type: string localityName: description: Name of the locality if available type: string formattedAddress: description: Text representation of the address. type: string subLocalityName: description: Name of the sub-locality if available type: string pincode: description: Zipcode for the address type: string city: description: City of the address type: string state: description: State of the address type: string countryCode: description: Country code to uniquely identify the country type: string locationType: description: Possible values currently are STANDALONE_APARTMENT, GATED_COMMUNITY, INDEPENDENT_PREMISES type: string placeHash: description: Hashed value of placeName for internal use type: string locationSource: $ref: '#/definitions/LocationSource' locationName: description: Location name to be populated from location entity type: string MinimalContactPoint: description: Contact point at a visit location. properties: name: description: Name of contact type: string number: description: Number for contact person type: string alternateNumber: description: Alternate number for contact person type: string email: description: Email of contact person type: string language: description: Preferred communication language type: string default: en-US MinimalLatLng: description: A latitude, longitude pair required: - lat - lng properties: lat: type: number format: double lng: type: number format: double MinimalLineItem: description: A single item contained in the order required: - name - quantity 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 lineItemId: description: An identifier for the line item. type: string skuId: description: An identifier for the line item. type: string packId: description: A unique identifier of the line item, this is different from sku id. This would be unique across orders and only one qunatity of line item can exist with this id. type: string name: description: Name of the item type: string description: description: description of the item type: string handlingUnit: $ref: '#/definitions/HandlingUnitEnum' default: QUANTITY quantity: description: Quantity of the item type: integer format: int32 default: 0 quantityUnit: type: string price: $ref: '#/definitions/Amount' commodityCode: $ref: '#/definitions/TransitCode' parts: type: array items: $ref: '#/definitions/LineItemPart' customProperties: description: Additional properties which clients wants to have along with standard entity properties type: object additionalProperties: type: string summary: description: Summarized data of all line item parts $ref: '#/definitions/LineItemSummary' totalVolume: description: total volume of the line item multiplied by it's quantity $ref: '#/definitions/Volume' totalWeight: description: total weight of the line item multiplied by it's quantity $ref: '#/definitions/Weight' handlingUnits: type: array items: $ref: '#/definitions/HandlingUnitEnum' boxDetailSummary: $ref: '#/definitions/BoxDetailSummary' canRiderEdit: description: flag to denote whether the rider is allowed to edit the line item type: boolean default: true HandlingUnitEnum: description: delivery handling units to identify deliverable field type: string enum: - QUANTITY - WEIGHT - VOLUME PartsExportAttributes: description: Attributes to identify export fields for parts type: string enum: - WEIGHT - VOLUME CallbackLineItem: 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 lineItemId: description: An identifier for the line item. type: string name: description: Name of the item type: string quantity: description: Quantity of the item type: integer format: int32 default: 0 quantityUnit: 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' MasterLineItemPart: properties: volume: $ref: '#/definitions/PartItemVolume' weight: type: number format: double dimensions: $ref: '#/definitions/OmsDimensions' PartItemVolume: properties: value: type: number format: double unit: type: string Volume: description: Volume of an item required: - value - unit properties: value: description: Value of the volume in the given unit. type: string unit: $ref: '#/definitions/VolumeUnit' VolumeUnit: description: Unit for volume type: string enum: - CMM - CCM - CC - CM - M3 - CIN - CI - CFT - CF - CYD - IC - TC - L CallbackWeight: description: Weight of order required: - value - unit properties: value: description: Value of the weight in the given unit. type: number format: double unit: $ref: '#/definitions/WeightUnit' 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' WeightUnit: description: Unit for weight type: string enum: - MG - G - KG - T - OZ - LB 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 QuantityUnit: description: Unit for quantity type: string enum: - PC - CS 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 BaseAmount: description: Amount value of an item properties: amount: type: number format: double 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 Reason: properties: reasonDescription: type: string 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 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' LengthUnit: description: Unit for length type: string enum: - MM - CM - M - IN - FT - YD - KM - MI AppFields: $ref: https://swagger.locus-api.com/task.yaml#/definitions/AppFields AppFieldItem: $ref: https://swagger.locus-api.com/task.yaml#/definitions/AppFieldItem GetOrdersResponse: description: Response of getOrders API required: - orders - paginationInfo properties: orders: type: array items: $ref: '#/definitions/Order' clusters: $ref: '#/definitions/OrderClusters' paginationInfo: $ref: '#/definitions/PaginationInfo' counts: type: array items: $ref: '#/definitions/OrderCount' GetMinimalOrdersResponse: description: Response of get minimal Orders API required: - minimalOrder - paginationInfo properties: orders: type: array items: $ref: '#/definitions/MinimalSearchOrder' clusters: $ref: '#/definitions/OrderClusters' paginationInfo: $ref: '#/definitions/PaginationInfo' counts: type: array items: $ref: '#/definitions/OrderCount' OrderCount: required: - status - count properties: status: type: string count: type: integer format: int32 OrderClusters: description: Order clusters properties: clusters: type: array items: $ref: '#/definitions/OrderCluster' OrderCluster: description: Order cluster properties: id: type: string outerPolygon: type: array items: $ref: '#/definitions/MinimalLatLng' OrderSearchResponse: description: Response object containing all the orders matched by a search query properties: orderData: $ref: '#/definitions/GetOrdersResponse' highlight: type: string CreateBatchRequest: description: Create batch request required: - orderSelectRequest properties: batchId: description: Id of the batch to be created on DispatchIQ type: string teamId: description: Id of the team to which this batch belongs type: string tasksDate: description: The date for which tasks are meant for. It should be ISO Date. eg. 2017-09-14 type: string homebaseId: description: Id of the homebase type: string homebaseOptions: description: Options for Homebase type: array items: type: string enableCrossDock: type: boolean description: Boolean to enable Cross Dock flow for this batch default: false orderSelectRequest: $ref: '#/definitions/BulkGetRequest' CreateBatchAndPlanRequest: description: Request body to create Batch and Plan with Vehicle Model required: - batchData - planData properties: batchData: $ref: '#/definitions/CreateBatchRequest' planData: $ref: '#/definitions/MinimalPlanData' OmsBatch: description: Batches created by OMS in dispatcher properties: clientId: type: string description: Id of the client batchId: type: string description: Id of the batch primaryPlanId: description: primary plan id for the batch type: string assignedPlanId: type: string batchStatus: $ref: '#/definitions/BatchStatusEnum' BulkCreateTasksRequest: description: Create tasks request required: - orderSelectRequest properties: orderSelectRequest: $ref: '#/definitions/BulkGetRequest' BulkOperationResponse: description: Bulk Operation Response properties: successResponses: description: List of ids which succeeded the operation type: array items: type: string errorResponses: description: List of ids which failed the operation with error message type: array items: $ref: '#/definitions/ErrorResponse' BulkCallbackOrderResponse: description: Bulk Operation Response required: - successResponses - errorResponses properties: successResponses: description: List of CallbackOrder for which the operation succeeded type: array items: $ref: '#/definitions/CallbackOrder' errorResponses: description: List of ids which failed the operation with error message type: array items: $ref: '#/definitions/ErrorResponse' OmsBatchSearchResponse: description: List of oms batches properties: omsBatches: type: array items: $ref: '#/definitions/OmsBatch' ErrorResponse: description: Error response with id and error message, etc. properties: id: description: id for which operation failed type: string errorMessage: description: Error message corresponding to order id type: string errorCode: description: Error Code associated with the error message type: integer format: int32 default: -1 OrderEtaResponse: description: Order Eta response with status, sub status and Eta properties: orderStatus: $ref: '#/definitions/OrderStatus' orderSubStatus: $ref: '#/definitions/OrderSubStatus' currentEta: type: string format: date-time AddOrdersToBatchRequest: description: Add orders to batch request required: - orderSelectRequest properties: orderSelectRequest: $ref: '#/definitions/BulkGetRequest' AddOrdersToBatchAndPlanRequest: description: Add orders to batch request required: - orderSelectRequest properties: orderSelectRequest: $ref: '#/definitions/BulkGetRequest' PlanOrdersIncrementalRequest: description: Request for planning orders incrementally required: - orderSelectRequest properties: orderSelectRequest: $ref: '#/definitions/BulkGetRequest' BulkOrderStatusUpdateRequest: description: Bulk order status update request required: - orderStatus - orderSelectRequest properties: orderStatus: $ref: '#/definitions/OrderStatus' orderSelectRequest: $ref: '#/definitions/BulkGetRequest' BulkOrderRescheduleRequest: description: Bulk order reschedule request required: - orderSelectRequest - isSlotEnabled - rescheduleDate properties: orderSelectRequest: $ref: '#/definitions/BulkGetRequest' isSlotEnabled: type: boolean description: boolean to depict dayslot is present or not in the request default: false daySlot: $ref: '#/definitions/DaySlot' rescheduleDate: description: The date for which order is to be rescheduled. It should be ISO Date. eg. 2017-09-14 type: string spansToNextDay: type: boolean description: boolean that indicates the time slot stretches into the next day default: false reason: $ref: '#/definitions/Reason' slotId: type: string timezone: type: string BulkParkOrderRequest: description: Bulk order park request required: - orderSelectRequest properties: orderSelectRequest: $ref: '#/definitions/BulkGetRequest' reason: $ref: '#/definitions/Reason' BulkCancelOrderRequest: description: Bulk order cancel request required: - orderSelectRequest properties: orderSelectRequest: $ref: '#/definitions/BulkGetRequest' reason: $ref: '#/definitions/Reason' BulkCompleteOrderRequest: description: Bulk order complete request properties: requests: type: array items: $ref: '#/definitions/CompleteOrderRequest' 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 BulkQuoteRequest: description: Bulk quotes request required: - orderSelectRequest properties: orderSelectRequest: $ref: '#/definitions/BulkGetRequest' UpdateDeliveryWindowRequest: required: - deliveryWindowEndDate properties: deliveryWindowEndDate: description: Updated delivery window end date type: string UpdateGeocodeRequest: properties: orderId: type: string latLng: $ref: '#/definitions/MinimalLatLng' accuracy: description: accuracy in meters type: integer format: int32 verified: description: Boolean to denote whether the geocoding is verified or not type: boolean BulkUpdateGeocodeRequest: properties: edits: type: array items: $ref: '#/definitions/UpdateGeocodeRequest' BulkSelectRequest: required: - selectedIds properties: selectedIds: description: List of Ids to select type: array items: type: string OrderStatusUpdateRequest: description: Order status update request required: - orderStatus properties: orderStatus: $ref: '#/definitions/OrderStatus' additionalInfo: type: object additionalProperties: type: string OrderType: $ref: https://swagger.locus-api.com/oms.yaml#/definitions/OrderType GetSlotsForOrderRequest: required: - fromDate properties: fromDate: type: string toDate: type: string UpdateTimeSlotRequest: required: - slot properties: slot: $ref: '#/definitions/TimeSlot' RescheduleRequest: properties: rescheduleDate: type: string description: The date for which order is to be rescheduled. It should be ISO Date. eg. 2017-09-14 rescheduleSlot: $ref: '#/definitions/TimeSlot' reason: $ref: '#/definitions/Reason' slotId: type: string ParkOrderRequest: properties: reason: $ref: '#/definitions/Reason' CancelOrderRequest: properties: reason: $ref: '#/definitions/Reason' OrderRescheduleRequest: properties: customerRescheduleRequest: $ref: '#/definitions/RescheduleRequest' homebaseRescheduleRequest: $ref: '#/definitions/RescheduleRequest' InventoryVerificationRequest: description: Inventory Verification Request required: - isInventoryVerified properties: isInventoryVerified: type: boolean verifyAt: type: string format: date-time VerifyOrderRequest: properties: verifyAt: type: string format: date-time TeamUpdateRequest: required: - teamId properties: teamId: description: New team Id type: string TeamAndHomebaseUpdateRequest: required: - teamId - homebaseId properties: teamId: description: New team Id type: string homebaseId: description: New homebase Id type: string NotesUpdateRequest: required: - add - remove - update properties: add: description: Notes to add type: array items: $ref: '#/definitions/AppFieldItem' remove: description: Notes to remove type: array items: $ref: '#/definitions/AppFieldItem' update: description: Notes patch - overwrite existing notes type: array items: $ref: '#/definitions/AppFieldItem' AddressUpdateRequest: required: - locationAddress - homebaseId - locationId - latLng properties: locationAddress: description: Updated location address $ref: '#/definitions/StructuredAddress' homebaseId: description: New Homebase Id type: string locationId: description: New Location Id type: string latLng: $ref: '#/definitions/MinimalLatLng' DWEditEvaluationResponse: properties: impactedOrders: description: Number of Orders affected by dispatch wave type: integer format: int32 GetSlotsResponse: description: Response with available time slots for the drop required: - slots properties: id: description: Order id if provided type: string slots: description: List of available time slots for the drop type: array items: $ref: '#/definitions/DlcTimeSlot' bestSlot: description: Best available slot based on configured strategy $ref: '#/definitions/DlcTimeSlot' OrderInsightsEnum: type: string enum: - ORDER_BY_ORDER_DATE - ORDER_BY_DISPATCH_DATE - DLC_SERVICEABILITY - ORDER_SLOT_COUNT - CAPACITY DlcTimeSlot: description: Time slot for a delivery linked checkout (DLC) required: - score properties: slotId: description: Id for the suggest slot for order type: string customerSlotId: description: Id of the customer slot type: string timeSlot: description: Time slot for the task $ref: '#/definitions/TimeSlot' score: description: Score which signifies the difficulty of servicing the task. The higher the number, the more is the difficulty. type: integer format: int32 default: 1 energyDelta: description: Energy delta which signifies energy change by servicing the task. The higher the number, the more is the difficulty. type: number format: double arrivedEta: type: string format: date-time completedEta: type: string format: date-time averageSpeed: type: number format: double description: Average tour speed for this promise route plannedTreesOffset: description: Denotes the trees required per year to offset planned carbon emissions for tour. type: number format: double capacityMetadata: $ref: '#/definitions/CapacityMetadata' BatchStatusEnum: $ref: https://swagger.locus-api.com/batch.yaml#/definitions/BatchStatusEnum OffsetCutoff: description: Object holding cutoff time and offset days properties: offsetDays: type: integer format: int32 default: 0 time: type: string DaySlot: $ref: https://swagger.locus-api.com/slots.yaml#/definitions/DaySlot TimeSlot: $ref: https://swagger.locus-api.com/slots.yaml#/definitions/TimeSlot BulkGetRequest: type: object ComplexFilter: type: object VersionedEntityId: type: object Filter: type: object FilterOperation: type: object SortingInfo: type: object PaginationInfo: type: object EntityDefinition: type: object AuditMetadata: type: object EntityStatus: type: object Actor: type: object BaseMapGeometry: type: object ValidateOrderIdsRequest: description: Request contains list of order ids that needs to validated if they are existing in database required: - orderIds properties: orderIds: type: array items: type: string allowInactive: type: boolean description: Flag to indicate if ids for disabled entities should be considered valid default: true ValidateOrderIdsResponse: description: Response contains list of ids that are present in database based on Entity Id type required: - entityIds properties: existingOrderIds: description: Ids for which order already exists type: array items: type: string availableIds: description: Ids which can be used for new orders type: array items: type: string reservedIds: description: Ids which cannot be used for orders type: array items: type: string ValidateEntityIdsRequest: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/ValidateEntityIdsRequest ValidateEntityIdsResponse: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/ValidateEntityIdsResponse MergePatchRequest: description: Merge patch request wrapper properties: patchBody: description: Json to be used for merge patch type: object OrderUpdateRequest: description: Create order request properties: type: $ref: '#/definitions/OrderType' sourceOrderId: description: Order identifier in the client system type: string priority: description: Priority of the order type: integer format: int32 scanId: description: Scan id of the task type: string homebaseId: description: Master id for the homebase / warehouse type: string locationId: description: Master location id for the drop location type: string locationAddress: $ref: '#/definitions/ExtendedStructuredAddress' lineItems: type: array items: $ref: '#/definitions/MinimalLineItem' skills: description: List of skills type: array items: type: string homebaseTransactionDuration: description: Duration required for transaction at the pickup location, in seconds type: integer format: int32 transactionDuration: description: Duration required for transaction at the drop location, in seconds type: integer format: int32 visitName: description: Custom name given to drop location by the client type: string contactPoint: $ref: '#/definitions/MinimalContactPoint' amountTransaction: $ref: '#/definitions/AmountTransaction' appFields: $ref: '#/definitions/AppFields' volume: $ref: '#/definitions/Volume' weight: $ref: '#/definitions/Weight' quantity: $ref: '#/definitions/Quantity' orderDate: type: string description: Date as String in format "YYYY-MM-DD" customProperties: type: object additionalProperties: type: string category: type: string riderId: type: string cratingInfo: $ref: '#/definitions/CratingInfo' transporterId: type: string sequence: type: integer format: int32 customerPromisedDate: type: string customerPromisedDateTime: type: string format: date-time OrderPatchRequest: description: Merge patch request wrapper properties: patchBody: description: Order update request type: object OmsEntityType: description: Entity types supported by OMS type: string enum: - ORDER - DISPATCH_WAVE - TRANSIT_CHECKLIST - CUSTOMER_SLOT - SLOT_GROUP - BAG_MODEL - BAG - SERVICEABILITY_MAP - SERVICE_TYPE_CONFIGURATION - PROMISE InputRecords: description: Tasks provided by the client. properties: headers: type: array items: type: string records: type: array items: $ref: '#/definitions/InputRecord' InputRecord: description: Data about one task as provided by the client. properties: record: type: object additionalProperties: type: string recordNumber: type: integer format: int32 recordId: description: Id for uniquely identifying the task record within the batch type: string metadata: type: array items: $ref: '#/definitions/InputRecordMetadata' InputRecordMetadata: description: Metadata of a column in the input record required: - column - editable properties: column: description: Name of the column type: string editable: description: Boolean denoting whether the column is editable or not in this record type: boolean default: false InputSheetErrorsResponse: description: The format in which multiple errors are returned for input sheet uploaded for batch planning properties: errors: type: array items: $ref: '#/definitions/InputSheetErrorResponse' InputSheetErrorResponse: description: The format in which errors are returned for input sheet uploaded for batch planning properties: errorCode: description: The code representing the error. type: string message: description: Human Readable message about the error. type: string columnName: description: The header for the column. type: string recordNumber: description: The position of record in the column. type: integer format: int32 ParserSettings: description: Settings specific to the parser. properties: headers: description: The mappings of headers for client provided csv files. type: object additionalProperties: $ref: '#/definitions/HeaderDetails' additionalHeaders: description: Additional fields that client may want to store along with the task type: array items: type: string allowUnknownColumns: description: Boolean to denote whether to allow unknown columns or not type: boolean default: true headerMetadata: description: metadata about the headers type: object additionalProperties: $ref: '#/definitions/HeaderInfo' valueMappings: description: value mapping for certain headers like payment time type: object additionalProperties: type: object additionalProperties: type: string HeaderDetails: description: The details of the header in the csv. properties: required: description: Whether the header is required or not. type: boolean mappedHeader: description: Header in users csv file type: string HeaderInfo: properties: dataType: description: Expected datatype of the header type: string enum: - STRING - WHOLE_NUM - DECIMAL_NUMBER - NON_NEGATIVE_DECIMAL_NUMBER - POSITIVE_INTEGER editable: description: Should the data be editable after uploading type: boolean visible: description: Should the header be shown in batch review screen type: boolean default: true OrderTourUpdateEvent: description: Event to capture Order and its related tour update properties: tourUpdateEventType: $ref: '#/definitions/OrderTourCallbackEventType' tourDetail: $ref: '#/definitions/TourDetail' orders: type: array items: $ref: '#/definitions/CallbackOrder' timestamp: type: string format: date-time OrderTdmsTourUpdateEvent: description: Event to capture Order and its related tour update properties: tdmsTourCallbackEventType: $ref: '#/definitions/OrderTdmsTourCallbackEventType' tourDetail: $ref: '#/definitions/TourDetail' orders: type: array items: $ref: '#/definitions/CallbackOrder' timestamp: type: string format: date-time CallbackOrder: description: visit related details by statuses properties: id: type: string sourceOrderId: type: string parentOrderId: type: string type: $ref: '#/definitions/OrderType' date: type: string slot: $ref: '#/definitions/TimeSlot' channel: $ref: '#/definitions/FulfillmentChannel' mode: $ref: '#/definitions/FulfillmentMode' orderStatus: $ref: '#/definitions/OrderStatus' orderSubStatus: $ref: '#/definitions/OrderSubStatus' checklist: $ref: '#/definitions/Checklist' actor: $ref: '#/definitions/Actor' triggerTime: type: string format: date-time latLng: $ref: '#/definitions/MinimalLatLng' reasonCode: $ref: '#/definitions/ReasonCode' reasonDescription: type: string lineItems: type: array items: $ref: '#/definitions/CallbackLineItem' lineItemTransactionStatuses: type: array items: $ref: '#/definitions/CallbackLineItemTransactionStatus' teamId: type: string quantities: type: array items: $ref: '#/definitions/Quantity' homebaseId: type: string homebaseEta: type: string format: date-time homebaseEtd: type: string format: date-time homebaseCompleteOtp: type: string customerCompleteOtp: type: string cancellationOtp: type: string customerReturnOtp: type: string locationId: type: string planIteration: type: integer tourDetail: $ref: '#/definitions/TourDetail' initialEta: type: string format: date-time initialEtd: type: string format: date-time currentEta: type: string format: date-time slaStatus: $ref: '#/definitions/SlaStatusEnum' trackingInfo: $ref: '#/definitions/TrackingInfo' payments: $ref: '#/definitions/Payments' drift: type: number format: double orchestrationMetadata: $ref: '#/definitions/CallbackOrderOrchestrationMetadata' shipmentId: type: string amountTransaction: $ref: '#/definitions/AmountTransaction' costMetadata: $ref: '#/definitions/OrderCostMetadata' homebaseProofOfCompletion: $ref: '#/definitions/Checklist' homebaseProofOfCancellation: $ref: '#/definitions/Checklist' customerProofOfCompletion: $ref: '#/definitions/Checklist' customerProofOfCancellation: $ref: '#/definitions/Checklist' proofOfSkipPaymentCollection: $ref: '#/definitions/Checklist' orderAmountInformation: $ref: '#/definitions/CallbackOrderAmountInformation' lineItemDetails: $ref: '#/definitions/LineItemDetails' customProperties: type: object additionalProperties: type: string CallbackOrderAmountInformation: description: amount transaction info for callback properties: amount: $ref: '#/definitions/AmountDetails' executedAmount: $ref: '#/definitions/AmountDetails' amountCollected: $ref: '#/definitions/Amount' pendingAmount: $ref: '#/definitions/Amount' paymentStatus: $ref: '#/definitions/OrderPaymentStatus' paymentHistory: type: array items: $ref: '#/definitions/Payment' CallbackOrderOrchestrationMetadata: description: Orchestration related metadata properties: carrierId: type: string shippingLabelInfo: $ref: '#/definitions/ShippingLabelInfo' shipmentRateDetail: $ref: '#/definitions/ShipmentRateDetail' waybills: type: array items: $ref: '#/definitions/OrchestrationWaybillMetadata' Checklist: description: A map containing selected values for each checklist item. type: object allOf: - $ref: '#/definitions/StringObjectMap' - type: object OrderCountsFilters: description: Filters to be applied for order counts properties: filters: type: array items: $ref: '#/definitions/Filter' complexFilters: type: array items: $ref: '#/definitions/ComplexFilter' selectedIds: type: array items: type: string OrderBulkGetRequest: allOf: - $ref: '#/definitions/BulkGetRequest' - type: object properties: countsFilters: $ref: '#/definitions/OrderCountsFilters' StringObjectMap: type: object 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' PaymentChecklistItems: properties: skipPaymentChecklist: type: array items: $ref: '#/definitions/ChecklistItem' partialPaymentChecklist: type: array items: $ref: '#/definitions/ChecklistItem' fullPaymentChecklist: type: array items: $ref: '#/definitions/ChecklistItem' ChecklistItem: $ref: https://swagger.locus-api.com/task.yaml#/definitions/ChecklistItem ChecklistPossibleValue: $ref: https://swagger.locus-api.com/task.yaml#/definitions/ChecklistPossibleValue BaseLineItemTransactionStatus: description: Transaction status of a line item properties: id: type: string description: id of the line item reconcileQuantity: type: integer format: int32 default: 0 handlingUnit: $ref: '#/definitions/HandlingUnitEnum' LineItemTransactionStatus: allOf: - $ref: '#/definitions/BaseLineItemTransactionStatus' - type: object properties: transactionStatus: $ref: '#/definitions/TransactionStatus' homebaseTransactionStatus: $ref: '#/definitions/TransactionStatus' outboundTransactionStatus: $ref: '#/definitions/TransactionStatus' boxDetailSummary: $ref: '#/definitions/BoxDetailSummary' CallbackLineItemTransactionStatus: allOf: - $ref: '#/definitions/BaseLineItemTransactionStatus' - type: object properties: transactionStatus: $ref: '#/definitions/CallbackTransactionStatus' homebaseTransactionStatus: $ref: '#/definitions/CallbackTransactionStatus' 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' 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' CallbackTransactionStatus: allOf: - $ref: '#/definitions/BaseTransactionStatus' - type: object properties: orderedWeight: description: Weight of the item that has been ordered $ref: '#/definitions/CallbackWeight' transactedWeight: description: Weight of the item that has been transacted $ref: '#/definitions/CallbackWeight' OrderDetailStatusEnum: type: string enum: - DELIVERED - NOT_DELIVERED - PARTIALLY_DELIVERED 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 TourCostMetadata: properties: dispatchedFreightCost: $ref: '#/definitions/TourFreightCostMetadata' TourFreightCostMetadata: properties: freightCost: $ref: '#/definitions/FreightCost' source: $ref: '#/definitions/FreightCostSource' contractId: type: string FreightCost: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/FreightCost DetailedCostContribution: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/DetailedCostContribution CostParameterType: $ref: https://swagger.locus-api.com/contracts.yaml#/definitions/CostParameterType FreightCostSource: type: string enum: - CLIENT - CONTRACT RejectedTourDetail: description: Tour details properties: tourId: type: string riderId: type: string vehicleId: type: string SlaStatusEnum: $ref: https://swagger.locus-api.com/task.yaml#/definitions/SlaStatusEnum TrackingInfo: description: Tracking info properties: link: description: Url of the tracking link type: string ShippingLabelInfo: type: object 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 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 PaymentInstrument: description: A method of payment required: - instrumentType - instrumentName properties: instrumentType: $ref: '#/definitions/PaymentInstrumentType' instrumentName: description: A human friendly name for the payment instrument type: string providerInstrumentId: $ref: '#/definitions/ProviderInstrumentId' 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 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 PaymentInstrumentType: description: Denotes the type of payment instrument type: string enum: - CASH - COUPON - ECOD - ONLINE PaymentStatus: description: Status of the payment type: string enum: - PENDING - SUCCESS - FAILED - CANCELLED SettingsWrapper: type: object UpdateSettingsWrapper: required: - settingsWrapper - reason properties: settingsWrapper: $ref: '#/definitions/SettingsWrapper' reason: type: string GenericResponse: required: - message properties: message: type: string default: success OmsResponseEntity: required: - message - status properties: message: type: string default: success status: type: integer format: int32 default: 200 CreateDispatchWaveRequest: description: Request body to create new Dispatch Wave allOf: - $ref: '#/definitions/EntityDefinition' - type: object required: - orderFilters - dispatchSchedule - teamSettings properties: orderFilters: $ref: '#/definitions/OrderFilters' dispatchSchedule: $ref: '#/definitions/DispatchSchedule' teamSettings: $ref: '#/definitions/DispatchWaveTeamSettings' DispatchWave: description: A generic Dispatch Wave entity allOf: - $ref: '#/definitions/CreateDispatchWaveRequest' DispatchWaveTeamSettings: description: Team settings for Dispatch wave required: - enableForAllTeams - applicableTeams properties: enableForAllTeams: description: to enable disptach wave for all teams type: boolean default: false applicableTeams: description: list of teams applicable for a disptach wave type: array items: type: string OrderFilters: description: Order level filters for Dispatch wave required: - categories - skills properties: categories: description: List of categories applicable for filtering order for a dispatch wave type: array items: type: string skills: description: List of skills applicable for filtering order for a dispatch wave type: array items: type: string homebaseIds: description: homebase options for the particular dispatch wave type: array items: type: string transporterIds: description: List of transporters applicable for filtering an order for a dispatch wave type: array items: type: string DispatchSchedule: description: Schedule config for Dispatch wave required: - slot - daysOfWeek - applicableForAllDays - generatePlanAutomatically properties: slot: $ref: '#/definitions/DaySlot' daysOfWeek: type: array items: $ref: '#/definitions/DayOfWeek' applicableForAllDays: description: indicates if config is applicable to all or specific days type: boolean default: false timeCutOffForPlanGeneration: description: time before slot start, when batch and/or plan generation will be triggered type: array items: type: integer format: int32 generatePlanAutomatically: description: flag to control if plan is to be generated automatically type: boolean default: false autoAssignPlan: description: flag to control if plan is to be assigned at last cutoff type: boolean default: false onDemandCutoff: description: cut off time buffer for on demand orders type: integer format: int32 outsourceFulfillment: description: indicates if outsourcing is applicable type: boolean default: false outsourcingCutoffReference: type: string enum: - OPENED_AT - SLOT_START - SLOT_END default: SLOT_END outsourcingCutOff: description: cut off time buffer for outsourcing orders type: integer format: int32 enableOnDemandDistanceThreshold: description: Boolean to denote if distance cutoff is enabled or not type: boolean default: false distanceThreshold: description: Maximum distance up to which order can be served by TIQ. $ref: '#/definitions/Distance' enableOndemand: description: Boolean to denote if on-demand is enabled or not type: boolean default: true shouldUseForOnDemandOnly: description: 'To use the Dispatch Wave only for on-demand usecase. False by default. (Applicable for clients with workflow type: SCHEDULED_EXECUTION_ON_DEMAND) ' type: boolean default: false appliedShiftTags: description: List of shift tags to be used to fetch roster for plan generation type: array items: $ref: '#/definitions/ShiftTag' batchCutoff: description: Batch creation cutoff for continuous dispatch wave $ref: '#/definitions/OffsetCutoff' planCutoff: description: Plan creation cutoff for continuous dispatch wave $ref: '#/definitions/OffsetCutoff' incrementalCutoffs: description: List of incremental cutoffs for continuous dispatch wave type: array items: $ref: '#/definitions/OffsetCutoff' useVehicleConfig: description: Boolean to denote if vehicle config needs to be used for plan generation type: boolean default: false appliedVehicleTags: description: List of vehicle tags to be used to fetch vehicle configs for plan generation type: array items: $ref: '#/definitions/VehicleTag' VehicleTag: properties: id: type: string name: type: string GetDispatchWavesResponse: description: Response of getDispatchWaves API required: - dispatchWaves - paginationInfo properties: dispatchWaves: type: array items: $ref: '#/definitions/DispatchWave' paginationInfo: $ref: '#/definitions/PaginationInfo' ConfirmSlotRequest: description: Confirm slot request required: - id - orderId - slot properties: id: description: Id provided in the Get Slots Response type: string orderId: type: string slotId: type: string slot: $ref: '#/definitions/TimeSlot' latLng: $ref: '#/definitions/MinimalLatLng' locationAddress: $ref: '#/definitions/StructuredAddress' locationId: description: Master location id for the drop location type: string GetServiceableSlotsRequest: description: Get Serviceable Slot request required: - teamId - type - homebaseId properties: clientId: description: Id of the client to which this entity belongs to type: string id: description: A unique identifier for the order type: string customProperties: description: Additional properties which clients wants to have along with standard entity properties type: object additionalProperties: type: string teamId: description: Team of carrier client to consider for this order assignment type: string skills: description: List of skills type: array items: type: string homebaseId: description: Master id for the homebase / warehouse type: string homebaseTransactionDuration: description: Duration required for transaction at the pickup location, in seconds type: integer format: int32 locationId: description: Master location id for the drop location type: string transactionDuration: description: Duration required for transaction at the drop location, in seconds type: integer format: int32 contactPoint: $ref: '#/definitions/MinimalContactPoint' priority: description: Priority of the order type: integer format: int32 date: type: string description: Date as String in format "YYYY-MM-DD", indicates starting date from which serviceable slots are fetched category: description: order category type: string riderId: type: string type: $ref: '#/definitions/OrderType' lineItems: type: array items: $ref: '#/definitions/MinimalLineItem' locationAddress: $ref: '#/definitions/StructuredAddress' latLng: $ref: '#/definitions/MinimalLatLng' amountTransaction: $ref: '#/definitions/AmountTransaction' volume: $ref: '#/definitions/Volume' weight: $ref: '#/definitions/Weight' daysToQueryFor: description: number of days indicates days in future for serviceable slots to be fetched type: integer format: int32 creationTime: description: Timestamp for when the get slots request made, using the standard ISO 8601 format type: string format: date-time slotSelectionStrategy: $ref: '#/definitions/SlotSelectionStrategy' preferredSlotIds: description: List of slots ids chosen by customer type: array items: type: string GetShippingOptionsRequest: required: - teamId - type - homebaseId properties: clientId: description: Id of the client to which this entity belongs to type: string id: description: A unique identifier for the order type: string customProperties: description: Additional properties which clients wants to have along with standard entity properties type: object additionalProperties: type: string teamId: description: Team of carrier client to consider for this order assignment type: string skills: description: List of skills type: array items: type: string homebaseId: description: Master id for the homebase / warehouse type: string homebaseTransactionDuration: description: Duration required for transaction at the pickup location, in seconds type: integer format: int32 locationId: description: Master location id for the drop location type: string transactionDuration: description: Duration required for transaction at the drop location, in seconds type: integer format: int32 priority: description: Priority of the order type: integer format: int32 date: type: string description: Date as String in format "YYYY-MM-DD", indicates starting date from which serviceable slots are fetched category: description: order category type: string type: $ref: '#/definitions/OrderType' lineItems: type: array items: $ref: '#/definitions/MinimalLineItem' locationAddress: $ref: '#/definitions/StructuredAddress' latLng: $ref: '#/definitions/MinimalLatLng' amountTransaction: $ref: '#/definitions/AmountTransaction' volume: $ref: '#/definitions/Volume' weight: $ref: '#/definitions/Weight' GetShippingOptionsResponse: properties: quoteItems: type: array items: $ref: '#/definitions/ShippingOptionsQuoteItem' ShippingOptionsQuoteItem: properties: serviceType: type: string serviceName: type: string estimatedDeliveryDate: type: string format: date totalAmount: type: number format: double currency: type: string estimatedPickupDate: type: string format: date carrierId: type: string transporterId: type: string transporterName: type: string carrierType: $ref: '#/definitions/CarrierTypeEnum' CarrierTypeEnum: type: string enum: - OUTSOURCED - CAPTIVE Bag: description: Model definition for a bag entity allOf: - $ref: '#/definitions/EntityDefinition' - type: object required: - bagModelId - bagType properties: description: description: Description text for the bag entity type: string bagModelId: $ref: '#/definitions/BagModelId' bagModel: description: read only field for physical bagModel $ref: '#/definitions/BagModel' teams: description: List of teams who use the Bag type: array items: $ref: '#/definitions/TeamId' skills: type: array items: $ref: '#/definitions/SkillId' resourceLimits: description: Limits on the resources with the bag type: array items: $ref: '#/definitions/ResourceLimit' bagType: $ref: '#/definitions/BagType' dimensions: $ref: '#/definitions/LDimensions' documents: description: Official documents registered with the transporter type: array items: $ref: '#/definitions/Document' unladenWeight: description: Weight of Unloaded Bag. KG in Metric system, Lb in Imperial system. type: number format: double purchaseDate: description: Purchase date of the Bag type: string manufacturingDate: description: Manufacturing date of the Bag type: string isColdChain: type: boolean default: false BagType: type: string enum: - PHYSICAL - VIRTUAL CreateBagRequest: description: Wrapper for create vehicle model request allOf: - $ref: '#/definitions/Bag' - type: object CreateBagsResponse: description: Response of create vehicle models request required: - status properties: status: $ref: '#/definitions/CreateEntityResponseStatus' GetVersionedBagsResponse: description: List of versioned bag entitys required: - versionedBags properties: versionedBags: type: array items: $ref: '#/definitions/VersionedBag' VersionedBag: description: Versioned bag entity response properties: bagId: $ref: '#/definitions/BagId' bag: $ref: '#/definitions/Bag' BagId: description: A unique id for the bag required: - clientId - id properties: clientId: type: string id: type: string version: type: integer format: int32 GetBagsResponse: description: Response of getBags API required: - bags - paginationInfo properties: bags: type: array items: $ref: '#/definitions/Bag' paginationInfo: $ref: '#/definitions/PaginationInfo' 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 MinimalPlanData: description: plan data required: - vehicles properties: planId: description: primary plan id for the batch type: string vehicles: type: array items: $ref: '#/definitions/UserVehicle' autoAssign: type: boolean description: Boolean to denote that plan should be assigned immediately after planning. Setting this to true requires user alias to be provided with each vehicle, pointing to users already created default: false UserVehicle: description: A vehicle object along with user alias mapped to it. allOf: - $ref: '#/definitions/Vehicle' - type: object properties: userAlias: description: User alias mapped to vehicle while planning $ref: '#/definitions/UserAlias' Vehicle: description: A vehicle object. required: - id - vehicleModel - operationShift - resourceLimits properties: id: $ref: '#/definitions/VehicleId' vehicleModel: $ref: '#/definitions/VehicleModel' operationShift: $ref: '#/definitions/OperationShift' resourceLimits: description: Limits on the resoures with the vehicle. type: array items: $ref: '#/definitions/ResourceLimit' VehicleModelData: description: Create request for a vehicle model required: - name - volumeLimit properties: name: description: A user friendly name for the vehicle type: string volumeLimit: $ref: '#/definitions/VolumeLimit' resourceLimits: description: Limits on the resoures with the vehicle type: array items: $ref: '#/definitions/ResourceLimit' UserSourceEnum: description: Source of the alias provided. Use LOCUS if the alias is user in the system. Use NONE if alias provided is not a user in the system. type: string default: LOCUS enum: - LOCUS - NONE UserAlias: description: Object which holds information of a user or alias - clientId - alias - source properties: alias: description: User if the user exists in the system. Alias if the user does not exist in the system type: string clientId: type: string source: type: string enum: - LOCUS - NONE default: LOCUS OrderIqClientSettings: properties: orderManagementSettings: $ref: '#/definitions/OrderManagementSettings' VehicleId: allOf: - type: object VehicleModel: $ref: https://locus-api.com/v1/docs-internal.json#/definitions/VehicleModel VehicleModelId: allOf: - type: object OperationShift: $ref: https://locus-api.com/v1/docs-internal.json#/definitions/OperationShift ShiftData: $ref: https://locus-api.com/v1/docs-internal.json#/definitions/ShiftData BreakShift: $ref: https://locus-api.com/v1/docs-internal.json#/definitions/BreakShift ResourceLimit: $ref: https://locus-api.com/v1/docs-internal.json#/definitions/ResourceLimit ResourceDefinition: $ref: https://locus-api.com/v1/docs-internal.json#/definitions/ResourceDefinition VolumeLimit: $ref: https://locus-api.com/v1/docs-internal.json#/definitions/VolumeLimit VolumeExchangeDefinition: $ref: https://locus-api.com/v1/docs-internal.json#/definitions/VolumeExchangeDefinition ExportStatus: $ref: https://swagger.locus-api.com/export.yaml#/definitions/ExportStatus ExportStatusEnum: $ref: https://swagger.locus-api.com/export.yaml#/definitions/ExportStatusEnum EntityExport: $ref: https://swagger.locus-api.com/export.yaml#/definitions/EntityExport EmailAddress: type: object TeamId: type: object PersonnelId: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/PersonnelId LatLng: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/LatLng BaseExportRequest: $ref: https://swagger.locus-api.com/export.yaml#/definitions/BaseExportRequest EntityExportRequest: $ref: https://swagger.locus-api.com/export.yaml#/definitions/EntityExportRequest EntityExportRequestSourceMetadata: $ref: https://swagger.locus-api.com/export.yaml#/definitions/EntityExportRequestSourceMetadata Homebase: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/Homebase StatusTriggerTime: description: object to hold status and trigger time. properties: status: $ref: '#/definitions/OrderStatus' actor: $ref: '#/definitions/Actor' triggerTime: type: string format: date-time ServiceRestriction: $ref: https://locus-api.com/v1/docs-internal.json#/definitions/ServiceRestriction TransitMode: type: string enum: - DIRECT - MIXED ShipmentStatus: type: object ShipmentSubStatus: type: object BagStatus: type: object BagSubStatus: type: object BagDetails: description: object to store bagging related details on order properties: bagId: type: string bagEventId: type: string teams: type: array items: type: string ShipmentLegMetadata: description: Shipment related extra info relevant for an order properties: shipmentId: type: string splitId: type: string nodeId: type: string legId: type: string distributionChannel: $ref: '#/definitions/DistributionChannel' ScanEntityType: type: string enum: - ORDER - SHIPMENT - BAG PatchRequest: type: object PatchDocument: type: object PatchOperation: type: object MinimalOrder: description: object to order details for scanner order properties: orderId: description: leg order id of scanned shipment in the locus system type: string sourceOrderId: description: Shipment identifier in the client system type: string customerPromisedDate: description: Customer promised delivery date as String in format "YYYY-MM-DD" type: string customerPromisedDateTime: description: Customer promised delivery date and time in ISO-8601 format" type: string format: date-time location: type: object OpsTourStatus: description: Enum specifying current status of tour type: string enum: - CREATED - PROCESSING - READY_TO_DISPATCH - IN_TRANSIT - COMPLETED - CLOSED - DISCARDED TourElement: description: Pair of task id and task type in a tour required: - taskId - taskType properties: id: type: string type: $ref: '#/definitions/TourTaskType' TourTaskType: type: string enum: - ORDER - BAG default: ORDER AssignmentDetails: properties: transporterId: type: string transporterName: type: string transporterContact: type: string vehicleModelId: type: string vehicleModelName: type: string vehicleId: type: string vehicleName: type: string vehicleSkills: type: array items: type: string riderId: type: string riderName: type: string riderContact: type: string riderSkills: type: array items: type: string FileUploadResponse: properties: status: type: string enum: - SUCCESS url: type: string UpdateChecklistRequest: properties: requests: type: array items: $ref: '#/definitions/UpdateChecklistItemRequest' BulkUpdateChecklistRequest: properties: homebaseProofOfCompletion: $ref: '#/definitions/UpdateChecklistRequest' homebaseProofOfCancellation: $ref: '#/definitions/UpdateChecklistRequest' customerProofOfCompletion: $ref: '#/definitions/UpdateChecklistRequest' customerProofOfCancellation: $ref: '#/definitions/UpdateChecklistRequest' proofOfSkipPaymentCollection: $ref: '#/definitions/UpdateChecklistRequest' fullPaymentChecklist: $ref: '#/definitions/UpdateChecklistRequest' partialPaymentChecklist: $ref: '#/definitions/UpdateChecklistRequest' skipPaymentChecklist: $ref: '#/definitions/UpdateChecklistRequest' UpdateChecklistItemRequest: properties: key: type: string value: type: string ShiftTag: properties: id: type: string name: type: string TransporterId: type: object LVolume: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/Volume LDimensions: allOf: - $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/Dimensions - type: object VolumeDefinition: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/VolumeDefinition DoorDimensions: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/DoorDimensions TransportModeType: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/TransportModeType Document: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/Document SkillId: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/SkillId EntityResourceLimits: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/EntityResourceLimits LoadingUnloadingSide: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/LoadingUnloadingSide CreateEntityResponseStatus: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/CreateEntityResponseStatus OperationStatusResponse: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/OperationStatusResponse OperationStatus: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/OperationStatus KnownResourceLimit: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/KnownResourceLimit EntityStatusUpdateRequest: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/EntityStatusUpdateRequest WeightRequest: properties: weight: $ref: '#/definitions/Weight' CustomPropertiesRequest: properties: customProperties: type: object additionalProperties: type: string UpdateTransporterFieldsRequest: properties: transporterId: type: string awbNumbers: type: array items: type: string Distance: properties: value: description: Calculated distance value. type: number format: double unit: $ref: '#/definitions/LengthUnit' TransitCode: properties: code: type: string description: type: string GetDocumentRequest: properties: type: $ref: '#/definitions/DocumentType' DocumentType: description: Type of document type: string enum: - LABEL MotiontrackSettings: properties: liveViewSettings: $ref: '#/definitions/LiveViewSettings' taskSettings: $ref: '#/definitions/TaskSettings' entitySettings: $ref: '#/definitions/MotiontrackEntitySettings' TaskSettings: properties: taskSplitSettings: $ref: '#/definitions/TaskSplitSettings' TaskSplitSettings: properties: enabled: type: boolean default: false LiveViewSettings: properties: customerRescheduleSettings: $ref: '#/definitions/CustomerRescheduleSettings' CustomerRescheduleSettings: properties: getAllowFutureDatesReschedule: type: boolean default: false PlatformSettings: properties: sectionVisibilitySettings: $ref: '#/definitions/SectionVisibilitySettings' localeSettings: $ref: '#/definitions/LocaleSettings' entitySettings: $ref: '#/definitions/PlatformEntitySettings' clientProfileSettings: $ref: '#/definitions/ClientProfileSettings' unitSettings: $ref: '#/definitions/UnitSettings' SectionVisibilitySettings: properties: showOrchestrationSection: type: boolean default: false DispatcherSettings: properties: batchSettings: $ref: '#/definitions/BatchSettings' obfuscationSettings: $ref: '#/definitions/ObfuscationSettings' entitySettings: $ref: '#/definitions/DispatcherEntitySettings' planSettings: $ref: '#/definitions/DispatcherPlanSettings' BatchSettings: properties: enableRecurringBatch: type: boolean default: false enableSyncBatchPlanEdits: type: boolean default: false GetSlotOrderCountsResponse: properties: orderCountsSummary: type: array items: $ref: '#/definitions/SlotOrderCount' slotsInfo: type: array items: $ref: '#/definitions/CustomerSlot' SlotOrderCount: properties: date: type: string teamId: type: string slotId: type: string countsByType: type: array items: $ref: '#/definitions/OrderCountByType' OrderCountByType: properties: orderType: $ref: '#/definitions/OrderType' count: type: integer format: int32 default: 0 OperationalSlot: description: Operational slot defined for customer allOf: - $ref: '#/definitions/DaySlot' - type: object properties: color: type: string offsetCutoff: $ref: '#/definitions/OffsetCutoff' CreateCustomerSlotRequest: description: Request body to create new Customer Slot allOf: - $ref: '#/definitions/EntityDefinition' - type: object properties: teams: description: List of teams which can plan for this location type: array items: type: string slot: $ref: '#/definitions/OperationalSlot' BulkCustomerSlotRequest: properties: requests: type: array items: $ref: '#/definitions/CreateCustomerSlotRequest' CustomerSlot: description: An entity defining Customer Slots allOf: - $ref: '#/definitions/CreateCustomerSlotRequest' CustomerSlotId: properties: clientId: type: string slotId: type: string GetCustomerSlotsResponse: description: Response of get Customer Slot api required: - customerSlots - paginationInfo properties: customerSlots: type: array items: $ref: '#/definitions/CustomerSlot' paginationInfo: $ref: '#/definitions/PaginationInfo' OrderActionRequest: description: Order action request properties: action: $ref: '#/definitions/OrderAction' OrdersActionRequest: description: Order action request properties: orderSelectRequest: $ref: '#/definitions/BulkGetRequest' action: $ref: '#/definitions/OrderAction' OrderAction: type: string enum: - OPEN - PARK - VERIFY - COMPLETE - CANCEL CreateSlotGroupRequest: description: Request body to create new slot group allOf: - $ref: '#/definitions/EntityDefinition' - type: object properties: slots: type: array items: $ref: '#/definitions/CustomerSlotId' description: type: string teams: description: List of teams to assign for the slot group type: array items: type: string dayOverrides: $ref: '#/definitions/SlotDayOverrides' enableForAllTeams: type: boolean default: true SlotDayOverrides: properties: monday: $ref: '#/definitions/SlotDayOverride' tuesday: $ref: '#/definitions/SlotDayOverride' wednesday: $ref: '#/definitions/SlotDayOverride' thursday: $ref: '#/definitions/SlotDayOverride' friday: $ref: '#/definitions/SlotDayOverride' saturday: $ref: '#/definitions/SlotDayOverride' sunday: $ref: '#/definitions/SlotDayOverride' SlotDayOverride: properties: slots: type: array items: $ref: '#/definitions/CustomerSlotId' enable: type: boolean default: true SlotGroup: description: An entity defining group Slots allOf: - $ref: '#/definitions/CreateSlotGroupRequest' - type: object properties: slotsInfo: type: array items: $ref: '#/definitions/CustomerSlot' BulkSlotGroupRequest: properties: requests: type: array items: $ref: '#/definitions/CreateSlotGroupRequest' GetSlotGroupResponse: description: Response of get group slots api required: - slotGroups - paginationInfo properties: slotGroups: type: array items: $ref: '#/definitions/SlotGroup' paginationInfo: $ref: '#/definitions/PaginationInfo' OrderSubStatus: description: Order sub status enum type: string enum: - PENDING_ACCEPTANCE - ACCEPTED - PICKUP_ENROUTE - SERVICE_ENROUTE - PICKUP_REACHED - SERVICE_REACHED - PICKUP_ONGOING - SERVICE_ONGOING - PICKUP_DONE - DROP_ENROUTE - DROP_REACHED - DROP_ONGOING - DROP_DONE - ATTEMPT_FAILED - INBOUND_PENDING - INBOUND_COMPLETED - TOUR_STARTED - IN_TRANSIT - PARTIALLY_COMPLETED - OUTBOUND_COMPLETED OrderCallbackFilter: description: Filters for order callbacks required: - orderStatus - allowedSubStatuses properties: orderStatus: $ref: '#/definitions/OrderStatus' allowedSubStatuses: type: array description: The list of order sub statuses for which order callback should be made items: $ref: '#/definitions/OrderSubStatus' DownstreamChannelFilterSettings: description: Channel wise field configs for downstream channel filter allOf: - $ref: '#/definitions/UnsupportedFieldValuesConfigMap' - type: object UnsupportedFieldValuesConfigMap: type: object additionalProperties: type: object $ref: '#/definitions/UnsupportedFieldValuesConfig' UnsupportedFieldValuesConfig: description: Field level config for unsupported values allOf: - $ref: '#/definitions/StringListMap' - type: object StringListMap: type: object AdjustTimezoneSettings: allOf: - $ref: '#/definitions/ExposedAdjustTimezoneSettings' - type: object ExposedAdjustTimezoneSettings: properties: enabled: description: Flag to toggle multi timezone setting exposed for client type: boolean default: false ExposedReasonSettings: properties: enabled: description: Toggle Reason support for manual order exposed to Client type: boolean default: true OrderIQSlotManagementSettings: description: Settings pertaining to OrderIQ slot management allOf: - $ref: '#/definitions/ExposedOrderIQSlotManagementSettings' - type: object ExposedOrderIQSlotManagementSettings: description: Settings pertaining to OrderIQ slot management exposed to client properties: enabled: description: Flag to enable slot management settings for client type: boolean default: false staticSlotSettings: $ref: '#/definitions/StaticSlotSettings' slotQuerySettings: $ref: '#/definitions/SlotQuerySettings' dlcPeriodicOptimization: $ref: '#/definitions/DlcPeriodicOptimizationSettings' promiseSettings: $ref: '#/definitions/PromiseSettings' handleTourEventEnabled: description: Flag to enabling handling of DIQ tour events like CREATE, REMOVE in DLC flow. type: boolean default: true DlcPeriodicOptimizationSettings: description: Settings to control periodic optimizations properties: enabled: type: boolean default: false planOptimizationThresholds: $ref: '#/definitions/PlanOptimizationThresholds' setReOptimizedPlanAsPrimary: type: boolean default: false applyPendingEditInSync: type: boolean default: false enableRePlanNextSlotPlan: type: boolean default: false scheduledPlanOptimization: $ref: '#/definitions/ScheduledOptimizationSettings' ScheduledOptimizationSettings: description: Setting to control dlc plan optimiztion at specified interval. properties: enabled: type: boolean default: false interval: type: integer format: int32 default: 1800 PlanOptimizationThresholds: properties: taskCutoff: type: integer format: int32 default: 10 StaticSlotSettings: description: Settings to enable static slots properties: enabled: type: boolean default: false ShipmentLegSettings: description: Settings related to legs properties: firstMile: $ref: '#/definitions/ShipmentLegSetting' midMile: $ref: '#/definitions/ShipmentLegSetting' lastMile: $ref: '#/definitions/ShipmentLegSetting' ShipmentLegSetting: description: settings for each node properties: distributionChannel: $ref: '#/definitions/DistributionChannel' default: TOUR_DISPATCH_MANAGEMENT autoVerify: type: boolean default: false completeLegOnInBound: type: boolean default: false unbagOnInBound: type: boolean default: false DistributionChannel: type: string enum: - TRACK_IQ - SHIPFLEX - TOUR_DISPATCH_MANAGEMENT - OIQ CustomerPickupSettings: description: Settings related to customer pickup of order from store allOf: - $ref: '#/definitions/ExposedCustomerPickupSettings' ExposedCustomerPickupSettings: description: Settings related to customer pickup of order from store required: - enabled properties: enabled: description: flag for enabling received status type: boolean default: false SlotQuerySettings: description: Slot management query settings required: - startQueryingFromDay - daysToQueryFor properties: startQueryingFromDay: description: Starts querying plans from currentDay + startQueryingFromDay. Defaults to 1 day. type: integer format: int32 default: 1 daysToQueryFor: description: No. of days to query future slots for (queries plans from startQueryingFromDay to daysToQueryFor). type: integer format: int32 default: 1 ReasonSettings: description: Toggle Reason support for manual order actions for Client allOf: - $ref: '#/definitions/ExposedReasonSettings' - type: object DispatchWaveSettings: allOf: - $ref: '#/definitions/ExposedDispatchWaveSettings' - type: object ExposedDispatchWaveSettings: properties: enabled: description: Flag to toggle Dispatch Wave Settings for client type: boolean default: true continuousDispatch: description: Flag to denote if continuous dispatch is enabled type: boolean default: false enableDistanceBasedChannelSelection: description: Flag to denote if distance should be considered for determining fulfilment channel. type: boolean default: false useVehicleConfig: description: Boolean to denote if vehicle config needs to be used for plan generation type: boolean default: false enableScheduledCreateBatchAndPlan: description: Boolean to denote if scheduled triggers used to create batch and plan type: boolean default: false skipConsiderationPostDispatch: description: Boolean to skip dispatch wave consideration, applicable only for SCHEDULED_EXECUTION_ON_DEMAND type: boolean default: false OrderUpdateEventType: description: Event type for the callback. Will be one of the values corresponding to order update required: - type properties: type: $ref: '#/definitions/OrderUpdateEventTypeEnum' GeocodingSettings: description: Toggle Geocoding for client allOf: - $ref: '#/definitions/ExposedGeocodingSettings' - type: object ExposedGeocodingSettings: properties: enabled: description: Toggle Geocoding exposed for client type: boolean default: true OrderCallback: description: Setting for a single callback for a order update required: - type - url properties: type: $ref: '#/definitions/OrderUpdateEventType' url: type: string description: A url for callback ExposedOrderCallbackSettings: description: Settings for order callbacks exposed to clients required: - orderCallbacks properties: enabled: description: Flag to check if setting is enabled for client type: boolean default: true shouldCleanGhostVehicleIds: description: Flag to enable cleaning of ghost vehicle IDs (vehicle IDs not present in Vehicle Master) type: boolean default: false enableFilters: description: List of callbacks that client wishes to register for. Each item is a pair of callback event type for a user and the corresponding url on which client wants the call. Clients can provide same or different url for any or all types. Provide at most one url for an event type, otherwise behavior will be undefined. type: boolean default: true filters: description: List of filters for order callback type: array items: $ref: '#/definitions/OrderCallbackFilter' orderActions: description: List of actions added on client to send callback on order update.Current possible action is "RESCHEDULE". type: array items: type: string orderCallbacks: description: List of callbacks that client wishes to register for. Each item is a pair of callback event type for a user and the corresponding url on which client wants the call. Clients can provide same or different url for any or all types. Provide at most one url for an event type, otherwise behavior will be undefined. type: array items: $ref: '#/definitions/OrderCallback' OrderTourCallback: description: Setting for a single callback for tour update required: - type - url properties: type: $ref: '#/definitions/OrderTourCallbackEventType' url: type: string description: A url for callback ExposedOrderTourCallbackSettings: description: Settings for tour callbacks exposed to clients required: - orderTourCallbacks properties: enabled: description: Flag to check if setting is enabled for client type: boolean default: true enableFilters: description: List of callbacks that client wishes to register for. Each item is a pair of callback event type for a user and the corresponding url on which client wants the call. Clients can provide same or different url for any or all types. Provide at most one url for an event type, otherwise behavior will be undefined. type: boolean default: true filters: description: List of filters for order callback type: array items: $ref: '#/definitions/OrderTourCallbackEventType' orderTourCallbacks: description: List of callbacks that client wishes to register for. Each item is a pair of callback event type for a user and the corresponding url on which client wants the call. Clients can provide same or different url for any or all types. Provide at most one url for an event type, otherwise behavior will be undefined. type: array items: $ref: '#/definitions/OrderTourCallback' splitCallbackInBatches: description: When enabled, the tour callback orders containing multiple orders will be divided into batches. type: boolean default: false OrderTourCallbackSettings: description: Settings for tour callbacks allOf: - $ref: '#/definitions/ExposedOrderTourCallbackSettings' - type: object OrderTdmsTourCallback: description: Setting for a single callback for tour update required: - type - url properties: type: $ref: '#/definitions/OrderTdmsTourCallbackEventType' url: type: string description: A url for callback ExposedOrderTdmsTourCallbackSettings: description: Settings for tdms-tour callbacks exposed to clients required: - orderTdmsTourCallbacks properties: enabled: description: Flag to check if setting is enabled for client type: boolean default: true enableFilters: description: Flag to enable filters for order callback type: boolean default: true filters: description: List of filters for order callback type: array items: $ref: '#/definitions/OrderTdmsTourCallbackEventType' orderTdmsTourCallbacks: description: List of callbacks that client wishes to register for. Each item is a pair of callback event type for a user and the corresponding url on which client wants the call. Clients can provide same or different url for any or all types. Provide at most one url for an event type, otherwise behavior will be undefined. type: array items: $ref: '#/definitions/OrderTdmsTourCallback' OrderTdmsTourCallbackSettings: description: Settings for tdms-tour callbacks allOf: - $ref: '#/definitions/ExposedOrderTdmsTourCallbackSettings' - type: object OrderTdmsTourCallbackEventType: description: Event type of the tmds-tour callback type: string enum: - DISPATCHED - CREATED - PROCESSING - READY_TO_DISPATCH - COMPLETED - CLOSED - DISCARDED - TOUR_UPDATE DayOfWeek: description: Days of the week type: string enum: - MONDAY - TUESDAY - WEDNESDAY - THURSDAY - FRIDAY - SATURDAY - SUNDAY TeamPeriodicBatchConfig: description: Settings pertaining to order management properties: teams: type: object additionalProperties: type: string slotId: type: string teamId: type: string homebaseIds: type: array items: type: string zipcodes: type: array items: type: string category: type: array items: type: string skills: type: array items: type: string daysOfWeek: type: array items: $ref: '#/definitions/DayOfWeek' daySlot: $ref: '#/definitions/DaySlot' operationalBuffer: type: integer format: int32 autoPlanGenerationEnabled: type: boolean default: false ParkingSettings: description: Settings related to parking of order allOf: - $ref: '#/definitions/ExposedParkingSettings' - type: object ExposedParkingSettings: description: Settings related to parking of order exposed to client properties: enabled: description: Flag to check if setting is enabled for client type: boolean default: true maxAttempts: description: Maximum number of times an order can be attempted, post which the order will be parked type: integer format: int32 default: 5 reasons: type: array items: type: string parkDownstreamStaleOrders: description: Flag to park stale orders in downstream type: boolean default: false staleOrdersThreshold: description: Number of days for order to be considered as stale in downstream type: integer format: int32 default: 10 OrderIQLocationSettings: description: Settings related to location master allOf: - $ref: '#/definitions/ExposedOrderIQLocationSettings' - type: object ExposedOrderIQLocationSettings: description: Exposed Settings related to location master properties: enabled: description: Flag to enable location settings type: boolean default: true locationSlotCutOff: description: Time in 24 hour format. For orders that are created before this time, we assign slots from location master to the order if location id is given type: string default: 06:00 updateLocationOnGeocodeUpdate: description: Flag to propagate geocode updates to location master type: boolean default: false RescheduleSettings: description: Settings pertaining to reschedule allOf: - $ref: '#/definitions/ExposedRescheduleSettings' - type: object DaySlotWithDefaultValue: description: Time slot of the day, in 24 hours format. Time slot of the day, in 24 hours format with default value of 8AM to 8PM allOf: - $ref: '#/definitions/DaySlot' - type: object properties: start: description: Start time of the slot type: string default: 08:00 end: description: End time of the slot type: string default: '20:00' ReattemptSettings: description: Setting related to reattempting of order delivery allOf: - $ref: '#/definitions/ExposedReattemptSettings' - type: object ExposedReattemptSettings: description: Setting related to reattempting of order delivery exposed to client properties: enabled: type: boolean default: true maxReattempts: description: Maximum number of times an order can be reattempted, post which the order will be parked type: integer format: int32 default: 5 defaultSlot: $ref: '#/definitions/DaySlotWithDefaultValue' ExposedRescheduleSettings: description: Settings pertaining to reschedule exposed to client properties: enabled: description: Flag to check if setting is enabled for client type: boolean default: true autoReschedule: description: Flag to check if auto reschedule is enabled for client type: boolean default: false autoRescheduleAt: type: string default: '23:00' rescheduleHomebaseToCustomerRescheduleDate: description: Flag to reschedule homebase to date same as customer date type: boolean default: false maxReschedules: type: integer format: int32 default: 5 reasons: type: array items: type: string DeliveryWindowSettings: description: Order master settings related to delivery window and cancel time allOf: - $ref: '#/definitions/ExposedDeliveryWindowSettings' - type: object ReceivedStatusSettings: description: Settings related to received order-status and inventory flags allOf: - $ref: '#/definitions/ExposedReceivedStatusSettings' - type: object ExposedReceivedStatusSettings: description: Settings related to received order-status and inventory flags exposed to client required: - enabled - autoInventoryVerify properties: enabled: description: flag for enabling received status type: boolean default: true autoVerifyOrder: description: flag for auto verification of order type: boolean default: true verifyParkedOrder: description: flag to verify inventory of parked orders type: boolean default: true ExposedDeliveryWindowSettings: description: Order master settings related to delivery window and cancel time exposed to client required: - deliveryWindow - cancelAt properties: enabled: description: Flag to check if setting is enabled for client type: boolean default: true deliveryWindow: description: The number of days after the first attempt, a parked order is to be cancelled type: integer format: int32 default: 5 cancelAt: type: string default: '23:00' OnDemandSettings: properties: enabled: description: Flag to check if on-demand setting is enabled for client type: boolean default: false timeBuffer: description: Time before slot start time (in minutes), when order will be moved TIQ type: integer format: int32 default: 5 ExposedChecklistActionSettings: description: Setting related to actions on checklist of order exposed to client properties: allowUpdate: type: boolean default: true maxUpdateCount: description: Maximum number of times checklist can be updated type: integer format: int32 default: 1 ChecklistActionSettings: description: Setting related to actions on checklist of order allOf: - $ref: '#/definitions/ExposedChecklistActionSettings' - type: object TaskCancellationAction: description: Cancellation event action settings properties: reasons: description: List of reasons for particular action type: array items: type: string action: $ref: '#/definitions/CancellationActionType' countAsAttempt: description: Condition to check if attempt count can be incremented for current reason and action type: boolean default: false isSoftCancel: description: Flag to denote if cancellation of task to be treated as soft or hard type: boolean default: false shouldRetainRider: description: Flag to check whether rider should be retained or not depending on the reason description and action type: boolean default: false CancellationActionType: description: Action taken on cancellation type: string enum: - REATTEMPT - PARK - NONE CancellationSettings: description: Order cancellation settings allOf: - $ref: '#/definitions/ExposedCancellationSettings' - type: object ExposedCancellationSettings: description: Order cancellation settings exposed to client required: - taskCancellationActions properties: defaultTaskCancellationAction: description: Default action for cancel settings $ref: '#/definitions/TaskCancellationAction' taskCancellationActions: description: List of cancel settings which clients want to use type: array items: $ref: '#/definitions/TaskCancellationAction' isCancellationTerminal: type: boolean default: true maxAttempts: description: Maximum number of times an order can be attempted post which the order will be cancelled type: integer format: int32 default: 10 reasons: type: array items: type: string PeriodicBatchSettings: description: Settings pertaining to order management properties: enabled: description: Flag to check if setting is enabled for client type: boolean default: false teamPeriodicBatchConfigs: type: array items: $ref: '#/definitions/TeamPeriodicBatchConfig' OrderAutomationSettings: description: Settings pertaining to order management allOf: - $ref: '#/definitions/ExposedOrderAutomationSettings' - type: object ExposedOrderAutomationSettings: description: Exposed settings pertaining to order management properties: enabled: description: Flag to check if setting is enabled for client type: boolean default: false moveUnallocatedToShipflex: description: Flag to move unallocated order to shipflex type: boolean default: false OrderTourCallbackEventType: description: Event type of the tour callback type: string enum: - FROZEN - DISPATCHED - STARTED - COMPLETED OrderCallbackSettings: description: Settings for order callbacks allOf: - $ref: '#/definitions/ExposedOrderCallbackSettings' - type: object OrderUpdateEventTypeEnum: type: object ExposedOrderMasterSettings: description: Order master settings required: - customFields properties: customFields: description: List of fields which clients want to use along with the standard entities properties type: array items: $ref: '#/definitions/CustomField' enabled: description: Flag to check if setting is enabled for client type: boolean default: true allowOrderEdits: description: Flag to control if an Order Can be edited from the Order Details Page type: boolean default: true allowOrderPriorityEdits: description: Enabling the feature to edit the order priority type: boolean default: false allowLineItemUpdates: description: Flag to control if line items of an Order Can be edited from the Order Details Page type: boolean default: false enableOrderSplitting: description: Flag to toggle order-splitting. This is deprecated and will be replaced by orderSplitSettings. type: boolean default: false enablePriorityCalculation: description: Flag to toggle dynamic priority calculation for orders type: boolean default: false defaultVolumeUnit: type: string default: TC showOtps: description: Flag to control if OTPs should be visible on order detail screen type: boolean default: false enableCsvOrderCreation: description: Flag to control if order creation is allowed via Order CSV upload type: boolean default: true enableUIOrderCreation: description: Flag to control if order creation is allowed via UI type: boolean default: true enableSendToTdms: description: Flag to control if orders can be added to TDMS tour from OrderIQ type: boolean default: false otpSkipSkills: type: array items: type: string enableOrderAutosort: description: Flag to toggle order-autosorting. type: boolean default: false enableServiceability: description: Flag to denote if serviceability is enabled or not type: boolean default: false enforceSingleTeam: description: Flag to enforce single team selection on dashboard type: boolean default: false entitySearchSettings: description: Settings for customising search inputs for fields pertaining to given entity type: array items: $ref: '#/definitions/EntitySearchSettings' allowOrderCompletion: description: Flag to control if order completion is allowed via UI type: boolean default: false blockedStatusesForCustomPropertyUpdate: description: Order statuses for which custom properties cannot be updated type: array items: $ref: '#/definitions/OrderStatus' blockedStatusesForPriorityUpdate: description: Order statuses for which priority cannot be updated type: array items: $ref: '#/definitions/OrderStatus' allowDuplicateSkuIds: description: Flag to allow duplicate skuIds type: boolean default: true enableSorting: description: Boolean flag to control visibility of sorting on the dashboard type: boolean default: true skipParkingOnUnavailableRoute: description: Boolean flag to skip parking if route not found while auto-sorting type: boolean default: false enableSlaStatusCalculation: description: Boolean flag to calculate SLA status based on CPDT/Slot End type: boolean default: false enableOrderCostContractCalculation: description: Boolean flag to calculate order cost based on contract type: boolean default: false enableOrderCount: description: Boolean flag to enable order count in dashboard type: boolean default: false enableValidateOrderAction: description: Boolean flag to enable order action validation for client type: boolean default: false enableOrderTransaction: description: Boolean flag to enable persistence of order transaction type: boolean default: false useProductSettings: description: Boolean flag to enable usage of product settings for client type: boolean default: false enableHomebaseCustomerDistanceCalculation: description: Flag to Calculate customer-homebase distance in OrderIQ type: boolean default: false enablePaymentsV2: description: Flag to enable payment v2 type: boolean default: false defaultUnitsOfTransactions: type: array items: $ref: '#/definitions/UnitsOfTransaction' isNewGridViewEnabled: description: Flag to enable the new grid view type: boolean default: false fetchDispatchDateFromHomebase: description: Use dispatch date from homebase if the order type is DROP type: boolean default: false moveToOpenOnLineItemUpdate: description: Flag to enable update of line items in downstream type: boolean default: false retainRiderId: description: Flag to retain pre-assigned riderId on order during reschedule or move-to-open flows. type: boolean default: false ExposedOrderManagementSettings: description: Settings pertaining to order management exposed to client properties: orderMasterSettings: $ref: '#/definitions/ExposedOrderMasterSettings' orderAutomationSettings: $ref: '#/definitions/ExposedOrderAutomationSettings' periodicBatchSettings: $ref: '#/definitions/PeriodicBatchSettings' cancellationSettings: $ref: '#/definitions/ExposedCancellationSettings' parkingSettings: $ref: '#/definitions/ExposedParkingSettings' reattemptSettings: $ref: '#/definitions/ExposedReattemptSettings' rescheduleSettings: $ref: '#/definitions/ExposedRescheduleSettings' checklistActionSettings: $ref: '#/definitions/ExposedChecklistActionSettings' deliveryWindowSettings: $ref: '#/definitions/ExposedDeliveryWindowSettings' orderCallbackSettings: $ref: '#/definitions/ExposedOrderCallbackSettings' tourCallbackSettings: $ref: '#/definitions/ExposedOrderTourCallbackSettings' orderIQSlotManagementSettings: $ref: '#/definitions/ExposedOrderIQSlotManagementSettings' dispatchWaveSettings: $ref: '#/definitions/ExposedDispatchWaveSettings' receivedStatusSettings: $ref: '#/definitions/ExposedReceivedStatusSettings' orderIQLocationSettings: $ref: '#/definitions/ExposedOrderIQLocationSettings' customerPickupSettings: $ref: '#/definitions/ExposedCustomerPickupSettings' reasonSettings: $ref: '#/definitions/ExposedReasonSettings' geocodingSettings: $ref: '#/definitions/ExposedGeocodingSettings' adjustTimezoneSettings: $ref: '#/definitions/ExposedAdjustTimezoneSettings' exceptionSettings: $ref: '#/definitions/ExposedExceptionSettings' orderSplitSettings: $ref: '#/definitions/OrderSplitSettings' visibilitySettings: $ref: '#/definitions/ExposedOrderIQVisibilitySettings' columnVisibilitySettings: $ref: '#/definitions/OmsColumnVisibilitySettings' dlcSettings: $ref: '#/definitions/DlcSettings' dashboardActionSettings: $ref: '#/definitions/DashboardActionSettings' customerSlotManagementSettings: $ref: '#/definitions/CustomerSlotManagementSettings' bagSettings: $ref: '#/definitions/BagSettings' bagModelSettings: $ref: '#/definitions/BagModelSettings' tdmsTourCallbackSettings: $ref: '#/definitions/OrderTdmsTourCallbackSettings' earlinessConfig: $ref: '#/definitions/EarlinessConfig' onDemandSettings: $ref: '#/definitions/OnDemandSettings' downstreamChannelFilterSettings: $ref: '#/definitions/DownstreamChannelFilterSettings' ruleEngineSettings: $ref: '#/definitions/OrderRuleEngineSettings' otpSettings: $ref: '#/definitions/OtpSettings' crateSettings: $ref: '#/definitions/CrateSettings' channelCapacitySettings: $ref: '#/definitions/ChannelCapacitySettings' omsRuleEngineSettings: $ref: '#/definitions/OmsRuleEngineSettings' smartSearchSettings: $ref: '#/definitions/OrderSmartSearchSettings' OrderManagementSettings: description: Settings pertaining to order management required: - orderMasterSettings - orderCallbackSettings - tourCallbackSettings - tmdsTourCallbackSettings - orderAutomationSettings - periodicBatchSettings - cancellationSettings - deliveryWindowSettings - earlinessConfig - receivedStatusSettings - rescheduleSettings - reattemptSettings - parkingSettings - orderIQLocationSettings - geocodingSettings - downstreamChannelFilterSettings - dispatchWaveSettings - adjustTimezoneSettings - reasonSettings - customerPickupSettings - otpSettings - checklistActionSettings - ruleEngineSettings - crateSettings - channelCapacitySettings - capacityManagementSettings properties: orderMasterSettings: $ref: '#/definitions/OrderMasterSettings' orderCallbackSettings: $ref: '#/definitions/OrderCallbackSettings' tourCallbackSettings: $ref: '#/definitions/OrderTourCallbackSettings' tdmsTourCallbackSettings: $ref: '#/definitions/OrderTdmsTourCallbackSettings' orderAutomationSettings: $ref: '#/definitions/OrderAutomationSettings' earlinessConfig: $ref: '#/definitions/EarlinessConfig' periodicBatchSettings: $ref: '#/definitions/PeriodicBatchSettings' onDemandSettings: $ref: '#/definitions/OnDemandSettings' checklistActionSettings: $ref: '#/definitions/ChecklistActionSettings' cancellationSettings: $ref: '#/definitions/CancellationSettings' deliveryWindowSettings: $ref: '#/definitions/DeliveryWindowSettings' receivedStatusSettings: $ref: '#/definitions/ReceivedStatusSettings' rescheduleSettings: $ref: '#/definitions/RescheduleSettings' reattemptSettings: $ref: '#/definitions/ReattemptSettings' parkingSettings: $ref: '#/definitions/ParkingSettings' orderIQLocationSettings: $ref: '#/definitions/OrderIQLocationSettings' geocodingSettings: $ref: '#/definitions/GeocodingSettings' downstreamChannelFilterSettings: $ref: '#/definitions/DownstreamChannelFilterSettings' dispatchWaveSettings: $ref: '#/definitions/DispatchWaveSettings' adjustTimezoneSettings: $ref: '#/definitions/AdjustTimezoneSettings' reasonSettings: $ref: '#/definitions/ReasonSettings' orderIQSlotManagementSettings: $ref: '#/definitions/OrderIQSlotManagementSettings' customerPickupSettings: $ref: '#/definitions/CustomerPickupSettings' ruleEngineSettings: $ref: '#/definitions/OrderRuleEngineSettings' orderSplitSettings: $ref: '#/definitions/OrderSplitSettings' exceptionSettings: $ref: '#/definitions/ExceptionSettings' visibilitySettings: $ref: '#/definitions/OrderIQVisibilitySettings' otpSettings: $ref: '#/definitions/OtpSettings' crateSettings: $ref: '#/definitions/CrateSettings' channelCapacitySettings: $ref: '#/definitions/ChannelCapacitySettings' columnVisibilitySettings: $ref: '#/definitions/OmsColumnVisibilitySettings' dlcSettings: $ref: '#/definitions/DlcSettings' dashboardActionSettings: $ref: '#/definitions/DashboardActionSettings' customerSlotManagementSettings: $ref: '#/definitions/CustomerSlotManagementSettings' bagSettings: $ref: '#/definitions/BagSettings' bagModelSettings: $ref: '#/definitions/BagModelSettings' omsRuleEngineSettings: $ref: '#/definitions/OmsRuleEngineSettings' capacityManagementSettings: $ref: '#/definitions/CapacityManagementSettings' smartSearchSettings: $ref: '#/definitions/OrderSmartSearchSettings' TeamOrderManagementSettings: description: Team settings for OrderIQ properties: cancellationSettings: $ref: '#/definitions/CancellationSettings' OmsRuleEngineSettings: properties: enable: type: boolean default: false description: Whether order rule engine is enabled. This can currently only be enabled for non-prod clients. OrderStatus: description: Order status enum type: string enum: - OPEN - CONFIRMED - PLANNING - PLANNED - ASSIGNED - EXECUTING - COMPLETED - CANCELLED - PARKED - RECEIVED OrderFieldConfig: description: Field configurations for client properties: isOptional: type: boolean description: true if field is optional, false if mandatory defaultValue: type: object description: default value for the given field Headers: description: Headers configurations for order upload properties: mappedHeader: type: string description: custom header name to be used by client against order entity OrderMasterSettings: description: Order master settings allOf: - $ref: '#/definitions/ExposedOrderMasterSettings' - type: object properties: orderFieldConfigs: type: object additionalProperties: $ref: '#/definitions/OrderFieldConfig' headers: type: object additionalProperties: $ref: '#/definitions/Headers' clearChecklistOnRemove: type: boolean default: false ShipmentBagUpdateEventType: type: object OrderRuleEngineSettings: description: Proxy settings for order rule engine properties: enable: type: boolean default: false rules: type: array items: $ref: '#/definitions/OrderRule' OrderSplitSettings: description: Settings for order splitting properties: enableOrderSplitting: description: Flag to toggle order-splitting type: boolean default: false recalculateTat: description: If true, tat will be recalculated after order splitting type: boolean default: false splitEachLineItem: description: Each line item will be split into an order type: boolean default: false validateMaximumVolume: description: Flag to denote validate order by maximum volume type: boolean default: true ExceptionChecklistItem: required: - key - item - format - possibleValues - optional properties: key: description: An identifier for this checklist item type: string item: description: String representation of the checklist item, to be displayed on the app type: string format: type: string enum: - BOOLEAN - SINGLE_CHOICE - TEXT_FIELD - PIN - SIGNATURE - PHOTO - RATING - URL - DATE - TIME - DATETIME - PHOTO_GALLERY - MULTI_CHOICE allowedValues: type: array items: $ref: '#/definitions/ExceptionChecklistPossibleValue' optional: type: boolean default: false additionalOptions: type: object additionalProperties: type: string DashboardActionSettings: properties: restrictedStatusesForOpen: description: List of statuses in which OPEN orders is restricted type: array items: $ref: '#/definitions/OrderStatus' ExceptionSettings: description: Settings pertaining to Exception management in transit operations allOf: - $ref: '#/definitions/ExposedExceptionSettings' - type: object ExposedExceptionSettings: description: Settings pertaining to Exceptions management in transit operations properties: enabled: description: Flag to enable exception settings for client type: boolean default: false exceptionExpirySettings: $ref: '#/definitions/ExceptionExpirySettings' exceptionChecklist: $ref: '#/definitions/ExceptionChecklist' OrderIQVisibilitySettings: description: Visibility settings of Order IQ tabs allOf: - $ref: '#/definitions/ExposedOrderIQVisibilitySettings' - type: object ExposedOrderIQVisibilitySettings: description: null properties: isShipmentsTabEnabled: type: boolean default: false isSplitsTabEnabled: type: boolean default: false isOrdersTabEnabled: type: boolean default: true isBagsTabEnabled: type: boolean default: false isMasterbillsTabEnabled: type: boolean default: false isCustomerSlotTabEnabled: type: boolean default: false BagModelSettings: description: Bag model settings properties: customFields: description: List of fields which clients want to use along with standard entities properties type: array items: $ref: '#/definitions/CustomField' enabled: description: Flag to check if setting is enabled for client type: boolean default: false EarlinessConfig: properties: enableEarlySlaStatus: description: Flag to enable EARLY sla status type: boolean default: false allowedEarlinessLenient: description: max earliness allowed for a tour without any penalty (in seconds) type: integer format: int32 default: 0 BagSettings: description: Bag settings properties: customFields: description: List of fields which clients want to use along with standard entities properties type: array items: $ref: '#/definitions/CustomField' enabled: description: Flag to check if setting is enabled for client type: boolean default: false serviceRestrictionSettings: $ref: '#/definitions/ServiceRestrictionSettings' ServiceRestrictionSettings: description: Settings for adding service restrictions for bags properties: enabled: type: boolean default: false serviceRestrictions: type: array items: $ref: '#/definitions/ServiceRestriction' ExceptionChecklist: description: A list of checklist items required: - items properties: items: type: array items: $ref: '#/definitions/ExceptionChecklistItem' OtpSettings: description: Settings pertaining to OTPs of orders properties: status: $ref: '#/definitions/OtpOrderStatus' type: $ref: '#/definitions/OtpGenerationType' fields: type: array items: $ref: '#/definitions/OtpGeneratingField' OtpOrderStatus: description: Allowed order statuses for calculation of OTPs type: string enum: - RECEIVED - OPEN - PLANNING OtpGenerationType: description: Types of otp generation logic type: string enum: - RANDOM - DERIVED OtpGeneratingField: description: Acceptable fields to calculate OTPs type: string enum: - DISPATCH_DATE - ORDER_DATE - LOCATION_ID - SOURCE_ORDER_ID ChannelCapacitySettings: properties: enable: type: boolean default: false teamCapacities: type: array items: $ref: '#/definitions/TeamChannelCapacity' skillsMapping: $ref: '#/definitions/TransporterTypeSkills' TeamChannelCapacity: properties: teamId: type: string owned: type: integer format: int32 default: 0 outsourced: type: integer format: int32 default: 0 thirdParty: type: integer format: int32 default: 0 TransporterTypeSkills: properties: owned: type: array items: type: string outsourced: type: array items: type: string thirdParty: type: array items: type: string CrateSettings: properties: enable: type: boolean default: false ExceptionChecklistPossibleValue: required: - key - value properties: key: description: Identifier of checklist item value type: string value: type: string ExceptionExpirySettings: description: Settings to define exception exception expiry properties: enabled: description: Flag to enable exception expiry for client type: boolean default: false expiryInMinutes: description: Time in minutes after which exception is marked as EXPIRED automatically type: integer format: int32 default: 30 OrderRule: required: - logicalOperation - conditions - skills properties: logicalOperation: $ref: '#/definitions/LogicalOperation' conditions: type: array items: $ref: '#/definitions/OrderRuleCondition' property: $ref: '#/definitions/RuleProperty' operation: $ref: '#/definitions/RuleOperation' attributes: type: object additionalProperties: type: object RuleProperty: type: string enum: - SKILLS - SKILL_TAT - LINEITEM_TAT_MULTIPLIER RuleOperation: type: string enum: - ADD - REMOVE - OVERRIDE - NULLIFY OrderRuleCondition: properties: property: $ref: '#/definitions/ConditionProperty' operation: $ref: '#/definitions/ConditionOperation' attributes: type: object additionalProperties: type: object collectionExpression: description: Expression to check the rule either in all/any Order/ Lineitem type: string enum: - ANY - ALL default: ANY ConditionProperty: type: string enum: - WEIGHT - PART_WEIGHT - ZONE_TAT - SKILLS ConditionOperation: type: string enum: - EQUALS - NOT_EQUALS - IS_NULL - NON_NULL - RANGE - CONTAINS - GREATER_THAN - LESSER_THAN - GREATER_THAN_OR_EQUAL_TO - LESSER_THAN_OR_EQUAL_TO DlcSettings: description: Settings for order time and distance threshold properties: slotHoldTimeLimit: description: Time before get api (in seconds) will get expired type: integer format: int32 default: 600 maxAllowedDistanceForSlotConfirmation: description: Validate new address is within certain distance (in meters) type: integer format: int32 default: 200 slotSelectionStrategy: $ref: '#/definitions/SlotSelectionStrategy' SlotSelectionStrategy: type: string enum: - EARLIEST_START - LEAST_ENERGY_DELTA - LEAST_SCORE - CUSTOMER_CHOSEN - CUSTOMER_CHOSEN_EARLIEST - CUSTOMER_CHOSEN_LEAST_SCORE - CUSTOMER_CHOSEN_LEAST_ENERGY_DELTA CustomerSlotManagementSettings: properties: enabled: type: boolean default: false enableServiceabilityMap: description: Boolean flag if true will use only ServiceabilityMap for slots type: boolean default: false slotLimit: description: Maximum number of customer slots allowed to create. type: integer format: int32 default: 20 OmsColumnVisibilitySettings: properties: orderMaster: $ref: '#/definitions/ColumnsVisibilityDetails' ColumnVisibilityInfo: properties: id: type: string OrderAmountInformation: description: It represents all financial details of an order properties: amount: $ref: '#/definitions/AmountDetails' originalAmount: $ref: '#/definitions/AmountDetails' executedAmount: $ref: '#/definitions/AmountDetails' exchangeType: $ref: '#/definitions/AmountExchangeType' amountCollected: $ref: '#/definitions/Amount' pendingAmount: $ref: '#/definitions/Amount' reconciledAmount: $ref: '#/definitions/Amount' paymentStatus: $ref: '#/definitions/OrderPaymentStatus' paymentHistory: type: array items: $ref: '#/definitions/Payment' timeline: type: array items: $ref: '#/definitions/AmountDetailsTimeline' 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' AmountExchangeType: description: Amount exchange enum type: string enum: - COLLECT - PREPAID OrderPaymentStatus: description: Payment status of an order. type: string enum: - PAID - PARTIALLY_PAID - UNPAID - PENDING 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 AmountType: description: Payment status of an order. type: string enum: - CURRENT - EXECUTED CratingInfo: $ref: https://swagger.locus-api.com/task.yaml#/definitions/CratingInfo Crate: $ref: https://swagger.locus-api.com/task.yaml#/definitions/Crate CrateRequest: $ref: https://swagger.locus-api.com/task.yaml#/definitions/CrateRequest BaseLineItem: $ref: https://swagger.locus-api.com/task.yaml#/definitions/BaseLineItem CratingInfoRequest: $ref: https://swagger.locus-api.com/task.yaml#/definitions/CratingInfoRequest WeightLimit: $ref: https://swagger.locus-api.com/oms.yaml#/definitions/WeightLimit FieldValue: $ref: https://swagger.locus-api.com/oms.yaml#/definitions/FieldValue EntitySearchSettings: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/EntitySearchSettings SearchTransformationMetadata: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/SearchTransformationMetadata TransformationType: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/TransformationType ReplacementDetails: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/ReplacementDetails TransporterType: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/TransporterType BarCodeSetting: $ref: https://swagger.locus-api.com/configurations.yaml#/definitions/BarCodeSetting BarCodeActionType: $ref: https://swagger.locus-api.com/configurations.yaml#/definitions/BarCodeActionType BarCodeInfoFormatType: $ref: https://swagger.locus-api.com/configurations.yaml#/definitions/BarCodeInfoFormatType BarCodeTokenType: $ref: https://swagger.locus-api.com/configurations.yaml#/definitions/BarCodeTokenType BarCodePattern: $ref: https://swagger.locus-api.com/configurations.yaml#/definitions/BarCodePattern BarCodePath: $ref: https://swagger.locus-api.com/configurations.yaml#/definitions/BarCodePath BulkBarCodePath: $ref: https://swagger.locus-api.com/configurations.yaml#/definitions/BulkBarCodePath CustomField: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/CustomField LogicalOperation: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/LogicalOperation ColumnsVisibilityDetails: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/ColumnsVisibilityDetails SortRequest: required: - entityId - teamId properties: entityId: description: Id of the entity type: string entityType: $ref: '#/definitions/ScanEntityType' teamId: type: string locationId: type: string SortResponse: description: object to hold bag or order details for scanned entity properties: shipment: $ref: '#/definitions/MinimalScannedShipment' bag: $ref: '#/definitions/MinimalShipmentBag' order: $ref: '#/definitions/MinimalOrder' MinimalScannedShipment: description: object to order details for scanned order properties: shipmentId: description: Shipment id in the locus system type: string orderId: description: leg order id of scanned shipment in the locus system type: string sourceOrderId: description: Shipment identifier in the client system type: string customerPromisedDate: description: Customer promised delivery date as String in format "YYYY-MM-DD" type: string location: type: object lineItems: type: array items: $ref: '#/definitions/MinimalLineItem' MinimalShipmentBag: description: object to order details for scanner order properties: bagId: description: bag id in the locus system type: string bagEventId: type: string countOfOrders: description: Count of orders in ShipmentBag type: string status: $ref: '#/definitions/BagStatus' CreateBagModelRequest: description: Wrapper for create vehicle model request allOf: - $ref: '#/definitions/BagModel' - type: object CreateBagModelsResponse: description: Response of create vehicle models request required: - status properties: status: $ref: '#/definitions/CreateEntityResponseStatus' GetBagModelsResponse: description: Response of getBagModels API required: - bagModels - paginationInfo properties: bagModels: type: array items: $ref: '#/definitions/BagModel' paginationInfo: $ref: '#/definitions/PaginationInfo' GetVersionedBagModelsResponse: description: List of versioned bag models required: - versionedBagModels properties: versionedBagModels: type: array items: $ref: '#/definitions/VersionedBagModel' VersionedBagModel: description: Versioned bag model response properties: bagModelId: $ref: '#/definitions/BagModelId' bagModel: $ref: '#/definitions/BagModel' BagModelId: description: A unique id for the bag model required: - clientId - id properties: clientId: type: string id: type: string version: type: integer format: int32 BagModel: description: Model definition for a bag allOf: - $ref: '#/definitions/EntityDefinition' - type: object required: - type - volume - unloadingSide - usableVolume - dimensions properties: description: description: Description text for the bag model type: string type: $ref: '#/definitions/BagModelType' skills: type: array items: $ref: '#/definitions/SkillId' transporterId: $ref: '#/definitions/TransporterId' volume: description: Volume of the Bag $ref: '#/definitions/LVolume' usableVolume: description: Usable volume of the Bag $ref: '#/definitions/LVolume' dimensions: $ref: '#/definitions/LDimensions' usableDimensions: $ref: '#/definitions/LDimensions' pieceDimensionLimit: $ref: '#/definitions/LDimensions' doorDimensions: $ref: '#/definitions/DoorDimensions' unladenWeight: description: Weight of Unloaded Bag. KG in Metric system, Lb in Imperial system. type: number format: double maxPayloadWeight: description: Maximum weigth that a bag can carry. KG in Metric system, Lb in Imperial system. type: number format: double maxStackableWeight: description: Maximum weigth that a bag can carry. KG in Metric system, Lb in Imperial system. type: number format: double maxStackableCount: description: Maximum number of bags that can be stacked on top of the cargo container type: integer format: int32 limits: $ref: '#/definitions/EntityResourceLimits' unloadingSide: $ref: '#/definitions/LoadingUnloadingSide' transportModes: type: array items: $ref: '#/definitions/TransportModeType' doorCount: description: No. of doors type: integer format: int32 crateType: type: string crateSubType: type: string crateTypeColor: type: string crateSubTypeColor: type: string BagModelType: type: string enum: - CONTAINER - PALLET - CRATE LocationSource: description: location provider source. type: string enum: - LOCATION_MASTER ServiceabilityMapRequest: description: An entity for ServiceabilityMap request allOf: - $ref: '#/definitions/EntityDefinition' - type: object properties: teamId: $ref: '#/definitions/TeamId' geometries: type: array items: $ref: '#/definitions/ServiceabilityMapGeometry' ServiceabilityMapGeometry: description: An entity for ServiceabilityMap geometry allOf: - $ref: '#/definitions/BaseMapGeometry' - type: object properties: slots: type: array items: $ref: '#/definitions/CustomerSlotId' dayOverrides: $ref: '#/definitions/SlotDayOverrides' ServiceabilityMaps: description: An entity for returning bulk ServiceabilityMap properties: maps: type: array items: $ref: '#/definitions/ServiceabilityMap' ServiceabilityMap: description: An entity defining Serviceability Maps allOf: - $ref: '#/definitions/ServiceabilityMapRequest' - type: object properties: slotsInfo: type: array items: $ref: '#/definitions/CustomerSlot' isActive: type: boolean default: false TeamIds: description: A team ids to fetch Serviceability Map properties: teamIds: type: array items: type: string LocaleSettings: type: object ObfuscationSettings: type: object PlatformEntitySettings: properties: exportSettings: $ref: '#/definitions/ExportSettings' ExportSettings: type: object DispatcherEntitySettings: properties: locationSettings: $ref: '#/definitions/MasterLocationSettings' lineItemSettings: $ref: '#/definitions/MasterLineItemSettings' vehicleModelSettings: $ref: '#/definitions/VehicleModelSettings' bagModelSettings: $ref: '#/definitions/BagModelSettings' mapSettings: $ref: '#/definitions/MapSettings' DispatcherPlanSettings: properties: createTdmsToursWithOiq: type: boolean default: false MotiontrackEntitySettings: properties: riderSettings: $ref: '#/definitions/RiderSettings' MasterLocationSettings: properties: enabled: type: boolean default: true MasterLineItemSettings: properties: customFields: type: array items: $ref: '#/definitions/CustomField' enforceSkuMaster: type: boolean default: false enabled: type: boolean default: true VehicleModelSettings: properties: defaultVehicleModelId: $ref: '#/definitions/VehicleModelId' RiderSettings: properties: enforceRiderMaster: type: boolean default: true MapSettings: properties: usecases: type: array items: $ref: '#/definitions/MapUsecaseType' MapUsecaseType: type: object ClientProfileSettings: type: object UnitSettings: type: object BulkAddOrdersToTourRequest: properties: request: type: array items: $ref: '#/definitions/AddOrdersToTourRequest' AddOrdersToTourRequest: properties: tourId: type: string orderIds: type: array items: type: string BulkRemoveOrdersFromTourRequest: properties: request: type: array items: $ref: '#/definitions/RemoveOrdersFromTourRequest' RemoveOrdersFromTourRequest: properties: tourId: type: string orderIds: type: array items: type: string BulkTransferOrdersFromTourRequest: properties: request: type: array items: $ref: '#/definitions/TransferOrdersFromTourRequest' TransferOrdersFromTourRequest: properties: sourceTourId: type: string orderIds: type: array items: type: string targetTourId: type: string CreateTourRequest: required: - clientId - teamId - tourName - tourDate properties: id: type: string clientId: type: string teamId: type: string tourName: type: string tourDate: type: string planId: $ref: '#/definitions/PlanId' planTourId: $ref: '#/definitions/PlanTourDetails' assignmentDetails: $ref: '#/definitions/UpdateAssignmentRequest' orderIds: type: array items: type: string costMetadata: $ref: '#/definitions/TourCostMetadata' customProperties: type: object additionalProperties: type: string tourSource: $ref: '#/definitions/TourSource' motionTrackTour: $ref: '#/definitions/MotionTrackTour' dryRun: type: boolean default: false checksum: description: Checksum to validate the integrity of this tour. type: string TourSource: type: string enum: - ORDER_IQ - TRACK_IQ - DISPATCH_IQ - TDMS - VEHICLE_PRO_ASSIGN UpdateAssignmentRequest: properties: transporterId: type: string vehicleModelId: type: string vehicleId: type: string riderId: type: string compactRosterId: type: string volumeLimit: $ref: '#/definitions/VolumeLimit' resourceLimits: type: array items: $ref: '#/definitions/ResourceLimit' skills: $ref: '#/definitions/Skills' AddTourElementsRequest: description: Request to add tour elements to tour. properties: ids: type: array items: type: string elementType: $ref: '#/definitions/VisitEntityType' VisitEntityType: type: string enum: - ORDER - BAG - SHIPMENT MotionTrackTour: type: object PlanId: type: object PlanTourDetails: type: object DiscardTourRequest: properties: tourIds: type: array items: type: string RuleEngineOrder: allOf: - $ref: '#/definitions/Order' - type: object properties: id: type: string name: type: string customProperties: type: object additionalProperties: type: string promiseInformation: $ref: '#/definitions/PromiseInformation' RuleEngineActor: properties: id: type: string role: type: string ExtendedStructuredAddress: allOf: - $ref: '#/definitions/StructuredAddress' - type: object properties: type: $ref: '#/definitions/LocationType' customProperties: type: object additionalProperties: type: string OrderRuleEngineResponse: type: object properties: blockEvent: type: string RescheduleOrderActionRequest: type: object properties: rescheduleByDays: $ref: '#/definitions/RescheduleByDaysRequest' customSchedule: $ref: '#/definitions/CustomScheduleRequest' reasonDescription: type: string RescheduleByDaysRequest: type: object properties: customerSlotRescheduleDateByDays: type: integer format: int32 customerSlotRescheduleSlotByHours: type: integer format: int32 homebaseSlotRescheduleDateByDays: type: integer format: int32 homebaseSlotRescheduleSlotByHours: type: integer format: int32 CustomScheduleRequest: type: object properties: homebaseSlot: $ref: '#/definitions/CustomSlotRequest' customerSlot: $ref: '#/definitions/CustomSlotRequest' CustomSlotRequest: type: object properties: startDate: type: string description: Date in YYYY-MM-DD format startTime: type: string format: time pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$ description: Time in 24hr HH:MM format endDate: type: string description: Date in YYYY-MM-DD format (optional, calculated if not provided) endTime: type: string format: time pattern: ^([01]?[0-9]|2[0-3]):[0-5][0-9]$ description: Time in 24hr HH:MM format UpdateTeamAndHomebaseActionRequest: type: object properties: teamId: type: string homebaseId: type: string UpdateOrderAttributesActionRequest: properties: addSkills: type: array items: type: string removeSkills: type: array items: type: string category: type: string transactionDuration: type: integer format: int32 homebaseTransactionDuration: type: integer format: int32 transporterId: type: string amountTransaction: $ref: '#/definitions/UpdateAmountTransactionRequest' priority: type: integer format: int32 UpdateAmountTransactionRequest: allOf: - $ref: '#/definitions/AmountTransaction' OpenOrderActionRequest: type: object ParkOrderActionRequest: type: object properties: reasonDescription: type: string UpdateOrderCustomPropertiesActionRequest: type: object properties: customProperties: type: object additionalProperties: type: string UpdateOrderDispatchWaveActionRequest: type: object required: - dispatchWaveId properties: dispatchWaveId: type: string Skills: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/Skills LocationType: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/LocationType BaseItemAttributes: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/BaseItemAttributes ItemDimension: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/ItemDimension ItemAttributes: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/ItemAttributes ItemAttributesUnit: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/ItemAttributesUnit LineItemPartDetail: $ref: https://swagger.locus-api.com/oms.yaml#/definitions/LineItemPartDetail UnitsOfTransaction: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/UnitsOfTransaction BoxesInfo: $ref: https://swagger.locus-api.com/oms.yaml#/definitions/BoxesInfo TemperatureThreshold: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/TemperatureThreshold LineItemInfo: $ref: https://swagger.locus-api.com/oms.yaml#/definitions/LineItemInfo ItemVolumeUnit: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/ItemVolumeUnit AssetInfo: $ref: https://swagger.locus-api.com/oms.yaml#/definitions/AssetInfo BoxDetail: $ref: https://swagger.locus-api.com/oms.yaml#/definitions/BoxDetail TransactedLineItemDetail: $ref: https://swagger.locus-api.com/oms.yaml#/definitions/TransactedLineItemDetail TransactedAssetInfo: $ref: https://swagger.locus-api.com/oms.yaml#/definitions/TransactedAssetInfo TransactionDetail: $ref: https://swagger.locus-api.com/oms.yaml#/definitions/TransactionDetail LineItemDetails: $ref: https://swagger.locus-api.com/oms.yaml#/definitions/LineItemDetails BaseTransactedLineItemDetail: $ref: https://swagger.locus-api.com/oms.yaml#/definitions/BaseTransactedLineItemDetail BaseTransactedAssetInfo: $ref: https://swagger.locus-api.com/oms.yaml#/definitions/BaseTransactedAssetInfo AssetTransactionInfo: $ref: https://swagger.locus-api.com/oms.yaml#/definitions/AssetTransactionInfo TransactionStatusEnum: $ref: https://swagger.locus-api.com/oms.yaml#/definitions/TransactionStatusEnum BaseLineItemDetails: $ref: https://swagger.locus-api.com/oms.yaml#/definitions/BaseLineItemDetails CreateLineItemDetails: $ref: https://swagger.locus-api.com/oms.yaml#/definitions/CreateLineItemDetails TaskLineItemDetails: $ref: https://swagger.locus-api.com/oms.yaml#/definitions/TaskLineItemDetails AssetTransactionStatus: $ref: https://swagger.locus-api.com/oms.yaml#/definitions/AssetTransactionStatus AssetTransactionDetail: $ref: https://swagger.locus-api.com/oms.yaml#/definitions/AssetTransactionDetail TransactionStrategy: $ref: https://swagger.locus-api.com/common-entities.yaml#/definitions/TransactionStrategy InboundAssetTransactionDetail: properties: assetTransactionId: type: string isTransacted: type: boolean triggerTime: type: string format: date-time checklistValues: type: object additionalProperties: type: object BaseTransactionDetail: type: object properties: assetId: type: string lineItemId: type: string skuId: type: string transactedQuantity: type: integer format: int32 transactedWeight: type: number format: double transactedVolume: type: number format: double triggerTime: type: string format: date-time checklistValues: type: object additionalProperties: type: object OutboundTransactionDetail: allOf: - $ref: '#/definitions/BaseTransactionDetail' InboundTransactionDetail: allOf: - $ref: '#/definitions/BaseTransactionDetail' ServiceTypeId: description: Service Type Id properties: clientId: description: Id of the client type: string serviceTypeId: description: Id of the service type type: string version: type: integer format: int32 GetPromiseRequest: type: object required: - teamId - type - homebaseId properties: clientId: type: string description: Id of the client to which this entity belongs to id: type: string description: A unique identifier for the order customProperties: type: object additionalProperties: type: string description: Additional properties which clients wants to have along with standard entity properties teamId: type: string description: Team of carrier client to consider for this order assignment skills: type: array items: type: string description: List of skills homebaseId: type: string description: Master id for the homebase / warehouse homebaseTransactionDuration: type: integer format: int32 description: Duration required for transaction at the pickup location, in seconds locationId: type: string description: Master location id for the drop location transactionDuration: type: integer format: int32 description: Duration required for transaction at the drop location, in seconds contactPoint: $ref: '#/definitions/MinimalContactPoint' priority: type: integer format: int32 description: Priority of the order readyForDispatchTime: description: time at which order gets ready for dispatch type: string format: date-time category: type: string description: order category riderId: type: string type: $ref: '#/definitions/OrderType' lineItems: type: array items: $ref: '#/definitions/MinimalLineItem' locationAddress: $ref: '#/definitions/StructuredAddress' latLng: $ref: '#/definitions/MinimalLatLng' amountTransaction: $ref: '#/definitions/AmountTransaction' volume: $ref: '#/definitions/Volume' weight: $ref: '#/definitions/Weight' daysToQueryFor: type: integer format: int32 description: number of days indicates days in future for serviceable slots to be fetched creationTime: type: string format: date-time description: Timestamp for when the get promise request made, using the standard ISO 8601 format GetPromiseResponse: type: object required: - id properties: id: type: string promiseDetails: type: array items: $ref: '#/definitions/PromiseDetail' bestPromiseId: $ref: '#/definitions/BestPromiseId' description: Id of the best available promise based on configured strategy ConfirmPromiseRequest: type: object required: - id - orderId properties: id: type: string description: Id provided in the Get Promise Response orderId: type: string description: Unique order identifier dateSlots: type: array items: $ref: '#/definitions/DateSlotInfoElement' serviceTypeId: type: string slot: $ref: '#/definitions/TimeSlot' description: Selected time slot for delivery latLng: $ref: '#/definitions/MinimalLatLng' description: Geographic coordinates for delivery locationAddress: $ref: '#/definitions/StructuredAddress' description: Structured delivery address locationId: type: string description: Master location id for the drop location DateSlotInfoElement: properties: date: type: string slotIds: type: array items: type: string PromiseSettings: type: object properties: enabled: type: boolean default: false promiseOptimisationStrategy: $ref: '#/definitions/PromiseOptimisationStrategyEnum' default: CPD promiseOutputStrategies: type: array items: $ref: '#/definitions/PromiseOutputStrategyEnum' ReconciledPaymentDetail: properties: transactionId: type: string reconciledAmount: $ref: '#/definitions/Amount' reconciledAmountChecklistValues: $ref: '#/definitions/Checklist' triggerTime: type: string format: date-time ServiceTypeConfiguration: description: Service type model a specific delivery service allOf: - $ref: '#/definitions/CreateServiceTypeRequest' - type: object GetServiceTypesResponse: description: Get service types response required: - serviceTypes - paginationInfo properties: serviceTypes: type: array items: $ref: '#/definitions/ServiceTypeConfiguration' paginationInfo: $ref: '#/definitions/PaginationInfo' CreateServiceTypeRequest: description: Create service type allOf: - $ref: '#/definitions/EntityDefinition' - type: object required: - serviceTypeId - serviceTypeName - orderTypes - maxDeliveryDays - maxDeliveryTime properties: orderType: $ref: '#/definitions/OrderType' teams: description: List of teams of carrier client to consider for this task assignment type: array items: type: string serviceabilityMapIds: description: List of zone ids that the service is serviceable to type: array items: type: string maxDeliveryDays: type: integer minimum: 0 description: Maximum number of days allowed to fulfill the delivery. maxDeliveryTime: type: string pattern: ^([01]\d|2[0-3]):([0-5]\d)$ description: Latest time by which the delivery should be completed, in 24-hour HH:MM format. example: '23:00' costOfService: $ref: '#/definitions/Amount' serviceSubType: $ref: '#/definitions/ServiceSubType' BulkCreateServiceTypeRequest: description: Request to create multiple service types type: object required: - requests properties: requests: type: array items: $ref: '#/definitions/CreateServiceTypeRequest' BulkCreateServiceTypeResponse: description: Response of bulk create service type request required: - serviceTypes properties: serviceTypes: type: array items: $ref: '#/definitions/ServiceTypeConfiguration' ServiceSubType: type: string enum: - NO_OF_DAYS_PLUS_TIME - NO_OF_DAYS - NO_OF_DAYS_PLUS_SLOT CapacityManagementSettings: description: Response of bulk create service type request properties: staticCapacitySettings: $ref: '#/definitions/StaticCapacitySettings' dynamicCapacitySettings: $ref: '#/definitions/DynamicCapacitySettings' StaticCapacitySettings: properties: enabled: type: boolean default: false DynamicCapacitySettings: properties: enabled: type: boolean default: true PromiseIdentifierId: properties: availableDate: type: string serviceTypeId: type: string slotId: type: string CapacityMetadata: properties: taskCount: type: integer format: int32 default: 0 utilisedVolume: type: number format: double default: 0 utilisedWeight: type: number format: double default: 0 OrderSmartSearchSettings: description: Order smart search settings properties: enabled: description: Flag to check if setting is enabled for client type: boolean default: false 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' PromiseDetail: type: object required: - serviceTypeId - serviceTypePromises properties: serviceTypeId: type: string description: Identifier for the service type example: test-add-1 availableDates: type: array items: type: string availableTimeSlots: type: array description: Available time slots for the date items: $ref: '#/definitions/PromiseTimeSlot' PromiseTimeSlot: type: object required: - timeSlot - slotId properties: timeSlot: description: Time slot for the task $ref: '#/definitions/TimeSlot' slotId: type: string description: Customer-facing slot identifier example: morning BestPromiseId: type: object properties: serviceType: type: string date: type: string slotId: type: string description: Customer-facing slot identifier example: morning ConfirmPromiseResponse: type: object properties: serviceTypeId: type: string slotId: type: string description: Customer-facing slot identifier example: morning orderId: type: string PromiseOptimisationStrategyEnum: type: string default: CPD enum: - EARLIEST - SUSTAINABLE - COST_OPTIMISED - CPD PromiseOutputStrategyEnum: type: string default: CPD enum: - CPD - CPDT - DATE_RANGE - TIME_SLOT - SERVICE_TYPE 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' UpdatePromiseRequest: type: object required: - id properties: id: type: string description: Id provided in the Get Promise Response dateSlots: type: array items: $ref: '#/definitions/DateSlotInfoElement' serviceTypeId: type: string slot: $ref: '#/definitions/TimeSlot' description: Selected time slot for delivery reason: $ref: '#/definitions/Reason' BaseConfirmPromiseRequest: type: object description: Base request model for confirming promises with common fields required: - id - orderId - serviceTypeId properties: id: type: string description: Id provided in the Get Promise Response minLength: 1 orderId: type: string description: Unique order identifier minLength: 1 serviceTypeId: type: string description: Service Type ID for the promise minLength: 1 locationId: type: string description: Master location id for the drop location (optional) BaseUpdatePromiseRequest: type: object description: Base request model for updating promises with common fields required: - id - serviceTypeId - reason properties: id: type: string description: Id provided in the Get Promise Response minLength: 1 serviceTypeId: type: string description: Service Type ID for the promise minLength: 1 reason: $ref: '#/definitions/Reason' ConfirmPromiseByServiceTypeRequest: allOf: - $ref: '#/definitions/BaseConfirmPromiseRequest' - type: object description: Request model for confirming a promise with only service type specified. System automatically selects the best available slot. ConfirmPromiseByServiceTypeAndDatesRequest: allOf: - $ref: '#/definitions/BaseConfirmPromiseRequest' - type: object description: Request model for confirming a promise with service type and specific dates. System selects the best available slot from provided dates. required: - dateSlots properties: dateSlots: type: array items: $ref: '#/definitions/DateSlotInfoElement' ConfirmPromiseByExactSlotRequest: allOf: - $ref: '#/definitions/BaseConfirmPromiseRequest' - type: object description: Request model for confirming a promise with exact slot specification. Provides complete control over the exact delivery slot. required: - dateSlots properties: dateSlots: type: array items: $ref: '#/definitions/DateSlotInfoElement' UpdatePromiseByServiceTypeRequest: allOf: - $ref: '#/definitions/BaseUpdatePromiseRequest' - type: object description: Request model for updating a promise with only service type specified. System finds the best available slot for the new service type. UpdatePromiseByServiceTypeAndDatesRequest: allOf: - $ref: '#/definitions/BaseUpdatePromiseRequest' - type: object description: Request model for updating a promise with service type and specific dates. System finds the best available slot from provided dates. required: - dateSlots properties: dateSlots: type: array items: $ref: '#/definitions/DateSlotInfoElement' UpdatePromiseByExactSlotRequest: allOf: - $ref: '#/definitions/BaseUpdatePromiseRequest' - type: object description: Request model for updating a promise with exact slot specification. Provides complete control over the new exact delivery slot. required: - dateSlots properties: dateSlots: type: array items: $ref: '#/definitions/DateSlotInfoElement' ConfirmPromiseByServiceTypeAndCustomerSlotRequest: type: object description: Request model for confirming a promise with service type and customer slot ID. System infers dates from the customer slot ID. required: - id - orderId - serviceTypeId - slotId properties: id: type: string description: Id provided in the Get Promise Response minLength: 1 orderId: type: string description: Unique order identifier minLength: 1 serviceTypeId: type: string description: Service Type ID for the promise minLength: 1 slotId: type: string description: Customer-facing slot identifier (contains temporal information) minLength: 1 locationId: type: string description: Master location id for the drop location (optional) UpdatePromiseByServiceTypeAndCustomerSlotRequest: type: object description: Request model for updating a promise with service type and customer slot ID. System infers dates from the customer slot ID. required: - id - serviceTypeId - slotId - reason properties: id: type: string description: Id provided in the Get Promise Response minLength: 1 serviceTypeId: type: string description: New Service Type ID for the promise minLength: 1 slotId: type: string description: Customer-facing slot identifier for the new slot (contains temporal information) minLength: 1 reason: $ref: '#/definitions/Reason' CreatePromiseInformationRequest: properties: serviceTypeId: type: string