获取账单详情
- 接口(建议后缀): /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 |
费用详情 |
[info] 说明:
[2] 这里枚举值参考订单接口中的定义,传送门:
酒店
机票
火车
用车
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] |
| CORP_PAY_FEE |
企业支付金额 [5] |
| TICKET_FEE |
机票/火车票票价 (机票改签无需给这个金额) |
| ROOM_FEE |
酒店房间费用 |
| CAR_FEE |
用车费用 |
| SERVICE_FEE |
服务费 |
| EXTRA_SERVICE_FEE |
额外服务费 |
CHANGE_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仅计算一次。
以下费用明细中的金额仅体现企业支付部分:若某项费用完全由个人支付(如服务费由个人承担),则对应字段传 0;若某项费用存在个人与企业的混合支付,则仅传企业支付的部分。例如:TICKET_FEE 总额为 200 元,其中个人支付 50 元,则此处 TICKET_FEE 传 150。