1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
/** 订单 ID 类型。 */
export type OrderId = string | number;
 
/** 数值兼容类型。 */
export type NumericLike = number | string;
 
/** 通用扩展对象。 */
export interface ExtendableRecord {
    /** 扩展字段。 */
    [key: string]: unknown;
}
 
/** 通用经纬度点位。 */
export interface LocationPoint {
    /** 纬度。 */
    latitude: NumericLike;
    /** 经度。 */
    longitude: NumericLike;
}
 
/** 通用接口包裹响应。 */
export interface ApiEnvelope<TData = unknown> extends ExtendableRecord {
    /** 业务状态码。 */
    code?: number;
    /** 业务提示文案。 */
    msg?: string;
    /** 业务数据。 */
    data?: TData;
}
 
/** 路线折线点。 */
export interface RoutePolylinePoint extends ExtendableRecord {
    /** 纬度。 */
    latitude?: NumericLike;
    /** 经度。 */
    longitude?: NumericLike;
}
 
/** 路线摘要。 */
export interface RouteSummary extends ExtendableRecord {
    /** 路线 ID。 */
    routeID?: OrderId;
    /** 路况指纹。 */
    pathFingerprint?: string;
    /** 折线点集合。 */
    polyline?: RoutePolylinePoint[];
    /** 路线距离。 */
    distance?: NumericLike;
    /** 路线时长。 */
    duration?: NumericLike;
    /** 红绿灯数量。 */
    trafficLights?: NumericLike;
}
 
/** 路线费用信息。 */
export interface RouteFareEstimate extends ExtendableRecord {
    /** 预估等待时长。 */
    waitingTime?: NumericLike;
    /** 最终金额。 */
    finalFare?: NumericLike;
    /** 原价金额。 */
    originalFare?: NumericLike;
}
 
/** 单条路线选项。 */
export interface RouteOptionItem extends ExtendableRecord {
    /** 路线基础信息。 */
    route?: RouteSummary;
    /** 费用估算。 */
    fareEstimate?: RouteFareEstimate;
    /** 定价卡信息。 */
    xpPricingCard?: unknown;
    /** 快照 ID。 */
    snapshotId?: OrderId;
    /** 路线生成时间戳。 */
    generatedAtMillis?: NumericLike;
    /** 主路线规划策略。 */
    primaryRoutePlanRule?: NumericLike;
    /** 主策略展示文案。 */
    primaryStrategyLabel?: string;
    /** 高德路线策略。 */
    amapStrategy?: NumericLike;
    /** 路线 ID。 */
    routeId?: OrderId;
}
 
/** 路线与费用查询请求。 */
export interface QueryRouteAndFarePayload {
    /** 起点。 */
    origin: LocationPoint;
    /** 终点。 */
    destination: LocationPoint;
    /** 开通城市 ID。 */
    openCityId: NumericLike;
    /** 起点站点 ID。 */
    startPointId: OrderId | '';
    /** 用户优惠券 ID。 */
    userCouponId?: OrderId | '';
}
 
/** 路线与费用查询对象响应。 */
export interface QueryRouteAndFareObjectResponse extends ExtendableRecord {
    /** 路线选项集合。 */
    routes?: RouteOptionItem[];
    /** 快照 ID。 */
    snapshotId?: OrderId;
    /** 路线生成时间戳。 */
    generatedAtMillis?: NumericLike;
}
 
/** 路线与费用查询响应。 */
export type QueryRouteAndFareResponse =
    | QueryRouteAndFareObjectResponse
    | RouteOptionItem[]
    | RouteOptionItem;
 
/** 路线偏好查询请求。 */
export interface QueryRoutePreferencesPayload {
    /** 开通城市 ID。 */
    openCityId: NumericLike;
}
 
/** 路线偏好项。 */
export interface RoutePreferenceItem extends ExtendableRecord {
    /** 偏好编码。 */
    code?: string;
    /** 偏好名称。 */
    name?: string;
    /** 规划策略值。 */
    amapStrategy?: NumericLike;
    /** 是否已选中。 */
    selected?: boolean;
}
 
/** 路线偏好查询对象响应。 */
export interface QueryRoutePreferencesObjectResponse extends ExtendableRecord {
    /** 偏好列表。 */
    list?: RoutePreferenceItem[];
    /** 兼容 data 列表。 */
    data?: RoutePreferenceItem[];
}
 
/** 路线偏好查询响应。 */
export type QueryRoutePreferencesResponse =
    | RoutePreferenceItem[]
    | QueryRoutePreferencesObjectResponse;
 
