openapi: 3.0.3 info: {title: 四类日历柜级来源, version: 1.0.0} security: [{bearerAuth: []}] paths: /api/platform/v1/terminal-drayages/calendar-sources: get: summary: 查询日历到港、默认到仓来源和还柜事实 description: >- 仅平台,platform:appointment:list。返回已确认国内出仓、未撤销且有效的柜次。 到港取最新已观测实际到港节点、柜次实际到港、预计到港,按此顺序选一个日期。 到港候选前移两天覆盖计划到仓默认日期;缺到港日期的柜次同时返回,不能伪造日期。 还柜候选含原截止日期与真实完成日期,最终由原码头拖车业务复核,完成后只按实际还柜日期归日历。 没有platform:firstleg:terminal-drayage:list时emptyReturns为空且emptyReturnsReadable=false;不把缺权限当没有安排。 最多2000个候选,超出返回400;来源读取失败返回错误,不以空列表代替。 x-permissions: [platform:appointment:list] parameters: - {name: from, in: query, required: true, schema: {type: string, format: date}, description: 包含的原业务当地日期} - {name: to, in: query, required: true, schema: {type: string, format: date}, description: 不包含的原业务当地日期,范围最多42天} responses: '200': description: 成功业务响应,code为字符串200 content: application/json: schema: type: object properties: code: {type: string} data: type: object required: [containers, emptyReturns, emptyReturnsReadable] properties: emptyReturnsReadable: {type: boolean} containers: type: array items: type: object properties: containerBookingId: {type: string} cabinetNo: {type: string, nullable: true} containerNo: {type: string, nullable: true} vesselName: {type: string, nullable: true} voyageNo: {type: string, nullable: true} destinationPortName: {type: string, nullable: true, description: 目的港展示值,优先名称,名称为空时使用已保存的港口代码,两者均为空时返回null} destinationWarehouseCode: {type: string, nullable: true} arrivalAt: {type: string, format: date-time, nullable: true} arrivalType: {type: string, enum: [ACTUAL, ESTIMATED]} emptyReturns: type: array description: 沿terminal-drayage-v1的View结构,allowedActions按当前权限过滤;含actualEmptyReturnAt及emptyReturnWarning.deadlineAt items: {$ref: './terminal-drayage-v1.yaml#/components/schemas/TerminalDrayageView'} '400': {description: 范围无效或候选过多} '403': {description: 非平台或没有预约读取权限} components: securitySchemes: bearerAuth: {type: http, scheme: bearer, bearerFormat: JWT}