Files
baiyue-firstleg/lastleg-service/src/main/resources/openapi/fleet-capacity-offers-v1.yaml
T

1413 lines
39 KiB
YAML
Raw Normal View History

openapi: 3.0.3
info:
title: 内部拼车车次余位发布与销售意向
version: 1.0.0
description: 首版统一我仓上车;Client不开放运力池。来源商业单、库存与费用沿唯一正式履约链,报价与实收款分开。
security:
- bearerAuth: []
paths:
/api/platform/v1/last-leg/fleet/capacity-offers:
get:
summary: 按当前身份分页查询可接运力
description: 权限:platform:fleet:capacity-offer:list 或 platform:fleet:capacity-offer:manage。普通列表数据库分页,只计算当前页。canConfirm动态筛选候选超过100时要求缩小范围,不返回伪总数。未知余位为null且给出待核对原因。
responses:
'200':
description: 统一业务响应;code=200成功,冲突或资格拒绝不得当成功
content:
application/json:
schema:
type: object
properties:
code:
type: string
message:
type: string
data:
$ref: '#/components/schemas/OfferPage'
requestId:
type: string
nullable: true
traceId:
type: string
nullable: true
'401':
description: 未登录或会话失效
'403':
description: 无权限或非本人意向
parameters:
- name: page
in: query
required: false
schema:
type: integer
minimum: 1
default: 1
- name: size
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 100
default: 20
- name: keyword
in: query
required: false
schema:
type: string
- name: origin
in: query
required: false
schema:
type: string
- name: destination
in: query
required: false
schema:
type: string
- name: tripNo
in: query
required: false
schema:
type: string
- name: departureFrom
in: query
required: false
schema:
type: string
format: date
- name: departureTo
in: query
required: false
schema:
type: string
format: date
- name: status
in: query
required: false
schema:
type: string
enum:
- DRAFT
- OPEN
- PAUSED
- CLOSED
- name: canConfirm
in: query
required: false
schema:
type: boolean
post:
summary: 创建每车次唯一发布草稿
description: 权限:platform:fleet:capacity-offer:manage。
responses:
'200':
description: 统一业务响应;code=200成功,冲突或资格拒绝不得当成功
content:
application/json:
schema:
type: object
properties:
code:
type: string
message:
type: string
data:
$ref: '#/components/schemas/OfferResult'
requestId:
type: string
nullable: true
traceId:
type: string
nullable: true
'401':
description: 未登录或会话失效
'403':
description: 无权限或非本人意向
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OfferWrite'
/api/platform/v1/last-leg/fleet/capacity-offers/{offerNo}:
get:
summary: 读取发布及获准意向首20条
description: 权限:platform:fleet:capacity-offer:list 或 platform:fleet:capacity-offer:manage。销售非OPEN访问必须已有本人意向;不返回司机或他人客户货物。
responses:
'200':
description: 统一业务响应;code=200成功,冲突或资格拒绝不得当成功
content:
application/json:
schema:
type: object
properties:
code:
type: string
message:
type: string
data:
$ref: '#/components/schemas/Detail'
requestId:
type: string
nullable: true
traceId:
type: string
nullable: true
'401':
description: 未登录或会话失效
'403':
description: 无权限或非本人意向
parameters:
- name: offerNo
in: path
required: true
schema:
type: string
maxLength: 64
put:
summary: 维护公开交货信息
description: 权限:platform:fleet:capacity-offer:manage。
responses:
'200':
description: 统一业务响应;code=200成功,冲突或资格拒绝不得当成功
content:
application/json:
schema:
type: object
properties:
code:
type: string
message:
type: string
data:
$ref: '#/components/schemas/OfferResult'
requestId:
type: string
nullable: true
traceId:
type: string
nullable: true
'401':
description: 未登录或会话失效
'403':
description: 无权限或非本人意向
parameters:
- name: offerNo
in: path
required: true
schema:
type: string
maxLength: 64
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OfferWrite'
/api/platform/v1/last-leg/fleet/capacity-offers/{offerNo}/publish:
post:
summary: 发布运力发布
description: 权限:platform:fleet:capacity-offer:manage。CLOSED为终态。原成功请求同键同载荷在再次业务资格检查前重放;身份及权限仍校验。
responses:
'200':
description: 统一业务响应;code=200成功,冲突或资格拒绝不得当成功
content:
application/json:
schema:
type: object
properties:
code:
type: string
message:
type: string
data:
$ref: '#/components/schemas/OfferResult'
requestId:
type: string
nullable: true
traceId:
type: string
nullable: true
'401':
description: 未登录或会话失效
'403':
description: 无权限或非本人意向
parameters:
- name: offerNo
in: path
required: true
schema:
type: string
maxLength: 64
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OfferCommand'
/api/platform/v1/last-leg/fleet/capacity-offers/{offerNo}/pause:
post:
summary: 暂停运力发布
description: 权限:platform:fleet:capacity-offer:manage。CLOSED为终态。原成功请求同键同载荷在再次业务资格检查前重放;身份及权限仍校验。
responses:
'200':
description: 统一业务响应;code=200成功,冲突或资格拒绝不得当成功
content:
application/json:
schema:
type: object
properties:
code:
type: string
message:
type: string
data:
$ref: '#/components/schemas/OfferResult'
requestId:
type: string
nullable: true
traceId:
type: string
nullable: true
'401':
description: 未登录或会话失效
'403':
description: 无权限或非本人意向
parameters:
- name: offerNo
in: path
required: true
schema:
type: string
maxLength: 64
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OfferCommand'
/api/platform/v1/last-leg/fleet/capacity-offers/{offerNo}/resume:
post:
summary: 重新核对并恢复运力发布
description: 权限:platform:fleet:capacity-offer:manage。CLOSED为终态。原成功请求同键同载荷在再次业务资格检查前重放;身份及权限仍校验。
responses:
'200':
description: 统一业务响应;code=200成功,冲突或资格拒绝不得当成功
content:
application/json:
schema:
type: object
properties:
code:
type: string
message:
type: string
data:
$ref: '#/components/schemas/OfferResult'
requestId:
type: string
nullable: true
traceId:
type: string
nullable: true
'401':
description: 未登录或会话失效
'403':
description: 无权限或非本人意向
parameters:
- name: offerNo
in: path
required: true
schema:
type: string
maxLength: 64
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OfferCommand'
/api/platform/v1/last-leg/fleet/capacity-offers/{offerNo}/close:
post:
summary: 终止运力发布
description: 权限:platform:fleet:capacity-offer:manage。CLOSED为终态。原成功请求同键同载荷在再次业务资格检查前重放;身份及权限仍校验。
responses:
'200':
description: 统一业务响应;code=200成功,冲突或资格拒绝不得当成功
content:
application/json:
schema:
type: object
properties:
code:
type: string
message:
type: string
data:
$ref: '#/components/schemas/OfferResult'
requestId:
type: string
nullable: true
traceId:
type: string
nullable: true
'401':
description: 未登录或会话失效
'403':
description: 无权限或非本人意向
parameters:
- name: offerNo
in: path
required: true
schema:
type: string
maxLength: 64
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OfferCommand'
/api/platform/v1/last-leg/fleet/capacity-offers/inquiries:
get:
summary: 分页查询本人或获准的全部意向
description: 权限:platform:fleet:capacity-offer:list 或 platform:fleet:capacity-offer:manage。ALL只允许manage;销售负责人由登录身份过滤,历史不依赖发布仍OPEN。
responses:
'200':
description: 统一业务响应;code=200成功,冲突或资格拒绝不得当成功
content:
application/json:
schema:
type: object
properties:
code:
type: string
message:
type: string
data:
$ref: '#/components/schemas/InquiryPage'
requestId:
type: string
nullable: true
traceId:
type: string
nullable: true
'401':
description: 未登录或会话失效
'403':
description: 无权限或非本人意向
parameters:
- name: page
in: query
required: false
schema:
type: integer
minimum: 1
default: 1
- name: size
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 100
default: 20
- name: keyword
in: query
required: false
schema:
type: string
- name: offerNo
in: query
required: false
schema:
type: string
- name: status
in: query
required: false
schema:
type: string
- name: scope
in: query
required: false
schema:
type: string
enum:
- MINE
- ALL
default: MINE
/api/platform/v1/last-leg/fleet/capacity-offers/inquiries/{bookingNo}:
get:
summary: 读取获准的单条意向
description: 权限:platform:fleet:capacity-offer:list 或 platform:fleet:capacity-offer:manage。
responses:
'200':
description: 统一业务响应;code=200成功,冲突或资格拒绝不得当成功
content:
application/json:
schema:
type: object
properties:
code:
type: string
message:
type: string
data:
$ref: '#/components/schemas/Inquiry'
requestId:
type: string
nullable: true
traceId:
type: string
nullable: true
'401':
description: 未登录或会话失效
'403':
description: 无权限或非本人意向
parameters:
- name: bookingNo
in: path
required: true
schema:
type: string
maxLength: 64
put:
summary: 修改本人询价草稿
description: 权限:platform:fleet:capacity-offer:manage 或 (platform:fleet:capacity-offer:list 且 platform:fleet:capacity-offer:inquiry-edit)。询价不占位;未知预计箱数可空。确认前补足预报、路线、实托和报价。
responses:
'200':
description: 统一业务响应;code=200成功,冲突或资格拒绝不得当成功
content:
application/json:
schema:
type: object
properties:
code:
type: string
message:
type: string
data:
$ref: '#/components/schemas/InquiryResult'
requestId:
type: string
nullable: true
traceId:
type: string
nullable: true
'401':
description: 未登录或会话失效
'403':
description: 无权限或非本人意向
parameters:
- name: bookingNo
in: path
required: true
schema:
type: string
maxLength: 64
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/InquiryWrite'
/api/platform/v1/last-leg/fleet/capacity-offers/{offerNo}/inquiries:
post:
summary: 登记本人询价草稿
description: 权限:platform:fleet:capacity-offer:manage 或 (platform:fleet:capacity-offer:list 且 platform:fleet:capacity-offer:inquiry-create)。询价不占位;未知预计箱数可空。确认前补足预报、路线、实托和报价。
responses:
'200':
description: 统一业务响应;code=200成功,冲突或资格拒绝不得当成功
content:
application/json:
schema:
type: object
properties:
code:
type: string
message:
type: string
data:
$ref: '#/components/schemas/InquiryResult'
requestId:
type: string
nullable: true
traceId:
type: string
nullable: true
'401':
description: 未登录或会话失效
'403':
description: 无权限或非本人意向
parameters:
- name: offerNo
in: path
required: true
schema:
type: string
maxLength: 64
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/InquiryWrite'
/api/platform/v1/last-leg/fleet/capacity-offers/inquiries/{bookingNo}/confirm:
post:
summary: 原子创建商业单并确认承运占位
description: 权限:platform:fleet:capacity-offer:manage。车次锁内复验最新车辆、计划、发布指纹、时间、三维容量和客户资格;同事务商业单、桥关联与占位,失败全部回滚。
responses:
'200':
description: 统一业务响应;code=200成功,冲突或资格拒绝不得当成功
content:
application/json:
schema:
type: object
properties:
code:
type: string
message:
type: string
data:
$ref: '#/components/schemas/InquiryResult'
requestId:
type: string
nullable: true
traceId:
type: string
nullable: true
'401':
description: 未登录或会话失效
'403':
description: 无权限或非本人意向
parameters:
- name: bookingNo
in: path
required: true
schema:
type: string
maxLength: 64
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/InquiryCommand'
/api/platform/v1/last-leg/fleet/capacity-offers/inquiries/{bookingNo}/cancel:
post:
summary: 取消允许范围的意向
description: 权限:platform:fleet:capacity-offer:manage 或 (platform:fleet:capacity-offer:list 且 platform:fleet:capacity-offer:inquiry-cancel)。销售仅本人DRAFT;CONFIRMED仅调度且无来货时一体取消;已登记来货后拒绝快捷取消,不删除库存。
responses:
'200':
description: 统一业务响应;code=200成功,冲突或资格拒绝不得当成功
content:
application/json:
schema:
type: object
properties:
code:
type: string
message:
type: string
data:
$ref: '#/components/schemas/InquiryResult'
requestId:
type: string
nullable: true
traceId:
type: string
nullable: true
'401':
description: 未登录或会话失效
'403':
description: 无权限或非本人意向
parameters:
- name: bookingNo
in: path
required: true
schema:
type: string
maxLength: 64
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/InquiryCommand'
/api/platform/v1/last-leg/fleet/capacity-offers/customer-options:
get:
summary: 选择公司共享有效客户最小目录
description: 权限:platform:fleet:capacity-offer:manage 或 (platform:fleet:capacity-offer:list 且 platform:fleet:capacity-offer:inquiry-create)。仅id/code/name,不能借此获得客户联系人或财务资料。
responses:
'200':
description: 统一业务响应;code=200成功,冲突或资格拒绝不得当成功
content:
application/json:
schema:
type: object
properties:
code:
type: string
message:
type: string
data:
type: array
items:
$ref: '#/components/schemas/CustomerOption'
requestId:
type: string
nullable: true
traceId:
type: string
nullable: true
'401':
description: 未登录或会话失效
'403':
description: 无权限或非本人意向
parameters:
- name: keyword
in: query
required: false
schema:
type: string
maxLength: 128
/api/platform/v1/last-leg/fleet/capacity-offers/{offerNo}/quote-candidates:
get:
summary: 查询本车本客户适用销售报价
description: 权限:platform:fleet:capacity-offer:list 或 platform:fleet:capacity-offer:manage,并需platform:fleet:quote:list。
responses:
'200':
description: 统一业务响应;code=200成功,冲突或资格拒绝不得当成功
content:
application/json:
schema:
type: object
properties:
code:
type: string
message:
type: string
data:
type: object
properties:
records:
type: array
items:
$ref: '#/components/schemas/QuoteSource'
page:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
size:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
total:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
pages:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
requestId:
type: string
nullable: true
traceId:
type: string
nullable: true
'401':
description: 未登录或会话失效
'403':
description: 无权限或非本人意向
parameters:
- name: offerNo
in: path
required: true
schema:
type: string
maxLength: 64
- name: page
in: query
required: false
schema:
type: integer
minimum: 1
default: 1
- name: size
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 100
default: 20
- name: customerId
in: query
required: true
schema:
type: string
- name: destinationKey
in: query
required: true
schema:
type: string
- name: currency
in: query
required: true
schema:
type: string
enum:
- CNY
- USD
- name: priceBasis
in: query
required: true
schema:
type: string
enum:
- PALLET
- ORDER
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
schemas:
Load:
type: object
properties:
palletSpaces:
type: integer
minimum: 0
weightKg:
type: number
minimum: 0
volumeCbm:
type: number
minimum: 0
Cargo:
$ref: ./fleet-trips-v1.yaml#/components/schemas/BookingCargo
QuoteRef:
$ref: ./fleet-trips-v1.yaml#/components/schemas/BookingQuoteRef
QuoteSource:
type: object
description: 已选择的销售报价来源快照;quotedUnitPrice是报价库来源价,不等于意向成交单价或已收金额。
required: [quoteNo, recordVersion, priceItem, customerId, customerName, originCity, destinationCode, currency, priceBasis, quotedUnitPrice, validFrom, validTo, effectiveOn]
properties:
quoteNo:
type: string
recordVersion:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
priceItem:
type: string
enum: [FULL_DELIVERY, LOOSE_DELIVERY]
customerId:
type: string
customerName:
type: string
originCity:
type: string
destinationCode:
type: string
distanceMiles:
type: number
nullable: true
currency:
type: string
enum: [CNY, USD]
priceBasis:
type: string
enum: [ORDER, PALLET]
quotedUnitPrice:
type: number
minimum: 0
validFrom:
type: string
format: date
validTo:
type: string
format: date
effectiveOn:
type: string
format: date
OfferActions:
type: object
properties:
canEdit:
type: boolean
canPublish:
type: boolean
canPause:
type: boolean
canResume:
type: boolean
canClose:
type: boolean
InquiryActions:
type: object
properties:
canEdit:
type: boolean
canConfirm:
type: boolean
canCancel:
type: boolean
blockReason:
type: string
nullable: true
Destination:
type: object
properties:
destinationKey:
type: string
name:
type: string
deliveryIndex:
type: integer
minimum: 1
remaining:
$ref: '#/components/schemas/Load'
nullable: true
Segment:
type: object
properties:
fromIndex:
type: integer
toIndex:
type: integer
fromName:
type: string
toName:
type: string
planned:
$ref: '#/components/schemas/Load'
reserved:
$ref: '#/components/schemas/Load'
remaining:
$ref: '#/components/schemas/Load'
CustomerOption:
type: object
properties:
id:
type: string
code:
type: string
name:
type: string
Offer:
type: object
properties:
offerNo:
type: string
tripNo:
type: string
warehouseId:
type: string
warehouseName:
type: string
status:
type: string
enum:
- DRAFT
- OPEN
- PAUSED
- CLOSED
recordVersion:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
tripRecordVersion:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
plannedDepartureAt:
type: string
format: date-time
cutoffAt:
type: string
format: date-time
contactName:
type: string
nullable: true
contactPhone:
type: string
nullable: true
remark:
type: string
nullable: true
destinations:
type: array
items:
$ref: '#/components/schemas/Destination'
segments:
type: array
items:
$ref: '#/components/schemas/Segment'
capacityKnown:
type: boolean
canCreateInquiry:
type: boolean
canConfirm:
type: boolean
blockReason:
type: string
nullable: true
actions:
$ref: '#/components/schemas/OfferActions'
Inquiry:
type: object
properties:
bookingNo:
type: string
offerNo:
type: string
tripNo:
type: string
salesOwnerUserId:
type: string
customerId:
type: string
customerCode:
type: string
customerName:
type: string
destinationLabel:
type: string
status:
type: string
enum:
- DRAFT
- CONFIRMED
- RECEIVED
- BOUND
- CANCELLED
recordVersion:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
offerRecordVersion:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
tripRecordVersion:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
businessType:
type: string
enum:
- LOCAL_LOOSEBOARD
- US_TRUCK
deliveryMode:
type: string
enum:
- SELF_DELIVERY
- MANUAL_PICKUP_TO_WAREHOUSE
estimatedArrivalAt:
type: string
format: date-time
nullable: true
expectedPalletCount:
type: integer
minimum: 1
nullable: true
cargo:
$ref: '#/components/schemas/Cargo'
agreedAmount:
type: number
nullable: true
quoteSource:
$ref: '#/components/schemas/QuoteSource'
nullable: true
businessOrderNo:
type: string
nullable: true
incomingNo:
type: string
nullable: true
dispatchNo:
type: string
nullable: true
updatedAt:
type: string
format: date-time
actions:
$ref: '#/components/schemas/InquiryActions'
OfferPage:
type: object
properties:
records:
type: array
items:
$ref: '#/components/schemas/Offer'
page:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
size:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
total:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
pages:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
InquiryPage:
type: object
properties:
records:
type: array
items:
$ref: '#/components/schemas/Inquiry'
page:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
size:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
total:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
pages:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
Detail:
type: object
properties:
offer:
$ref: '#/components/schemas/Offer'
inquiries:
$ref: '#/components/schemas/InquiryPage'
OfferResult:
type: object
properties:
offer:
$ref: '#/components/schemas/Offer'
replayed:
type: boolean
InquiryResult:
type: object
properties:
inquiry:
$ref: '#/components/schemas/Inquiry'
offer:
$ref: '#/components/schemas/Offer'
replayed:
type: boolean
OfferWrite:
type: object
required:
- tripNo
- tripRecordVersion
- cutoffAt
- idempotencyKey
properties:
tripNo:
type: string
maxLength: 64
tripRecordVersion:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
offerRecordVersion:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
nullable: true
cutoffAt:
type: string
format: date-time
contactName:
type: string
maxLength: 128
nullable: true
contactPhone:
type: string
maxLength: 128
nullable: true
remark:
type: string
maxLength: 1000
nullable: true
idempotencyKey:
type: string
minLength: 8
maxLength: 128
OfferCommand:
type: object
required:
- tripRecordVersion
- offerRecordVersion
- idempotencyKey
properties:
tripRecordVersion:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
offerRecordVersion:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
idempotencyKey:
type: string
minLength: 8
maxLength: 128
reason:
type: string
maxLength: 1000
nullable: true
InquiryCommand:
type: object
required:
- tripRecordVersion
- offerRecordVersion
- recordVersion
- idempotencyKey
properties:
tripRecordVersion:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
offerRecordVersion:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
idempotencyKey:
type: string
minLength: 8
maxLength: 128
reason:
type: string
maxLength: 1000
nullable: true
recordVersion:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
InquiryWrite:
type: object
required:
- tripRecordVersion
- offerRecordVersion
- customerId
- businessType
- deliveryMode
- cargo
- idempotencyKey
properties:
tripRecordVersion:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
offerRecordVersion:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
recordVersion:
oneOf:
- type: integer
format: int64
minimum: 0
- type: string
pattern: ^[0-9]+$
nullable: true
customerId:
type: string
pattern: ^[1-9][0-9]*$
businessType:
type: string
enum:
- LOCAL_LOOSEBOARD
- US_TRUCK
deliveryMode:
type: string
enum:
- SELF_DELIVERY
- MANUAL_PICKUP_TO_WAREHOUSE
estimatedArrivalAt:
type: string
format: date-time
nullable: true
expectedPalletCount:
type: integer
minimum: 1
nullable: true
cargo:
$ref: '#/components/schemas/Cargo'
quoteRef:
$ref: '#/components/schemas/QuoteRef'
nullable: true
idempotencyKey:
type: string
minLength: 8
maxLength: 128
FleetArrangement:
type: object
properties:
sourceType:
type: string
nullable: true
businessType:
type: string
nullable: true
businessOrderNo:
type: string
nullable: true
bookingNo:
type: string
nullable: true
tripNo:
type: string
nullable: true
originWarehouseName:
type: string
nullable: true
destinationLabel:
type: string
nullable: true
deliveryMode:
type: string
nullable: true
deliveryInstructions:
type: string
nullable: true
fulfillmentStage:
type: string
nullable: true
currency:
type: string
nullable: true
incomingNo:
type: string
nullable: true
dispatchNo:
type: string
nullable: true
deliveryNo:
type: string
nullable: true
exceptionSummary:
type: string
nullable: true
readOnlyReason:
type: string
nullable: true
plannedDepartureAt:
type: string
format: date-time
nullable: true
stageOccurredAt:
type: string
format: date-time
nullable: true
agreedFreightAmount:
type: number
nullable: true
signedPackages:
type: integer
minimum: 0
nullable: true
unsignedPackages:
type: integer
minimum: 0
nullable: true
returnedPackages:
type: integer
minimum: 0
nullable: true
description: 仅本客户本土单的实际承运摘要;约定金额不是实收,独立来源订单为null;禁止旧手工状态旁路。