获取账单详情
- 接口(建议后缀): /reconciliation/detail
- Method: POST
- 数据格式: Json
- 调用方: 每刻
- 接口说明: 每刻通过该接口获取第三方账单详情
请求参数
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
externalCorpCode | String | Y | 企业唯一标识 |
billCode | String | Y | 账单唯一标识 |
pageNo | int | Y | 第几页(从第1页开始) |
pageSize | int | Y | 每页容量(最大为 100) |
返回结构
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
success | bool | Y | 请求是否成功 |
errorMessage | String | N | 失败信息(当 success 为 false 时,失败信息为必填) |
data | List<ReconDetail> | N | 账单详情 |
hasNextPage | bool | N | 是否有下一页 |
ReconDetail
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
externalCorpCode | String | Y | 企业唯一标识 |
billCode | String | Y | 账单唯一标识 |
businessScope | BusinessScope | Y | 业务类型 |
orderId | String | Y | 订单唯一标识 |
operationId | String | Y | 操作唯一标识 |
originalAppCode | String | N | 实际供应商(TMC) |
originalOrderId | String | N | 实际供应商订单号(TMC) |
externalApprovalNo | String | Y | 申请单唯一标识 |
externalEmployeeCode | String | Y | 预定人唯一标识 |
paidAt | String | Y | 支付时间 |
payType | PayType | Y | 支付类型 |
feeDetails | List<FeeDetail> | Y | 费用列表 |
currency | String | Y | 币种 |
basicInfos | List<BasicInfo> | N | 票面&房型信息 |
costCenterList | List<CostCenter> | N | 成本中心列表 |
settlementBatchNo | String | N | 结算批次号 [1] |
subsidiaryCode | String | N | 子公司唯一标识 |
departmentCode | String | N | 部门唯一标识 |
roomFeeInvoiceType | InvoiceType | N | 酒店房价发票类型(仅酒店需要提供) |
trainTicketInvoiceType | InvoiceType | N | 火车发票类型 (10102/10018 仅火车需要提供) |
flightTicketInvoiceType | InvoiceType | N | 机票发票类型 (10104/10019 仅机票需要提供) |
invoiceFetchMethod | InvoiceFetchMethod | N | 票据是否自取(机票行程单 / 酒店发票 / 火车票报销凭证) |
useStatus | OrderUseStatus | N | (要传该字段请和每刻确认)订单使用状态 |
remark | String | N | 备注 |
[info] 说明:
[1] 与订单中的结算批次号对应,如果缺失,每刻会根据平台(appCode) + 日期生成。
BusinessScope
code | 定义 |
---|---|
FLIGHT | 机票 |
HOTEL | 酒店 |
TRAIN | 火车 |
CAR | 用车 |
PayType
code | 定义 |
---|---|
PERSONAL_PAY | 个人支付 |
CORP_ACCOUNT_PAY | 企业支付 |
MIX_PAY | 混合支付 |
BasicInfo
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
ticketNo | String | N | 票号(仅机票、火车票) |
flightNo | String | N | 航班号(仅机票) |
trainNo | String | N | 火车号(仅火车票) |
startTime | String | N | 起飞时间/入住时间(yyyy-MM-dd HH:mm:ss) |
endTime | String | N | 到达时间/离店时间(yyyy-MM-dd HH:mm:ss) |
startAddress | String | N | 出发机场or车站/酒店城市 |
endAddress | String | N | 到达机场or车站/酒店城市 |
clientName | String | N | 乘客/入住人姓名 |
employeeId | String | N | 乘客/入住人工号 |
externalEmployeeCode | String | N | 乘客/入住人唯一标识(内部员工给,外部的可以不给) |
supplierName | String | N | 服务商名称:航司or酒店 |
grade | String | N | 舱位/星级/座席/车型 [2] |
subGrade | String | N | 子舱位(航司舱位编码) |
international | bool | N | 是否是国际类型, 不传则默认为国内 |
feeDetails | List<FeeDetail> | N | 费用详情 |
CostCenter
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
costCenterCode | String | N | 成本中心唯一标识 |
costCenterName | String | N | 成本中心名称 |
InvoiceFetchMethod
code | 定义 |
---|---|
SELF | 员工自取 |
TMC | TMC 统一代取 |
FeeDetail
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
feeCode | String | Y | 费用类型枚举 [3] |
feeAmount | BigDecimal | Y | 金额 |
[info] 说明:
[3] 结算明细中存在两个FeeDetails列表: ReconDetails.feeDetails 和 BasicInfo.feeDetails
对于每一种费用类型枚举,如果 ReconDetails.feeDetails 已经包含且不等于 0,则以 ReconDetails.feeDetails 中的金额作为结算记录的对应费用类型的金额,反之,则遍历 BasicInfo 列表将该费用类型枚举的金额 sum 起来作为结算记录的对应费用类型的金额。
费用类型枚举
[warning] 注意:
费用枚举值参考订单接口中的定义,订单传值跟账单传值一致,传送门: 酒店订单 机票订单 火车订单
code | 定义 |
---|---|
TOTAL_FEE | 总金额 [4] |
PERSONAL_PAY_FEE | 个人支付金额 |
CORP_PAY_FEE | 企业支付金额 [5] |
TICKET_FEE | 机票/火车票票价 (机票改签无需给这个金额) |
ROOM_FEE | 酒店房间费用 |
CAR_FEE | 用车费用 |
SERVICE_FEE | 服务费 |
EXTRA_SERVICE_FEE | 额外服务费 |
CHANGE_DIFF_FEE | 改签差价 |
CHANGE_COMMISION_FEE | 改签手续费 |
REFUND_FEE | 退票费 |
INSURANCE_FEE | 保险费 |
DELIVERY_FEE | 快递费 |
TAX_FEE | 基建费(仅机票) |
OIL_FEE | 燃油费(仅机票) |
VALUE_ADD_FEE | 增值费(仅用车) |
OTHER_FEE | 其余费用 |
[info] 说明:
[4] TOTAL_FEE= PERSONAL_PAY_FEE + CORP_PAY_FEE
[5] CORP_PAY_FEE 等于以下所有费用之和,CHANGE_FEE 或者 CHANGE_DIFF_FEE + CHANGE_COMMISION_FEE仅计算一次