/** 路线偏好保存请求。 */
export interface SaveRoutePreferencePayload {
    /** 偏好编码。 */
    code: string;
}
 
/** 路况过期校验请求。 */
export interface RouteStaleCheckPayload {
    /** 快照 ID。 */
    snapshotId: OrderId;
    /** 路况指纹。 */
    pathFingerprint: string;
    /** 客户端快照时间戳。 */
    clientSnapshotMillis: NumericLike;
    /** 客户端展示的最终价格。 */
    clientFinalFare: NumericLike;
}
 
/** 路况过期校验响应。 */
export interface RouteStaleCheckResponse extends ExtendableRecord {
    /** 是否需要刷新提示。 */
    needRefreshNotice?: boolean;
}
 
/** 保存订单请求。 */
export interface SaveOrderPayload {
    /** 终点站点 ID。 */
    endPointId: OrderId;
    /** 开通城市 ID。 */
    openCityId: NumericLike;
    /** 上车地址文案。 */
    placementAddress: string;
    /** 上车纬度。 */
    placementLat: NumericLike;
    /** 上车经度。 */
    placementLon: NumericLike;
    /** 起点站点 ID。 */
    startPointId: OrderId;
    /** 围栏区域 ID。 */
    xpElectronicFenceAreaId: OrderId | '';
    /** 预估上车时间。 */
    estimatedTime: string;
    /** 选中的路线 ID。 */
    selectedRouteId?: OrderId;
    /** 导航快照 ID。 */
    navigationSnapshotId?: OrderId;
    /** 用户优惠券 ID。 */
    userCouponId?: OrderId | '';
}
 
/** 保存订单成功响应。 */
export interface SaveOrderSuccessResponse extends ExtendableRecord {
    /** 新订单 ID。 */
    orderId?: string;
}
 
/** 保存订单提示响应。 */
export interface SaveOrderMessageResponse extends ExtendableRecord {
    /** 新订单 ID。 */
    orderId?: string;
    /** 兼容 data 文案。 */
    data?: string;
    /** 提示文案。 */
    msg?: string;
}
 
/** 保存订单响应。 */
export type SaveOrderResponse =
    | SaveOrderSuccessResponse
    | SaveOrderMessageResponse
    | string;
 
/** 等待时间查询请求。 */
export interface GetWaitTimePayload {
    /** 起点纬度。 */
    latitude: NumericLike;
    /** 起点经度。 */
    longitude: NumericLike;
    /** 起点站点 ID。 */
    startPointId: OrderId | '';
}
 
/** 订单 ID 请求参数。 */
export interface OrderIdPayload {
    /** 订单 ID。 */
    orderId: OrderId;
}
 
/** 车辆信息查询响应。 */
export interface QueryVehicleByOrderIdResponse extends ExtendableRecord {
    /** 订单 ID。 */
    orderId?: OrderId;
}
 
/** 设置温度请求。 */
export interface SetTemperaturePayload {
    /** 订单 ID。 */
    orderId: OrderId;
    /** 目标温度。 */
    targetTemperature: NumericLike;
}
 
/** 设置温度响应。 */
export type SetTemperatureResponse = boolean | ApiEnvelope | null | undefined;
 
/** 解锁车辆请求。 */
export interface UnlockVehiclePayload {
    /** 订单 ID。 */
    orderId: OrderId;
    /** 操作目标。 */
    doorType: 'door' | 'trunk';
    /** 用户经度。 */
    longitude: NumericLike;
    /** 用户纬度。 */
    latitude: NumericLike;
}
 
/** 车辆解锁响应。 */
export type UnlockVehicleResponse = ApiEnvelope<unknown>;
 
/** 查询车辆温度响应。 */
export type QueryTemperatureByOrderIdResponse = NumericLike;
 
/** 查询车辆空调开关响应对象。 */
export interface QueryVehicleAirConditionerSwitchObjectResponse extends ExtendableRecord {
    /** 空调开启状态。 */
    open?: boolean | NumericLike;
    /** 兼容开启状态字段。 */
    isOpen?: boolean | NumericLike;
    /** 兼容开关状态字段。 */
    switchStatus?: boolean | NumericLike;
    /** 兼容空调开关字段。 */
    airConditionerSwitch?: boolean | NumericLike;
}
 
/** 查询车辆空调开关响应。 */
export type QueryVehicleAirConditionerSwitchResponse =
    | QueryVehicleAirConditionerSwitchObjectResponse
    | boolean
    | NumericLike;
 
/** 车辆空调开关控制请求。 */
export interface AirConditionerUnlockPayload {
    /** 订单 ID。 */
    orderId: OrderId;
    /** 是否开启空调。 */
    open: boolean;
}
 
