feat(fleet): add internal capacity pool and warehouse fulfillment bridge
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -340,11 +340,11 @@ components:
|
||||
schemas:
|
||||
BookingCargo:
|
||||
type: object
|
||||
required: [destinationKey, packageCount]
|
||||
required: [destinationKey]
|
||||
properties:
|
||||
destinationKey: {type: string, maxLength: 160}
|
||||
cargoName: {type: string, nullable: true, maxLength: 255}
|
||||
packageCount: {type: integer, minimum: 1}
|
||||
packageCount: {type: integer, nullable: true, minimum: 1, description: 询价未知可为空,确认承运前必须补齐正数箱数}
|
||||
palletSpaces: {type: integer, nullable: true, minimum: 1}
|
||||
weightKg: {type: number, nullable: true, minimum: 0.001}
|
||||
volumeCbm: {type: number, nullable: true, minimum: 0.001}
|
||||
@@ -437,6 +437,8 @@ components:
|
||||
Booking:
|
||||
type: object
|
||||
properties:
|
||||
offerNo: {type: string, nullable: true, description: 来源拼车发布号,池来源的成交和取消必须经专用接口}
|
||||
expectedPalletCount: {type: integer, nullable: true, minimum: 1, description: 预计实托数,不等同托位}
|
||||
bookingNo: {type: string}
|
||||
tripNo: {type: string}
|
||||
customerId: {type: string}
|
||||
|
||||
@@ -3353,6 +3353,7 @@ components:
|
||||
properties: { records: { type: array, items: { $ref: '#/components/schemas/TruckSummary' } } }
|
||||
TruckSummary:
|
||||
type: object
|
||||
description: 卡车商业主单摘要;池来源附带同客户fleetArrangement,独立订单该字段为null。列表批量查询承运摘要,不逐行请求车次。
|
||||
required: [id, customerId, orderNo, origin, destination, palletCount, packageCount, receivedPalletCount, allocatedPalletCount, totalWeightKg, totalVolumeCbm, status, version, createdAt, updatedAt]
|
||||
properties:
|
||||
id: { type: string, pattern: '^[0-9]+$' }
|
||||
@@ -3377,8 +3378,10 @@ components:
|
||||
version: { type: integer, format: int64 }
|
||||
createdAt: { type: string, format: date-time }
|
||||
updatedAt: { type: string, format: date-time }
|
||||
fleetArrangement: { $ref: '#/components/schemas/FleetArrangement' }
|
||||
TruckDetail:
|
||||
type: object
|
||||
description: 承运安排位于summary.fleetArrangement,与列表摘要使用同一真实来源;根对象不重复该字段。池来源手工状态入口禁止旁路实际履约。
|
||||
required: [summary, pallets, histories]
|
||||
properties:
|
||||
summary: { $ref: '#/components/schemas/TruckSummary' }
|
||||
@@ -3407,6 +3410,7 @@ components:
|
||||
properties: { records: { type: array, items: { $ref: '#/components/schemas/LooseboardSummary' } } }
|
||||
LooseboardSummary:
|
||||
type: object
|
||||
description: 散板商业主单摘要;池来源附带同客户fleetArrangement,独立订单该字段为null。池来源不创建第二张占位尾程来源。
|
||||
required: [id, customerId, orderNo, transportMode, palletRequired, transportType, origin, destination, packageCount, totalWeightKg, totalVolumeCbm, status, version, createdAt, updatedAt]
|
||||
properties:
|
||||
id: { type: string, pattern: '^[0-9]+$' }
|
||||
@@ -3430,8 +3434,10 @@ components:
|
||||
version: { type: integer, format: int64 }
|
||||
createdAt: { type: string, format: date-time }
|
||||
updatedAt: { type: string, format: date-time }
|
||||
fleetArrangement: { $ref: '#/components/schemas/FleetArrangement' }
|
||||
LooseboardDetail:
|
||||
type: object
|
||||
description: 承运安排位于summary.fleetArrangement,与列表摘要使用同一真实来源;根对象不重复该字段。池来源状态只能由实际履约推进。
|
||||
required: [summary, histories]
|
||||
properties:
|
||||
summary: { $ref: '#/components/schemas/LooseboardSummary' }
|
||||
@@ -3440,6 +3446,34 @@ components:
|
||||
remark: { type: string, nullable: true }
|
||||
createdBy: { type: string, nullable: true }
|
||||
histories: { type: array, items: { $ref: '#/components/schemas/BusinessHistory' } }
|
||||
FleetArrangement:
|
||||
type: object
|
||||
nullable: true
|
||||
description: 公司内部拼车成交后的客户隔离承运摘要。无发布池内部ID、他人货物、司机私人信息或采购成本;agreedFreightAmount是约定运费,不代表已收款。未知数量保持null。
|
||||
required: [sourceType, businessType, businessOrderNo, bookingNo, tripNo, plannedDepartureAt, originWarehouseName, destinationLabel, deliveryMode, fulfillmentStage, stageOccurredAt, readOnlyReason]
|
||||
properties:
|
||||
sourceType: { type: string, enum: [FLEET_CAPACITY_OFFER] }
|
||||
businessType: { type: string, enum: [LOCAL_LOOSEBOARD, US_TRUCK] }
|
||||
businessOrderNo: { type: string }
|
||||
bookingNo: { type: string }
|
||||
tripNo: { type: string }
|
||||
plannedDepartureAt: { type: string, format: date-time, description: UTC Instant,明确包含Z,不将数据库UTC墙钟值当成本地时间 }
|
||||
originWarehouseName: { type: string }
|
||||
destinationLabel: { type: string }
|
||||
deliveryMode: { type: string, enum: [SELF_DELIVERY, MANUAL_PICKUP_TO_WAREHOUSE] }
|
||||
deliveryInstructions: { type: string, nullable: true }
|
||||
fulfillmentStage: { type: string, enum: [WAITING_INBOUND, RECEIVING, WAITING_CONSOLIDATION, PENDING_DISPATCH, IN_TRANSIT, COMPLETED, CANCELLED] }
|
||||
stageOccurredAt: { type: string, format: date-time, description: 真实履约阶段时间,按业务运行时区转换为Instant }
|
||||
agreedFreightAmount: { type: number, nullable: true }
|
||||
currency: { type: string, nullable: true, enum: [CNY, USD] }
|
||||
incomingNo: { type: string, nullable: true }
|
||||
dispatchNo: { type: string, nullable: true }
|
||||
deliveryNo: { type: string, nullable: true }
|
||||
signedPackages: { type: integer, minimum: 0, nullable: true }
|
||||
unsignedPackages: { type: integer, minimum: 0, nullable: true }
|
||||
returnedPackages: { type: integer, minimum: 0, nullable: true }
|
||||
exceptionSummary: { type: string, nullable: true }
|
||||
readOnlyReason: { type: string }
|
||||
BusinessHistory:
|
||||
type: object
|
||||
properties:
|
||||
@@ -3807,7 +3841,7 @@ components:
|
||||
contactInfo: { type: string, maxLength: 128 }
|
||||
requestedDate: { type: string, format: date }
|
||||
remark: { type: string, nullable: true, maxLength: 1000 }
|
||||
LooseboardStatus: { type: string, enum: [PENDING_ACCEPTANCE, DISPATCHED, IN_TRANSIT, COMPLETED, CANCELLED] }
|
||||
LooseboardStatus: { type: string, enum: [PENDING_ACCEPTANCE, WAITING_INBOUND, RECEIVING, WAITING_CONSOLIDATION, PENDING_DISPATCH, DISPATCHED, IN_TRANSIT, COMPLETED, CANCELLED] }
|
||||
LooseboardStatusChange:
|
||||
type: object
|
||||
required: [version, status, idempotencyKey]
|
||||
|
||||
Reference in New Issue
Block a user