feat(firstleg): expose batch carrier actual facts
This commit is contained in:
@@ -10,6 +10,25 @@ paths:
|
||||
x-permission: platform:firstleg:port-schedule-query:list
|
||||
responses:
|
||||
'200': {description: 'MATSON, SML, ZIM, COSCO, EMC and HEDE descriptors'}
|
||||
/api/platform/v1/carrier-schedule-queries/container-actual-facts:
|
||||
get:
|
||||
summary: Batch query actual carrier-node facts for container workbenches
|
||||
description: Returns at most one row for each container that has a carrier-schedule query. Missing rows mean that no query exists. Estimated facts are never returned or inferred.
|
||||
x-permission: platform:firstleg:port-schedule-query:list
|
||||
parameters:
|
||||
- name: containerBookingIds
|
||||
in: query
|
||||
required: true
|
||||
schema:
|
||||
type: array
|
||||
minItems: 1
|
||||
maxItems: 200
|
||||
uniqueItems: true
|
||||
items: {type: integer, format: int64, minimum: 1}
|
||||
responses:
|
||||
'200':
|
||||
description: Actual-only summaries ordered by containerBookingId
|
||||
content: {application/json: {schema: {$ref: '#/components/schemas/ContainerActualFactsListEnvelope'}}}
|
||||
/api/platform/v1/carrier-schedule-queries:
|
||||
get:
|
||||
summary: Query carrier schedule tasks
|
||||
@@ -175,6 +194,30 @@ components:
|
||||
properties:
|
||||
query: {$ref: '#/components/schemas/Task'}
|
||||
expired: {type: boolean}
|
||||
ContainerActualFacts:
|
||||
type: object
|
||||
required: [containerBookingId, queryId, queryVersion, queryStatus]
|
||||
description: Actual facts only. All node times are null until an immutable fact with actualAt exists; estimatedAt is intentionally absent.
|
||||
properties:
|
||||
containerBookingId: {type: integer, format: int64}
|
||||
queryId: {type: integer, format: int64}
|
||||
queryVersion: {type: integer, minimum: 0}
|
||||
queryStatus: {$ref: '#/components/schemas/QueryStatus'}
|
||||
latestActualNode: {allOf: [{$ref: '#/components/schemas/StandardNode'}], nullable: true}
|
||||
latestActualAt: {type: string, format: date-time, nullable: true}
|
||||
departedWarehouseAt: {type: string, format: date-time, nullable: true}
|
||||
departedOriginPortAt: {type: string, format: date-time, nullable: true}
|
||||
arrivedDestinationPortAt: {type: string, format: date-time, nullable: true}
|
||||
pickupReadyAt: {type: string, format: date-time, nullable: true}
|
||||
pickedUpAt: {type: string, format: date-time, nullable: true}
|
||||
emptyReturnedAt: {type: string, format: date-time, nullable: true}
|
||||
ContainerActualFactsListEnvelope:
|
||||
type: object
|
||||
required: [code, data]
|
||||
properties:
|
||||
code: {type: string, example: '200'}
|
||||
message: {type: string, nullable: true}
|
||||
data: {type: array, items: {$ref: '#/components/schemas/ContainerActualFacts'}}
|
||||
NodeFact:
|
||||
type: object
|
||||
required: [id, providerCode, providerEventId, providerNodeCode, standardNode, nodeSequence, observedAt, rawPayloadHash, createdAt]
|
||||
|
||||
Reference in New Issue
Block a user