/** 查询后备箱状态内层对象。 */
export interface QueryVehicleTrunkOpenStatusStateMapItem extends ExtendableRecord {
    /** 后备箱状态值。 */
    value?: NumericLike;
}
 
/** 查询后备箱状态响应对象。 */
export interface QueryVehicleTrunkOpenStatusObjectResponse extends ExtendableRecord {
    /** 兼容直接 data 值。 */
    data?: NumericLike;
    /** 兼容直接 value 值。 */
    value?: NumericLike;
    /** 兼容状态映射。 */
    stateMap?: {
        /** 后备箱状态。 */
        trunkAjarCloseSt?: QueryVehicleTrunkOpenStatusStateMapItem;
    };
}
 
/** 查询后备箱状态响应。 */
export type QueryVehicleTrunkOpenStatusResponse =
    | QueryVehicleTrunkOpenStatusObjectResponse
    | NumericLike;
 
/** 结束订单响应。 */
export type EndOrderResponse = boolean | ExtendableRecord | null | undefined;
 
/** 修改目的地请求。 */
export interface OrderChangePayload {
    /** 新终点站点 ID。 */
    endPointId: OrderId;
    /** 订单 ID。 */
    orderId: OrderId | '';
    /** 选中的路线 ID。 */
    selectedRouteId?: OrderId | '';
    /** 选中的路线规则。 */
    selectedRoutePlanRule?: NumericLike | '';
    /** 导航快照 ID。 */
    navigationSnapshotId?: OrderId | '';
}
 
/** 费用明细查询请求。 */
export interface QueryFareBreakdownPayload {
    /** 订单 ID。 */
    orderId: string;
    /** 用户优惠券 ID。 */
    userCouponId?: string;
}
 
/** 费用明细响应。 */
export interface QueryFareBreakdownResponse extends ExtendableRecord {
    /** 当前生效优惠券 ID。 */
    userCouponId?: OrderId;
}
 
/** 评价提交请求。 */
export interface SubmitOrderCommentPayload {
    /** 评价星级。 */
    orderRating: number;
    /** 反馈类型 ID。 */
    feedbackTypeId?: number;
    /** 反馈文案。 */
    feedbackContent?: string;
    /** 反馈图片 JSON。 */
    feedbackPictures?: string;
    /** 订单 ID。 */
    orderId: OrderId;
}
 
/** 投诉提交请求。 */
export interface SubmitComplaintPayload {
    /** 评价星级。 */
    orderRating: number;
    /** 反馈类型 ID。 */
    feedbackTypeId?: number;
    /** 反馈文案。 */
    feedbackContent?: string;
    /** 反馈图片 JSON。 */
    feedbackPictures?: string;
    /** 订单 ID。 */
    orderId: OrderId;
}
 
/** 评价/投诉提交响应。 */
export interface SubmitFeedbackResponse extends ExtendableRecord {
    /** 是否成功。 */
    success?: boolean;
    /** 响应码。 */
    code?: number;
    /** 提示文案。 */
    msg?: string;
}
 
/** 评价类型项。 */
export interface OrderCommentTypeItem extends ExtendableRecord {
    /** 类型 ID。 */
    id?: number;
    /** 类型名称。 */
    feedbackType?: string;
}
 
/** 支付请求。 */
export interface GetOrderPaymentPayload {
    /** 订单 ID。 */
    orderId: OrderId;
}
 
/** 订单轨迹查询请求。 */
export interface QueryOrderRoutePayload {
    /** 订单 ID。 */
    orderId: string;
    /** 路线类型。 */
    routeType: number;
}
 
/** 订单路线摘要。 */
export interface OrderRouteMeta extends ExtendableRecord {
    /** 路线距离。 */
    distance?: NumericLike;
    /** 路线时长。 */
    duration?: NumericLike;
    /** 方向角。 */
    direction?: NumericLike;
}
 
/** 订单轨迹响应 content。 */
export interface OrderRouteResponseContent extends ExtendableRecord {
    /** 行程状态。 */
    tripStatus?: NumericLike;
    /** 订单状态。 */
    orderStatus?: NumericLike;
    /** 状态值。 */
    status?: NumericLike;
    /** 点位集合。 */
    points?: RoutePolylinePoint[];
    /** 路线摘要。 */
    route?: OrderRouteMeta;
}
 
