获取账单详情
- 接口(建议后缀): /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仅计算一次