/** 订单轨迹响应。 */
export interface QueryOrderRouteResponse extends ExtendableRecord {
    /** 终点经度。 */
    endLongitude?: NumericLike;
    /** 终点纬度。 */
    endlatitude?: NumericLike;
    /** 折线点集合。 */
    polyline?: RoutePolylinePoint[];
    /** 路线距离。 */
    distance?: NumericLike;
    /** 路线时长。 */
    duration?: NumericLike;
    /** 方向角。 */
    direction?: NumericLike;
    /** 行程状态。 */
    tripStatus?: NumericLike;
    /** 订单状态。 */
    orderStatus?: NumericLike;
    /** content 扩展数据。 */
    content?: OrderRouteResponseContent;
}
 
/** 排队状态请求。 */
export interface QueryOrderQueueStatusPayload {
    /** 订单 ID。 */
    orderId: OrderId;
}
 
/** 排队状态数据。 */
export interface OrderQueueStatusData extends ExtendableRecord {
    /** 当前排队位次。 */
    currentPosition?: NumericLike;
    /** 预计等待时长。 */
    estimatedWaitTime?: NumericLike;
    /** 排队状态。 */
    status?: NumericLike;
    /** 总排队人数。 */
    totalCount?: NumericLike;
}
 
/** 排队状态响应。 */
export type QueryOrderQueueStatusResponse =
    | OrderQueueStatusData
    | ApiEnvelope<OrderQueueStatusData>;
 
/** 分享订单信息请求。 */
export interface ShareQueryOrderInfoPayload {
    /** 订单 ID。 */
    orderId: OrderId;
}
 
/** 分享订单信息响应。 */
export interface ShareQueryOrderInfoResponse extends ExtendableRecord {
    /** 订单状态。 */
    status?: NumericLike;
    /** 起点名称。 */
    startPointName?: string;
    /** 终点名称。 */
    endPointName?: string;
    /** 起点纬度。 */
    startLat?: NumericLike;
    /** 起点经度。 */
    startLon?: NumericLike;
    /** 终点纬度。 */
    endLat?: NumericLike;
    /** 终点经度。 */
    endLon?: NumericLike;
    /** 车辆图片。 */
    vehiclePictures?: string;
    /** 兼容车辆图片字段。 */
    vehicleImage?: string;
    /** 上车时间。 */
    boardingTime?: string;
    /** 兼容上车时间字段。 */
    pickupTime?: string;
    /** 下车时间。 */
    getoffTime?: string;
    /** 完成时间。 */
    finishTime?: string;
    /** 订单结束时间。 */
    orderFinishTime?: string;
    /** 客服电话。 */
    customerServicePhone?: string;
    /** 兼容客服电话字段。 */
    servicePhone?: string;
}
 
/** 分享订单路线响应。 */
export interface ShareQueryOrderRouteResponse extends QueryOrderRouteResponse {
    /** 已服务点集合。 */
    servedPoints?: RoutePolylinePoint[];
    /** 车辆方向。 */
    vehicleDirection?: NumericLike;
    /** 路线对象。 */
    route?: OrderRouteMeta & {
        /** 路线点集合。 */
        polyline?: RoutePolylinePoint[];
    };
    /** 兼容 points 字段。 */
    points?: RoutePolylinePoint[];
}
 
/** 支付入口状态:1=已签约,2=未签约。 */
export enum RobotaxiPaymentEntryStatus {
    Signed = 1,
    Unsigned = 2
}
 
/** 已签约态支付方式。 */
export enum RobotaxiSignedPayType {
    WechatCredit = 13
}
 
/** 订单状态枚举。 */
export enum RobotaxiOrderStatus {
    Cancelled = 0,
    PendingAccept = 1,
    PendingDeparture = 2,
    OnTheWayToPickup = 3,
    WaitingPassengerBoard = 4,
    PassengerBoarded = 5,
    InService = 6,
    WaitingPassengerDropoff = 7,
    PendingPayment = 8,
    PendingComment = 9,
    Completed = 10
}
 
/** 已签约态返回值。 */
export type SignedOrderPaymentValue = {
    businessOrderId: string;
    authOrderId: string;
    channelOrderId: string;
    payType: RobotaxiSignedPayType | number;
    packageValue: string;
};
 
/** 未签约态返回值。 */
export type UnsignedOrderPaymentValue = {
    bizOrderId: string;
    prePayId: string;
    url: string;
    token: string;
};
 
/** 订单支付入口返回值。 */
export type OrderPaymentResponse =
    | { status: RobotaxiPaymentEntryStatus.Signed; value: SignedOrderPaymentValue }
    | { status: RobotaxiPaymentEntryStatus.Unsigned; value: UnsignedOrderPaymentValue };
 
/** 订单支付结果查询返回值。 */
export type QueryOrderPaymentResultResponse = {
    status: RobotaxiOrderStatus | number;
    orderId: string;
};