@gojinko/api-client 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3486 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export interface paths {
6
+ "/api/v1/flights/check": {
7
+ parameters: {
8
+ query?: never;
9
+ header?: never;
10
+ path?: never;
11
+ cookie?: never;
12
+ };
13
+ get?: never;
14
+ put?: never;
15
+ /**
16
+ * Check flight availability and get detailed pricing
17
+ * @description Check a flight offer from search results to get confirmed availability and detailed fare options
18
+ */
19
+ post: {
20
+ parameters: {
21
+ query?: {
22
+ /** @description Target a specific provider (sabre, travelfusion). When omitted, all enabled providers are called. */
23
+ provider?: string;
24
+ };
25
+ header?: never;
26
+ path?: never;
27
+ cookie?: never;
28
+ };
29
+ /** @description Flight check request */
30
+ requestBody: {
31
+ content: {
32
+ "application/json": components["schemas"]["FlightCheckRequest"];
33
+ };
34
+ };
35
+ responses: {
36
+ /** @description OK */
37
+ 200: {
38
+ headers: {
39
+ [name: string]: unknown;
40
+ };
41
+ content: {
42
+ "application/json": components["schemas"]["FlightCheckResponse"];
43
+ };
44
+ };
45
+ /** @description Bad Request */
46
+ 400: {
47
+ headers: {
48
+ [name: string]: unknown;
49
+ };
50
+ content: {
51
+ "application/json": {
52
+ [key: string]: unknown;
53
+ };
54
+ };
55
+ };
56
+ /** @description Not Found */
57
+ 404: {
58
+ headers: {
59
+ [name: string]: unknown;
60
+ };
61
+ content: {
62
+ "application/json": {
63
+ [key: string]: unknown;
64
+ };
65
+ };
66
+ };
67
+ /** @description Internal Server Error */
68
+ 500: {
69
+ headers: {
70
+ [name: string]: unknown;
71
+ };
72
+ content: {
73
+ "application/json": {
74
+ [key: string]: unknown;
75
+ };
76
+ };
77
+ };
78
+ };
79
+ };
80
+ delete?: never;
81
+ options?: never;
82
+ head?: never;
83
+ patch?: never;
84
+ trace?: never;
85
+ };
86
+ "/api/v1/flights/destination-search": {
87
+ parameters: {
88
+ query?: never;
89
+ header?: never;
90
+ path?: never;
91
+ cookie?: never;
92
+ };
93
+ get?: never;
94
+ put?: never;
95
+ /**
96
+ * Search destinations by flight criteria
97
+ * @description Search for destination cities with cheapest flight options based on filter criteria
98
+ */
99
+ post: {
100
+ parameters: {
101
+ query?: never;
102
+ header?: never;
103
+ path?: never;
104
+ cookie?: never;
105
+ };
106
+ /** @description Destination search request */
107
+ requestBody: {
108
+ content: {
109
+ "application/json": components["schemas"]["DestinationSearchRequest"];
110
+ };
111
+ };
112
+ responses: {
113
+ /** @description OK */
114
+ 200: {
115
+ headers: {
116
+ [name: string]: unknown;
117
+ };
118
+ content: {
119
+ "application/json": components["schemas"]["DestinationSearchResponse"];
120
+ };
121
+ };
122
+ /** @description Bad Request */
123
+ 400: {
124
+ headers: {
125
+ [name: string]: unknown;
126
+ };
127
+ content: {
128
+ "application/json": {
129
+ [key: string]: unknown;
130
+ };
131
+ };
132
+ };
133
+ /** @description Internal Server Error */
134
+ 500: {
135
+ headers: {
136
+ [name: string]: unknown;
137
+ };
138
+ content: {
139
+ "application/json": {
140
+ [key: string]: unknown;
141
+ };
142
+ };
143
+ };
144
+ };
145
+ };
146
+ delete?: never;
147
+ options?: never;
148
+ head?: never;
149
+ patch?: never;
150
+ trace?: never;
151
+ };
152
+ "/api/v1/flights/search": {
153
+ parameters: {
154
+ query?: never;
155
+ header?: never;
156
+ path?: never;
157
+ cookie?: never;
158
+ };
159
+ get?: never;
160
+ put?: never;
161
+ /**
162
+ * Search flights (synchronous, filter-based)
163
+ * @description Search flights with filter-based criteria
164
+ */
165
+ post: {
166
+ parameters: {
167
+ query?: never;
168
+ header?: never;
169
+ path?: never;
170
+ cookie?: never;
171
+ };
172
+ /** @description Flight search request */
173
+ requestBody: {
174
+ content: {
175
+ "application/json": components["schemas"]["FlightSearchRequest"];
176
+ };
177
+ };
178
+ responses: {
179
+ /** @description OK */
180
+ 200: {
181
+ headers: {
182
+ [name: string]: unknown;
183
+ };
184
+ content: {
185
+ "application/json": components["schemas"]["FlightSearchResponse"];
186
+ };
187
+ };
188
+ /** @description Bad Request */
189
+ 400: {
190
+ headers: {
191
+ [name: string]: unknown;
192
+ };
193
+ content: {
194
+ "application/json": {
195
+ [key: string]: unknown;
196
+ };
197
+ };
198
+ };
199
+ /** @description Internal Server Error */
200
+ 500: {
201
+ headers: {
202
+ [name: string]: unknown;
203
+ };
204
+ content: {
205
+ "application/json": {
206
+ [key: string]: unknown;
207
+ };
208
+ };
209
+ };
210
+ };
211
+ };
212
+ delete?: never;
213
+ options?: never;
214
+ head?: never;
215
+ patch?: never;
216
+ trace?: never;
217
+ };
218
+ "/api/v1/hotels/availability": {
219
+ parameters: {
220
+ query?: never;
221
+ header?: never;
222
+ path?: never;
223
+ cookie?: never;
224
+ };
225
+ get?: never;
226
+ put?: never;
227
+ /**
228
+ * Check hotel availability
229
+ * @description Search for available hotels based on search criteria
230
+ */
231
+ post: {
232
+ parameters: {
233
+ query?: never;
234
+ header?: never;
235
+ path?: never;
236
+ cookie?: never;
237
+ };
238
+ /** @description Hotel availability search request */
239
+ requestBody: {
240
+ content: {
241
+ "application/json": components["schemas"]["SearchParams"];
242
+ };
243
+ };
244
+ responses: {
245
+ /** @description OK */
246
+ 200: {
247
+ headers: {
248
+ [name: string]: unknown;
249
+ };
250
+ content: {
251
+ "application/json": components["schemas"]["SearchResult"];
252
+ };
253
+ };
254
+ /** @description Bad Request */
255
+ 400: {
256
+ headers: {
257
+ [name: string]: unknown;
258
+ };
259
+ content: {
260
+ "application/json": {
261
+ [key: string]: unknown;
262
+ };
263
+ };
264
+ };
265
+ /** @description Internal Server Error */
266
+ 500: {
267
+ headers: {
268
+ [name: string]: unknown;
269
+ };
270
+ content: {
271
+ "application/json": {
272
+ [key: string]: unknown;
273
+ };
274
+ };
275
+ };
276
+ };
277
+ };
278
+ delete?: never;
279
+ options?: never;
280
+ head?: never;
281
+ patch?: never;
282
+ trace?: never;
283
+ };
284
+ "/api/v1/hotels/availability/load-more": {
285
+ parameters: {
286
+ query?: never;
287
+ header?: never;
288
+ path?: never;
289
+ cookie?: never;
290
+ };
291
+ get?: never;
292
+ put?: never;
293
+ /**
294
+ * Load more hotel results
295
+ * @description Load additional hotel results for an existing search session
296
+ */
297
+ post: {
298
+ parameters: {
299
+ query?: never;
300
+ header?: never;
301
+ path?: never;
302
+ cookie?: never;
303
+ };
304
+ /** @description Load more request with session ID */
305
+ requestBody: {
306
+ content: {
307
+ "application/json": components["schemas"]["LoadMoreRequest"];
308
+ };
309
+ };
310
+ responses: {
311
+ /** @description OK */
312
+ 200: {
313
+ headers: {
314
+ [name: string]: unknown;
315
+ };
316
+ content: {
317
+ "application/json": components["schemas"]["SearchResult"];
318
+ };
319
+ };
320
+ /** @description Bad Request */
321
+ 400: {
322
+ headers: {
323
+ [name: string]: unknown;
324
+ };
325
+ content: {
326
+ "application/json": {
327
+ [key: string]: unknown;
328
+ };
329
+ };
330
+ };
331
+ /** @description Internal Server Error */
332
+ 500: {
333
+ headers: {
334
+ [name: string]: unknown;
335
+ };
336
+ content: {
337
+ "application/json": {
338
+ [key: string]: unknown;
339
+ };
340
+ };
341
+ };
342
+ };
343
+ };
344
+ delete?: never;
345
+ options?: never;
346
+ head?: never;
347
+ patch?: never;
348
+ trace?: never;
349
+ };
350
+ "/api/v1/hotels/detail": {
351
+ parameters: {
352
+ query?: never;
353
+ header?: never;
354
+ path?: never;
355
+ cookie?: never;
356
+ };
357
+ get?: never;
358
+ put?: never;
359
+ /**
360
+ * Get hotel detail
361
+ * @description Get detailed information for a specific hotel from search results
362
+ */
363
+ post: {
364
+ parameters: {
365
+ query?: never;
366
+ header?: never;
367
+ path?: never;
368
+ cookie?: never;
369
+ };
370
+ /** @description Hotel detail request */
371
+ requestBody: {
372
+ content: {
373
+ "application/json": components["schemas"]["LodgingDetailRequest"];
374
+ };
375
+ };
376
+ responses: {
377
+ /** @description OK */
378
+ 200: {
379
+ headers: {
380
+ [name: string]: unknown;
381
+ };
382
+ content: {
383
+ "application/json": components["schemas"]["LodgingAvailability"];
384
+ };
385
+ };
386
+ /** @description Bad Request */
387
+ 400: {
388
+ headers: {
389
+ [name: string]: unknown;
390
+ };
391
+ content: {
392
+ "application/json": {
393
+ [key: string]: unknown;
394
+ };
395
+ };
396
+ };
397
+ /** @description Internal Server Error */
398
+ 500: {
399
+ headers: {
400
+ [name: string]: unknown;
401
+ };
402
+ content: {
403
+ "application/json": {
404
+ [key: string]: unknown;
405
+ };
406
+ };
407
+ };
408
+ };
409
+ };
410
+ delete?: never;
411
+ options?: never;
412
+ head?: never;
413
+ patch?: never;
414
+ trace?: never;
415
+ };
416
+ "/api/v1/hotels/fulfillment/pull": {
417
+ parameters: {
418
+ query?: never;
419
+ header?: never;
420
+ path?: never;
421
+ cookie?: never;
422
+ };
423
+ get?: never;
424
+ put?: never;
425
+ /**
426
+ * Pull fulfillment status
427
+ * @description Check fulfillment status and get fulfilled product if completed
428
+ */
429
+ post: {
430
+ parameters: {
431
+ query?: never;
432
+ header?: never;
433
+ path?: never;
434
+ cookie?: never;
435
+ };
436
+ /** @description Fulfillment pull request */
437
+ requestBody: {
438
+ content: {
439
+ "application/json": components["schemas"]["FulfillmentPullRequest"];
440
+ };
441
+ };
442
+ responses: {
443
+ /** @description OK */
444
+ 200: {
445
+ headers: {
446
+ [name: string]: unknown;
447
+ };
448
+ content: {
449
+ "application/json": components["schemas"]["FulfillmentPullResponse"];
450
+ };
451
+ };
452
+ /** @description Bad Request */
453
+ 400: {
454
+ headers: {
455
+ [name: string]: unknown;
456
+ };
457
+ content: {
458
+ "application/json": {
459
+ [key: string]: unknown;
460
+ };
461
+ };
462
+ };
463
+ /** @description Not Found */
464
+ 404: {
465
+ headers: {
466
+ [name: string]: unknown;
467
+ };
468
+ content: {
469
+ "application/json": {
470
+ [key: string]: unknown;
471
+ };
472
+ };
473
+ };
474
+ /** @description Internal Server Error */
475
+ 500: {
476
+ headers: {
477
+ [name: string]: unknown;
478
+ };
479
+ content: {
480
+ "application/json": {
481
+ [key: string]: unknown;
482
+ };
483
+ };
484
+ };
485
+ };
486
+ };
487
+ delete?: never;
488
+ options?: never;
489
+ head?: never;
490
+ patch?: never;
491
+ trace?: never;
492
+ };
493
+ "/api/v1/hotels/fulfillment/schedule": {
494
+ parameters: {
495
+ query?: never;
496
+ header?: never;
497
+ path?: never;
498
+ cookie?: never;
499
+ };
500
+ get?: never;
501
+ put?: never;
502
+ /**
503
+ * Schedule hotel fulfillment
504
+ * @description Schedule a hotel fulfillment for a quote and execute booking
505
+ */
506
+ post: {
507
+ parameters: {
508
+ query?: never;
509
+ header?: never;
510
+ path?: never;
511
+ cookie?: never;
512
+ };
513
+ /** @description Fulfillment schedule request */
514
+ requestBody: {
515
+ content: {
516
+ "application/json": components["schemas"]["FulfillmentScheduleRequest"];
517
+ };
518
+ };
519
+ responses: {
520
+ /** @description Created */
521
+ 201: {
522
+ headers: {
523
+ [name: string]: unknown;
524
+ };
525
+ content: {
526
+ "application/json": components["schemas"]["FulfillmentScheduleResponse"];
527
+ };
528
+ };
529
+ /** @description Bad Request */
530
+ 400: {
531
+ headers: {
532
+ [name: string]: unknown;
533
+ };
534
+ content: {
535
+ "application/json": {
536
+ [key: string]: unknown;
537
+ };
538
+ };
539
+ };
540
+ /** @description Internal Server Error */
541
+ 500: {
542
+ headers: {
543
+ [name: string]: unknown;
544
+ };
545
+ content: {
546
+ "application/json": {
547
+ [key: string]: unknown;
548
+ };
549
+ };
550
+ };
551
+ };
552
+ };
553
+ delete?: never;
554
+ options?: never;
555
+ head?: never;
556
+ patch?: never;
557
+ trace?: never;
558
+ };
559
+ "/api/v1/hotels/quotes/pull": {
560
+ parameters: {
561
+ query?: never;
562
+ header?: never;
563
+ path?: never;
564
+ cookie?: never;
565
+ };
566
+ get?: never;
567
+ put?: never;
568
+ /**
569
+ * Pull quote details
570
+ * @description Retrieve the current status and details of a scheduled quote
571
+ */
572
+ post: {
573
+ parameters: {
574
+ query?: never;
575
+ header?: never;
576
+ path?: never;
577
+ cookie?: never;
578
+ };
579
+ /** @description Quote pull request */
580
+ requestBody: {
581
+ content: {
582
+ "application/json": components["schemas"]["QuotePullRequest"];
583
+ };
584
+ };
585
+ responses: {
586
+ /** @description OK */
587
+ 200: {
588
+ headers: {
589
+ [name: string]: unknown;
590
+ };
591
+ content: {
592
+ "application/json": components["schemas"]["QuotePullResponse"];
593
+ };
594
+ };
595
+ /** @description Bad Request */
596
+ 400: {
597
+ headers: {
598
+ [name: string]: unknown;
599
+ };
600
+ content: {
601
+ "application/json": {
602
+ [key: string]: unknown;
603
+ };
604
+ };
605
+ };
606
+ /** @description Not Found */
607
+ 404: {
608
+ headers: {
609
+ [name: string]: unknown;
610
+ };
611
+ content: {
612
+ "application/json": {
613
+ [key: string]: unknown;
614
+ };
615
+ };
616
+ };
617
+ /** @description Internal Server Error */
618
+ 500: {
619
+ headers: {
620
+ [name: string]: unknown;
621
+ };
622
+ content: {
623
+ "application/json": {
624
+ [key: string]: unknown;
625
+ };
626
+ };
627
+ };
628
+ };
629
+ };
630
+ delete?: never;
631
+ options?: never;
632
+ head?: never;
633
+ patch?: never;
634
+ trace?: never;
635
+ };
636
+ "/api/v1/hotels/quotes/schedule": {
637
+ parameters: {
638
+ query?: never;
639
+ header?: never;
640
+ path?: never;
641
+ cookie?: never;
642
+ };
643
+ get?: never;
644
+ put?: never;
645
+ /**
646
+ * Schedule hotel quote
647
+ * @description Schedule a quote for a specific hotel rate and availability
648
+ */
649
+ post: {
650
+ parameters: {
651
+ query?: never;
652
+ header?: never;
653
+ path?: never;
654
+ cookie?: never;
655
+ };
656
+ /** @description Quote schedule request */
657
+ requestBody: {
658
+ content: {
659
+ "application/json": components["schemas"]["QuoteScheduleRequest"];
660
+ };
661
+ };
662
+ responses: {
663
+ /** @description Created */
664
+ 201: {
665
+ headers: {
666
+ [name: string]: unknown;
667
+ };
668
+ content: {
669
+ "application/json": components["schemas"]["QuoteScheduleResponse"];
670
+ };
671
+ };
672
+ /** @description Bad Request */
673
+ 400: {
674
+ headers: {
675
+ [name: string]: unknown;
676
+ };
677
+ content: {
678
+ "application/json": {
679
+ [key: string]: unknown;
680
+ };
681
+ };
682
+ };
683
+ /** @description Internal Server Error */
684
+ 500: {
685
+ headers: {
686
+ [name: string]: unknown;
687
+ };
688
+ content: {
689
+ "application/json": {
690
+ [key: string]: unknown;
691
+ };
692
+ };
693
+ };
694
+ };
695
+ };
696
+ delete?: never;
697
+ options?: never;
698
+ head?: never;
699
+ patch?: never;
700
+ trace?: never;
701
+ };
702
+ "/api/v1/hotels/semantic-search": {
703
+ parameters: {
704
+ query?: never;
705
+ header?: never;
706
+ path?: never;
707
+ cookie?: never;
708
+ };
709
+ get?: never;
710
+ put?: never;
711
+ /**
712
+ * Semantic hotel search
713
+ * @description Search for hotels using natural language queries with AI-powered parsing
714
+ */
715
+ post: {
716
+ parameters: {
717
+ query?: never;
718
+ header?: never;
719
+ path?: never;
720
+ cookie?: never;
721
+ };
722
+ /** @description Semantic search request with natural language query */
723
+ requestBody: {
724
+ content: {
725
+ "application/json": components["schemas"]["SemanticSearchRequest"];
726
+ };
727
+ };
728
+ responses: {
729
+ /** @description OK */
730
+ 200: {
731
+ headers: {
732
+ [name: string]: unknown;
733
+ };
734
+ content: {
735
+ "application/json": components["schemas"]["SemanticSearchResult"];
736
+ };
737
+ };
738
+ /** @description Bad Request */
739
+ 400: {
740
+ headers: {
741
+ [name: string]: unknown;
742
+ };
743
+ content: {
744
+ "application/json": components["schemas"]["ErrorResponse"];
745
+ };
746
+ };
747
+ /** @description Internal Server Error */
748
+ 500: {
749
+ headers: {
750
+ [name: string]: unknown;
751
+ };
752
+ content: {
753
+ "application/json": components["schemas"]["ErrorResponse"];
754
+ };
755
+ };
756
+ };
757
+ };
758
+ delete?: never;
759
+ options?: never;
760
+ head?: never;
761
+ patch?: never;
762
+ trace?: never;
763
+ };
764
+ "/api/v1/payment/authorization/{id}": {
765
+ parameters: {
766
+ query?: never;
767
+ header?: never;
768
+ path?: never;
769
+ cookie?: never;
770
+ };
771
+ /**
772
+ * Get payment authorization by ID
773
+ * @description Retrieve payment authorization information by ID
774
+ */
775
+ get: {
776
+ parameters: {
777
+ query?: never;
778
+ header?: never;
779
+ path: {
780
+ /** @description Payment Authorization ID */
781
+ id: string;
782
+ };
783
+ cookie?: never;
784
+ };
785
+ requestBody?: never;
786
+ responses: {
787
+ /** @description OK */
788
+ 200: {
789
+ headers: {
790
+ [name: string]: unknown;
791
+ };
792
+ content: {
793
+ "application/json": components["schemas"]["PaymentAuthorization"];
794
+ };
795
+ };
796
+ /** @description Bad Request */
797
+ 400: {
798
+ headers: {
799
+ [name: string]: unknown;
800
+ };
801
+ content: {
802
+ "application/json": {
803
+ [key: string]: unknown;
804
+ };
805
+ };
806
+ };
807
+ /** @description Not Found */
808
+ 404: {
809
+ headers: {
810
+ [name: string]: unknown;
811
+ };
812
+ content: {
813
+ "application/json": {
814
+ [key: string]: unknown;
815
+ };
816
+ };
817
+ };
818
+ /** @description Internal Server Error */
819
+ 500: {
820
+ headers: {
821
+ [name: string]: unknown;
822
+ };
823
+ content: {
824
+ "application/json": {
825
+ [key: string]: unknown;
826
+ };
827
+ };
828
+ };
829
+ };
830
+ };
831
+ put?: never;
832
+ post?: never;
833
+ delete?: never;
834
+ options?: never;
835
+ head?: never;
836
+ patch?: never;
837
+ trace?: never;
838
+ };
839
+ "/api/v1/payment/authorization/{id}/capture": {
840
+ parameters: {
841
+ query?: never;
842
+ header?: never;
843
+ path?: never;
844
+ cookie?: never;
845
+ };
846
+ get?: never;
847
+ put?: never;
848
+ /**
849
+ * Capture payment
850
+ * @description Capture an authorized payment (full or partial amount)
851
+ */
852
+ post: {
853
+ parameters: {
854
+ query?: never;
855
+ header?: never;
856
+ path: {
857
+ /** @description Payment Authorization ID */
858
+ id: string;
859
+ };
860
+ cookie?: never;
861
+ };
862
+ /** @description Amount to capture (optional, defaults to full amount) */
863
+ requestBody?: {
864
+ content: {
865
+ "application/json": components["schemas"]["Amount"];
866
+ };
867
+ };
868
+ responses: {
869
+ /** @description OK */
870
+ 200: {
871
+ headers: {
872
+ [name: string]: unknown;
873
+ };
874
+ content: {
875
+ "application/json": components["schemas"]["PaymentCapture"];
876
+ };
877
+ };
878
+ /** @description Bad Request */
879
+ 400: {
880
+ headers: {
881
+ [name: string]: unknown;
882
+ };
883
+ content: {
884
+ "application/json": {
885
+ [key: string]: unknown;
886
+ };
887
+ };
888
+ };
889
+ /** @description Not Found */
890
+ 404: {
891
+ headers: {
892
+ [name: string]: unknown;
893
+ };
894
+ content: {
895
+ "application/json": {
896
+ [key: string]: unknown;
897
+ };
898
+ };
899
+ };
900
+ /** @description Internal Server Error */
901
+ 500: {
902
+ headers: {
903
+ [name: string]: unknown;
904
+ };
905
+ content: {
906
+ "application/json": {
907
+ [key: string]: unknown;
908
+ };
909
+ };
910
+ };
911
+ };
912
+ };
913
+ delete?: never;
914
+ options?: never;
915
+ head?: never;
916
+ patch?: never;
917
+ trace?: never;
918
+ };
919
+ "/api/v1/payment/authorization/{id}/status": {
920
+ parameters: {
921
+ query?: never;
922
+ header?: never;
923
+ path?: never;
924
+ cookie?: never;
925
+ };
926
+ /**
927
+ * Check payment status
928
+ * @description Check the current status of a payment from Stripe and update local record
929
+ */
930
+ get: {
931
+ parameters: {
932
+ query?: never;
933
+ header?: never;
934
+ path: {
935
+ /** @description Payment Authorization ID */
936
+ id: string;
937
+ };
938
+ cookie?: never;
939
+ };
940
+ requestBody?: never;
941
+ responses: {
942
+ /** @description OK */
943
+ 200: {
944
+ headers: {
945
+ [name: string]: unknown;
946
+ };
947
+ content: {
948
+ "application/json": components["schemas"]["PaymentAuthorization"];
949
+ };
950
+ };
951
+ /** @description Bad Request */
952
+ 400: {
953
+ headers: {
954
+ [name: string]: unknown;
955
+ };
956
+ content: {
957
+ "application/json": {
958
+ [key: string]: unknown;
959
+ };
960
+ };
961
+ };
962
+ /** @description Not Found */
963
+ 404: {
964
+ headers: {
965
+ [name: string]: unknown;
966
+ };
967
+ content: {
968
+ "application/json": {
969
+ [key: string]: unknown;
970
+ };
971
+ };
972
+ };
973
+ /** @description Internal Server Error */
974
+ 500: {
975
+ headers: {
976
+ [name: string]: unknown;
977
+ };
978
+ content: {
979
+ "application/json": {
980
+ [key: string]: unknown;
981
+ };
982
+ };
983
+ };
984
+ };
985
+ };
986
+ put?: never;
987
+ post?: never;
988
+ delete?: never;
989
+ options?: never;
990
+ head?: never;
991
+ patch?: never;
992
+ trace?: never;
993
+ };
994
+ "/api/v1/payment/authorize": {
995
+ parameters: {
996
+ query?: never;
997
+ header?: never;
998
+ path?: never;
999
+ cookie?: never;
1000
+ };
1001
+ get?: never;
1002
+ put?: never;
1003
+ /**
1004
+ * Create payment authorization
1005
+ * @description Create a payment authorization for a quote using Stripe
1006
+ */
1007
+ post: {
1008
+ parameters: {
1009
+ query?: never;
1010
+ header?: never;
1011
+ path?: never;
1012
+ cookie?: never;
1013
+ };
1014
+ /** @description Payment authorization request */
1015
+ requestBody: {
1016
+ content: {
1017
+ "application/json": components["schemas"]["PaymentAuthorizationRequest"];
1018
+ };
1019
+ };
1020
+ responses: {
1021
+ /** @description Created */
1022
+ 201: {
1023
+ headers: {
1024
+ [name: string]: unknown;
1025
+ };
1026
+ content: {
1027
+ "application/json": components["schemas"]["PaymentAuthorizationResponse"];
1028
+ };
1029
+ };
1030
+ /** @description Bad Request */
1031
+ 400: {
1032
+ headers: {
1033
+ [name: string]: unknown;
1034
+ };
1035
+ content: {
1036
+ "application/json": {
1037
+ [key: string]: unknown;
1038
+ };
1039
+ };
1040
+ };
1041
+ /** @description Internal Server Error */
1042
+ 500: {
1043
+ headers: {
1044
+ [name: string]: unknown;
1045
+ };
1046
+ content: {
1047
+ "application/json": {
1048
+ [key: string]: unknown;
1049
+ };
1050
+ };
1051
+ };
1052
+ };
1053
+ };
1054
+ delete?: never;
1055
+ options?: never;
1056
+ head?: never;
1057
+ patch?: never;
1058
+ trace?: never;
1059
+ };
1060
+ "/api/v1/payment/cart/authorize": {
1061
+ parameters: {
1062
+ query?: never;
1063
+ header?: never;
1064
+ path?: never;
1065
+ cookie?: never;
1066
+ };
1067
+ get?: never;
1068
+ put?: never;
1069
+ /**
1070
+ * Create payment authorization for cart
1071
+ * @description Create a payment authorization for a shopping cart quote using Stripe
1072
+ */
1073
+ post: {
1074
+ parameters: {
1075
+ query?: never;
1076
+ header?: never;
1077
+ path?: never;
1078
+ cookie?: never;
1079
+ };
1080
+ /** @description Cart payment authorization request */
1081
+ requestBody: {
1082
+ content: {
1083
+ "application/json": components["schemas"]["CartPaymentAuthorizationRequest"];
1084
+ };
1085
+ };
1086
+ responses: {
1087
+ /** @description Created */
1088
+ 201: {
1089
+ headers: {
1090
+ [name: string]: unknown;
1091
+ };
1092
+ content: {
1093
+ "application/json": components["schemas"]["PaymentAuthorizationResponse"];
1094
+ };
1095
+ };
1096
+ /** @description Bad Request */
1097
+ 400: {
1098
+ headers: {
1099
+ [name: string]: unknown;
1100
+ };
1101
+ content: {
1102
+ "application/json": {
1103
+ [key: string]: unknown;
1104
+ };
1105
+ };
1106
+ };
1107
+ /** @description Internal Server Error */
1108
+ 500: {
1109
+ headers: {
1110
+ [name: string]: unknown;
1111
+ };
1112
+ content: {
1113
+ "application/json": {
1114
+ [key: string]: unknown;
1115
+ };
1116
+ };
1117
+ };
1118
+ };
1119
+ };
1120
+ delete?: never;
1121
+ options?: never;
1122
+ head?: never;
1123
+ patch?: never;
1124
+ trace?: never;
1125
+ };
1126
+ "/api/v1/payment/quote/{quote_id}": {
1127
+ parameters: {
1128
+ query?: never;
1129
+ header?: never;
1130
+ path?: never;
1131
+ cookie?: never;
1132
+ };
1133
+ /**
1134
+ * Get payment authorization by quote ID
1135
+ * @description Retrieve payment authorization information by quote ID
1136
+ */
1137
+ get: {
1138
+ parameters: {
1139
+ query?: never;
1140
+ header?: never;
1141
+ path: {
1142
+ /** @description Quote ID */
1143
+ quote_id: number;
1144
+ };
1145
+ cookie?: never;
1146
+ };
1147
+ requestBody?: never;
1148
+ responses: {
1149
+ /** @description OK */
1150
+ 200: {
1151
+ headers: {
1152
+ [name: string]: unknown;
1153
+ };
1154
+ content: {
1155
+ "application/json": components["schemas"]["PaymentAuthorization"];
1156
+ };
1157
+ };
1158
+ /** @description Bad Request */
1159
+ 400: {
1160
+ headers: {
1161
+ [name: string]: unknown;
1162
+ };
1163
+ content: {
1164
+ "application/json": {
1165
+ [key: string]: unknown;
1166
+ };
1167
+ };
1168
+ };
1169
+ /** @description Not Found */
1170
+ 404: {
1171
+ headers: {
1172
+ [name: string]: unknown;
1173
+ };
1174
+ content: {
1175
+ "application/json": {
1176
+ [key: string]: unknown;
1177
+ };
1178
+ };
1179
+ };
1180
+ /** @description Internal Server Error */
1181
+ 500: {
1182
+ headers: {
1183
+ [name: string]: unknown;
1184
+ };
1185
+ content: {
1186
+ "application/json": {
1187
+ [key: string]: unknown;
1188
+ };
1189
+ };
1190
+ };
1191
+ };
1192
+ };
1193
+ put?: never;
1194
+ post?: never;
1195
+ delete?: never;
1196
+ options?: never;
1197
+ head?: never;
1198
+ patch?: never;
1199
+ trace?: never;
1200
+ };
1201
+ "/api/v1/payment/stripe/client-secret": {
1202
+ parameters: {
1203
+ query?: never;
1204
+ header?: never;
1205
+ path?: never;
1206
+ cookie?: never;
1207
+ };
1208
+ get?: never;
1209
+ put?: never;
1210
+ /**
1211
+ * Get client secret or checkout URL
1212
+ * @description Get the Stripe client secret (PaymentIntent flow) or checkout URL (Checkout Session flow)
1213
+ */
1214
+ post: {
1215
+ parameters: {
1216
+ query?: never;
1217
+ header?: never;
1218
+ path?: never;
1219
+ cookie?: never;
1220
+ };
1221
+ /** @description Client secret request */
1222
+ requestBody: {
1223
+ content: {
1224
+ "application/json": components["schemas"]["ClientSecretRequest"];
1225
+ };
1226
+ };
1227
+ responses: {
1228
+ /** @description OK */
1229
+ 200: {
1230
+ headers: {
1231
+ [name: string]: unknown;
1232
+ };
1233
+ content: {
1234
+ "application/json": components["schemas"]["ClientSecretResponse"];
1235
+ };
1236
+ };
1237
+ /** @description Bad Request */
1238
+ 400: {
1239
+ headers: {
1240
+ [name: string]: unknown;
1241
+ };
1242
+ content: {
1243
+ "application/json": {
1244
+ [key: string]: unknown;
1245
+ };
1246
+ };
1247
+ };
1248
+ /** @description Internal Server Error */
1249
+ 500: {
1250
+ headers: {
1251
+ [name: string]: unknown;
1252
+ };
1253
+ content: {
1254
+ "application/json": {
1255
+ [key: string]: unknown;
1256
+ };
1257
+ };
1258
+ };
1259
+ };
1260
+ };
1261
+ delete?: never;
1262
+ options?: never;
1263
+ head?: never;
1264
+ patch?: never;
1265
+ trace?: never;
1266
+ };
1267
+ "/api/v1/shop/fulfillment/pull": {
1268
+ parameters: {
1269
+ query?: never;
1270
+ header?: never;
1271
+ path?: never;
1272
+ cookie?: never;
1273
+ };
1274
+ get?: never;
1275
+ put?: never;
1276
+ /**
1277
+ * Pull fulfillment results
1278
+ * @description Retrieve current fulfillment orchestration status and results
1279
+ */
1280
+ post: {
1281
+ parameters: {
1282
+ query?: never;
1283
+ header?: never;
1284
+ path?: never;
1285
+ cookie?: never;
1286
+ };
1287
+ /** @description Pull fulfillment request */
1288
+ requestBody: {
1289
+ content: {
1290
+ "application/json": components["schemas"]["PullFulfillmentRequest"];
1291
+ };
1292
+ };
1293
+ responses: {
1294
+ /** @description OK */
1295
+ 200: {
1296
+ headers: {
1297
+ [name: string]: unknown;
1298
+ };
1299
+ content: {
1300
+ "application/json": components["schemas"]["PullFulfillmentResponse"];
1301
+ };
1302
+ };
1303
+ /** @description Bad Request */
1304
+ 400: {
1305
+ headers: {
1306
+ [name: string]: unknown;
1307
+ };
1308
+ content: {
1309
+ "application/json": {
1310
+ [key: string]: unknown;
1311
+ };
1312
+ };
1313
+ };
1314
+ /** @description Not Found */
1315
+ 404: {
1316
+ headers: {
1317
+ [name: string]: unknown;
1318
+ };
1319
+ content: {
1320
+ "application/json": {
1321
+ [key: string]: unknown;
1322
+ };
1323
+ };
1324
+ };
1325
+ /** @description Internal Server Error */
1326
+ 500: {
1327
+ headers: {
1328
+ [name: string]: unknown;
1329
+ };
1330
+ content: {
1331
+ "application/json": {
1332
+ [key: string]: unknown;
1333
+ };
1334
+ };
1335
+ };
1336
+ };
1337
+ };
1338
+ delete?: never;
1339
+ options?: never;
1340
+ head?: never;
1341
+ patch?: never;
1342
+ trace?: never;
1343
+ };
1344
+ "/api/v1/shop/fulfillment/schedule": {
1345
+ parameters: {
1346
+ query?: never;
1347
+ header?: never;
1348
+ path?: never;
1349
+ cookie?: never;
1350
+ };
1351
+ get?: never;
1352
+ put?: never;
1353
+ /**
1354
+ * Schedule fulfillment orchestration
1355
+ * @description Schedule fulfillment orchestration for all successfully quoted products
1356
+ */
1357
+ post: {
1358
+ parameters: {
1359
+ query?: never;
1360
+ header?: never;
1361
+ path?: never;
1362
+ cookie?: never;
1363
+ };
1364
+ /** @description Schedule fulfillment request */
1365
+ requestBody: {
1366
+ content: {
1367
+ "application/json": components["schemas"]["ScheduleFulfillmentRequest"];
1368
+ };
1369
+ };
1370
+ responses: {
1371
+ /** @description OK */
1372
+ 200: {
1373
+ headers: {
1374
+ [name: string]: unknown;
1375
+ };
1376
+ content: {
1377
+ "application/json": components["schemas"]["ScheduleFulfillmentResponse"];
1378
+ };
1379
+ };
1380
+ /** @description Bad Request */
1381
+ 400: {
1382
+ headers: {
1383
+ [name: string]: unknown;
1384
+ };
1385
+ content: {
1386
+ "application/json": {
1387
+ [key: string]: unknown;
1388
+ };
1389
+ };
1390
+ };
1391
+ /** @description Not Found */
1392
+ 404: {
1393
+ headers: {
1394
+ [name: string]: unknown;
1395
+ };
1396
+ content: {
1397
+ "application/json": {
1398
+ [key: string]: unknown;
1399
+ };
1400
+ };
1401
+ };
1402
+ /** @description Conflict */
1403
+ 409: {
1404
+ headers: {
1405
+ [name: string]: unknown;
1406
+ };
1407
+ content: {
1408
+ "application/json": {
1409
+ [key: string]: unknown;
1410
+ };
1411
+ };
1412
+ };
1413
+ /** @description Internal Server Error */
1414
+ 500: {
1415
+ headers: {
1416
+ [name: string]: unknown;
1417
+ };
1418
+ content: {
1419
+ "application/json": {
1420
+ [key: string]: unknown;
1421
+ };
1422
+ };
1423
+ };
1424
+ };
1425
+ };
1426
+ delete?: never;
1427
+ options?: never;
1428
+ head?: never;
1429
+ patch?: never;
1430
+ trace?: never;
1431
+ };
1432
+ "/api/v1/shop/quote/pull": {
1433
+ parameters: {
1434
+ query?: never;
1435
+ header?: never;
1436
+ path?: never;
1437
+ cookie?: never;
1438
+ };
1439
+ get?: never;
1440
+ put?: never;
1441
+ /**
1442
+ * Pull quote results
1443
+ * @description Retrieve current quote orchestration status and results
1444
+ */
1445
+ post: {
1446
+ parameters: {
1447
+ query?: never;
1448
+ header?: never;
1449
+ path?: never;
1450
+ cookie?: never;
1451
+ };
1452
+ /** @description Pull quote request */
1453
+ requestBody: {
1454
+ content: {
1455
+ "application/json": components["schemas"]["PullQuoteRequest"];
1456
+ };
1457
+ };
1458
+ responses: {
1459
+ /** @description OK */
1460
+ 200: {
1461
+ headers: {
1462
+ [name: string]: unknown;
1463
+ };
1464
+ content: {
1465
+ "application/json": components["schemas"]["PullQuoteResponse"];
1466
+ };
1467
+ };
1468
+ /** @description Bad Request */
1469
+ 400: {
1470
+ headers: {
1471
+ [name: string]: unknown;
1472
+ };
1473
+ content: {
1474
+ "application/json": {
1475
+ [key: string]: unknown;
1476
+ };
1477
+ };
1478
+ };
1479
+ /** @description Not Found */
1480
+ 404: {
1481
+ headers: {
1482
+ [name: string]: unknown;
1483
+ };
1484
+ content: {
1485
+ "application/json": {
1486
+ [key: string]: unknown;
1487
+ };
1488
+ };
1489
+ };
1490
+ /** @description Internal Server Error */
1491
+ 500: {
1492
+ headers: {
1493
+ [name: string]: unknown;
1494
+ };
1495
+ content: {
1496
+ "application/json": {
1497
+ [key: string]: unknown;
1498
+ };
1499
+ };
1500
+ };
1501
+ };
1502
+ };
1503
+ delete?: never;
1504
+ options?: never;
1505
+ head?: never;
1506
+ patch?: never;
1507
+ trace?: never;
1508
+ };
1509
+ "/api/v1/shop/quote/schedule": {
1510
+ parameters: {
1511
+ query?: never;
1512
+ header?: never;
1513
+ path?: never;
1514
+ cookie?: never;
1515
+ };
1516
+ get?: never;
1517
+ put?: never;
1518
+ /**
1519
+ * Schedule quote orchestration
1520
+ * @description Schedule quote orchestration for all products in a cart
1521
+ */
1522
+ post: {
1523
+ parameters: {
1524
+ query?: never;
1525
+ header?: never;
1526
+ path?: never;
1527
+ cookie?: never;
1528
+ };
1529
+ /** @description Schedule quote request */
1530
+ requestBody: {
1531
+ content: {
1532
+ "application/json": components["schemas"]["ScheduleQuoteRequest"];
1533
+ };
1534
+ };
1535
+ responses: {
1536
+ /** @description OK */
1537
+ 200: {
1538
+ headers: {
1539
+ [name: string]: unknown;
1540
+ };
1541
+ content: {
1542
+ "application/json": components["schemas"]["ScheduleQuoteResponse"];
1543
+ };
1544
+ };
1545
+ /** @description Bad Request */
1546
+ 400: {
1547
+ headers: {
1548
+ [name: string]: unknown;
1549
+ };
1550
+ content: {
1551
+ "application/json": {
1552
+ [key: string]: unknown;
1553
+ };
1554
+ };
1555
+ };
1556
+ /** @description Not Found */
1557
+ 404: {
1558
+ headers: {
1559
+ [name: string]: unknown;
1560
+ };
1561
+ content: {
1562
+ "application/json": {
1563
+ [key: string]: unknown;
1564
+ };
1565
+ };
1566
+ };
1567
+ /** @description Conflict */
1568
+ 409: {
1569
+ headers: {
1570
+ [name: string]: unknown;
1571
+ };
1572
+ content: {
1573
+ "application/json": {
1574
+ [key: string]: unknown;
1575
+ };
1576
+ };
1577
+ };
1578
+ /** @description Internal Server Error */
1579
+ 500: {
1580
+ headers: {
1581
+ [name: string]: unknown;
1582
+ };
1583
+ content: {
1584
+ "application/json": {
1585
+ [key: string]: unknown;
1586
+ };
1587
+ };
1588
+ };
1589
+ };
1590
+ };
1591
+ delete?: never;
1592
+ options?: never;
1593
+ head?: never;
1594
+ patch?: never;
1595
+ trace?: never;
1596
+ };
1597
+ "/api/v1/shopping_cart/shop": {
1598
+ parameters: {
1599
+ query?: never;
1600
+ header?: never;
1601
+ path?: never;
1602
+ cookie?: never;
1603
+ };
1604
+ get?: never;
1605
+ put?: never;
1606
+ /**
1607
+ * Create shopping cart
1608
+ * @description Create a new shopping cart bound to a session
1609
+ */
1610
+ post: {
1611
+ parameters: {
1612
+ query?: never;
1613
+ header?: never;
1614
+ path?: never;
1615
+ cookie?: never;
1616
+ };
1617
+ /** @description Cart create request */
1618
+ requestBody: {
1619
+ content: {
1620
+ "application/json": components["schemas"]["CartCreateRequest"];
1621
+ };
1622
+ };
1623
+ responses: {
1624
+ /** @description Created */
1625
+ 201: {
1626
+ headers: {
1627
+ [name: string]: unknown;
1628
+ };
1629
+ content: {
1630
+ "application/json": components["schemas"]["CartCreateResponse"];
1631
+ };
1632
+ };
1633
+ /** @description Bad Request */
1634
+ 400: {
1635
+ headers: {
1636
+ [name: string]: unknown;
1637
+ };
1638
+ content: {
1639
+ "application/json": {
1640
+ [key: string]: unknown;
1641
+ };
1642
+ };
1643
+ };
1644
+ /** @description Cart already exists */
1645
+ 409: {
1646
+ headers: {
1647
+ [name: string]: unknown;
1648
+ };
1649
+ content: {
1650
+ "application/json": components["schemas"]["CartCreateResponse"];
1651
+ };
1652
+ };
1653
+ /** @description Internal Server Error */
1654
+ 500: {
1655
+ headers: {
1656
+ [name: string]: unknown;
1657
+ };
1658
+ content: {
1659
+ "application/json": {
1660
+ [key: string]: unknown;
1661
+ };
1662
+ };
1663
+ };
1664
+ };
1665
+ };
1666
+ delete?: never;
1667
+ options?: never;
1668
+ head?: never;
1669
+ patch?: never;
1670
+ trace?: never;
1671
+ };
1672
+ "/api/v1/shopping_cart/shop/{cart_id}": {
1673
+ parameters: {
1674
+ query?: never;
1675
+ header?: never;
1676
+ path?: never;
1677
+ cookie?: never;
1678
+ };
1679
+ /**
1680
+ * Get shopping cart
1681
+ * @description Retrieve a shopping cart with its products
1682
+ */
1683
+ get: {
1684
+ parameters: {
1685
+ query?: never;
1686
+ header?: never;
1687
+ path: {
1688
+ /** @description Cart ID */
1689
+ cart_id: number;
1690
+ };
1691
+ cookie?: never;
1692
+ };
1693
+ requestBody?: never;
1694
+ responses: {
1695
+ /** @description OK */
1696
+ 200: {
1697
+ headers: {
1698
+ [name: string]: unknown;
1699
+ };
1700
+ content: {
1701
+ "application/json": components["schemas"]["CartGetResponse"];
1702
+ };
1703
+ };
1704
+ /** @description Bad Request */
1705
+ 400: {
1706
+ headers: {
1707
+ [name: string]: unknown;
1708
+ };
1709
+ content: {
1710
+ "application/json": {
1711
+ [key: string]: unknown;
1712
+ };
1713
+ };
1714
+ };
1715
+ /** @description Not Found */
1716
+ 404: {
1717
+ headers: {
1718
+ [name: string]: unknown;
1719
+ };
1720
+ content: {
1721
+ "application/json": {
1722
+ [key: string]: unknown;
1723
+ };
1724
+ };
1725
+ };
1726
+ /** @description Internal Server Error */
1727
+ 500: {
1728
+ headers: {
1729
+ [name: string]: unknown;
1730
+ };
1731
+ content: {
1732
+ "application/json": {
1733
+ [key: string]: unknown;
1734
+ };
1735
+ };
1736
+ };
1737
+ };
1738
+ };
1739
+ /**
1740
+ * Add product to cart
1741
+ * @description Add a product to an existing shopping cart
1742
+ */
1743
+ put: {
1744
+ parameters: {
1745
+ query?: never;
1746
+ header?: never;
1747
+ path: {
1748
+ /** @description Cart ID */
1749
+ cart_id: number;
1750
+ };
1751
+ cookie?: never;
1752
+ };
1753
+ /** @description Add product request */
1754
+ requestBody: {
1755
+ content: {
1756
+ "application/json": components["schemas"]["AddProductRequest"];
1757
+ };
1758
+ };
1759
+ responses: {
1760
+ /** @description OK */
1761
+ 200: {
1762
+ headers: {
1763
+ [name: string]: unknown;
1764
+ };
1765
+ content: {
1766
+ "application/json": components["schemas"]["AddProductResponse"];
1767
+ };
1768
+ };
1769
+ /** @description Bad Request */
1770
+ 400: {
1771
+ headers: {
1772
+ [name: string]: unknown;
1773
+ };
1774
+ content: {
1775
+ "application/json": {
1776
+ [key: string]: unknown;
1777
+ };
1778
+ };
1779
+ };
1780
+ /** @description Not Found */
1781
+ 404: {
1782
+ headers: {
1783
+ [name: string]: unknown;
1784
+ };
1785
+ content: {
1786
+ "application/json": {
1787
+ [key: string]: unknown;
1788
+ };
1789
+ };
1790
+ };
1791
+ /** @description Conflict */
1792
+ 409: {
1793
+ headers: {
1794
+ [name: string]: unknown;
1795
+ };
1796
+ content: {
1797
+ "application/json": {
1798
+ [key: string]: unknown;
1799
+ };
1800
+ };
1801
+ };
1802
+ /** @description Internal Server Error */
1803
+ 500: {
1804
+ headers: {
1805
+ [name: string]: unknown;
1806
+ };
1807
+ content: {
1808
+ "application/json": {
1809
+ [key: string]: unknown;
1810
+ };
1811
+ };
1812
+ };
1813
+ };
1814
+ };
1815
+ post?: never;
1816
+ delete?: never;
1817
+ options?: never;
1818
+ head?: never;
1819
+ patch?: never;
1820
+ trace?: never;
1821
+ };
1822
+ "/api/v1/shopping_cart/shop/{cart_id}/{product_id}": {
1823
+ parameters: {
1824
+ query?: never;
1825
+ header?: never;
1826
+ path?: never;
1827
+ cookie?: never;
1828
+ };
1829
+ /**
1830
+ * Get product from cart
1831
+ * @description Retrieve a specific product's details from the cart
1832
+ */
1833
+ get: {
1834
+ parameters: {
1835
+ query?: never;
1836
+ header?: never;
1837
+ path: {
1838
+ /** @description Cart ID */
1839
+ cart_id: number;
1840
+ /** @description Product ID */
1841
+ product_id: string;
1842
+ };
1843
+ cookie?: never;
1844
+ };
1845
+ requestBody?: never;
1846
+ responses: {
1847
+ /** @description OK */
1848
+ 200: {
1849
+ headers: {
1850
+ [name: string]: unknown;
1851
+ };
1852
+ content: {
1853
+ "application/json": components["schemas"]["CartProduct"];
1854
+ };
1855
+ };
1856
+ /** @description Bad Request */
1857
+ 400: {
1858
+ headers: {
1859
+ [name: string]: unknown;
1860
+ };
1861
+ content: {
1862
+ "application/json": {
1863
+ [key: string]: unknown;
1864
+ };
1865
+ };
1866
+ };
1867
+ /** @description Not Found */
1868
+ 404: {
1869
+ headers: {
1870
+ [name: string]: unknown;
1871
+ };
1872
+ content: {
1873
+ "application/json": {
1874
+ [key: string]: unknown;
1875
+ };
1876
+ };
1877
+ };
1878
+ /** @description Internal Server Error */
1879
+ 500: {
1880
+ headers: {
1881
+ [name: string]: unknown;
1882
+ };
1883
+ content: {
1884
+ "application/json": {
1885
+ [key: string]: unknown;
1886
+ };
1887
+ };
1888
+ };
1889
+ };
1890
+ };
1891
+ put?: never;
1892
+ post?: never;
1893
+ /**
1894
+ * Remove product from cart
1895
+ * @description Remove a product from the shopping cart (soft delete)
1896
+ */
1897
+ delete: {
1898
+ parameters: {
1899
+ query?: never;
1900
+ header?: never;
1901
+ path: {
1902
+ /** @description Cart ID */
1903
+ cart_id: number;
1904
+ /** @description Product ID */
1905
+ product_id: string;
1906
+ };
1907
+ cookie?: never;
1908
+ };
1909
+ requestBody?: never;
1910
+ responses: {
1911
+ /** @description OK */
1912
+ 200: {
1913
+ headers: {
1914
+ [name: string]: unknown;
1915
+ };
1916
+ content: {
1917
+ "application/json": components["schemas"]["CartGetResponse"];
1918
+ };
1919
+ };
1920
+ /** @description Bad Request */
1921
+ 400: {
1922
+ headers: {
1923
+ [name: string]: unknown;
1924
+ };
1925
+ content: {
1926
+ "application/json": {
1927
+ [key: string]: unknown;
1928
+ };
1929
+ };
1930
+ };
1931
+ /** @description Not Found */
1932
+ 404: {
1933
+ headers: {
1934
+ [name: string]: unknown;
1935
+ };
1936
+ content: {
1937
+ "application/json": {
1938
+ [key: string]: unknown;
1939
+ };
1940
+ };
1941
+ };
1942
+ /** @description Internal Server Error */
1943
+ 500: {
1944
+ headers: {
1945
+ [name: string]: unknown;
1946
+ };
1947
+ content: {
1948
+ "application/json": {
1949
+ [key: string]: unknown;
1950
+ };
1951
+ };
1952
+ };
1953
+ };
1954
+ };
1955
+ options?: never;
1956
+ head?: never;
1957
+ patch?: never;
1958
+ trace?: never;
1959
+ };
1960
+ "/api/v1/shopping_cart/shop/{cart_id}/travelers": {
1961
+ parameters: {
1962
+ query?: never;
1963
+ header?: never;
1964
+ path?: never;
1965
+ cookie?: never;
1966
+ };
1967
+ get?: never;
1968
+ /**
1969
+ * Update cart travelers
1970
+ * @description Update contact info and/or travelers on a shopping cart
1971
+ */
1972
+ put: {
1973
+ parameters: {
1974
+ query?: never;
1975
+ header?: never;
1976
+ path: {
1977
+ /** @description Cart ID */
1978
+ cart_id: number;
1979
+ };
1980
+ cookie?: never;
1981
+ };
1982
+ /** @description Update travelers request */
1983
+ requestBody: {
1984
+ content: {
1985
+ "application/json": components["schemas"]["CartUpdateTravelersRequest"];
1986
+ };
1987
+ };
1988
+ responses: {
1989
+ /** @description OK */
1990
+ 200: {
1991
+ headers: {
1992
+ [name: string]: unknown;
1993
+ };
1994
+ content: {
1995
+ "application/json": {
1996
+ [key: string]: unknown;
1997
+ };
1998
+ };
1999
+ };
2000
+ /** @description Bad Request */
2001
+ 400: {
2002
+ headers: {
2003
+ [name: string]: unknown;
2004
+ };
2005
+ content: {
2006
+ "application/json": {
2007
+ [key: string]: unknown;
2008
+ };
2009
+ };
2010
+ };
2011
+ /** @description Forbidden */
2012
+ 403: {
2013
+ headers: {
2014
+ [name: string]: unknown;
2015
+ };
2016
+ content: {
2017
+ "application/json": {
2018
+ [key: string]: unknown;
2019
+ };
2020
+ };
2021
+ };
2022
+ /** @description Not Found */
2023
+ 404: {
2024
+ headers: {
2025
+ [name: string]: unknown;
2026
+ };
2027
+ content: {
2028
+ "application/json": {
2029
+ [key: string]: unknown;
2030
+ };
2031
+ };
2032
+ };
2033
+ /** @description Internal Server Error */
2034
+ 500: {
2035
+ headers: {
2036
+ [name: string]: unknown;
2037
+ };
2038
+ content: {
2039
+ "application/json": {
2040
+ [key: string]: unknown;
2041
+ };
2042
+ };
2043
+ };
2044
+ };
2045
+ };
2046
+ post?: never;
2047
+ delete?: never;
2048
+ options?: never;
2049
+ head?: never;
2050
+ patch?: never;
2051
+ trace?: never;
2052
+ };
2053
+ }
2054
+ export type webhooks = Record<string, never>;
2055
+ export interface components {
2056
+ schemas: {
2057
+ AddProductRequest: {
2058
+ attributes?: {
2059
+ [key: string]: unknown;
2060
+ };
2061
+ domain: components["schemas"]["ProductDomain"];
2062
+ reference_id?: string;
2063
+ snapshot?: {
2064
+ [key: string]: unknown;
2065
+ };
2066
+ };
2067
+ AddProductResponse: {
2068
+ product_id?: string;
2069
+ status?: components["schemas"]["ProductStatus"];
2070
+ };
2071
+ AdviceQuantiles: {
2072
+ /** @description MaxFare is the highest fare seen for this route (in display currency) */
2073
+ max_fare?: components["schemas"]["Amount"];
2074
+ /** @description MinFare is the lowest fare seen for this route (in display currency) */
2075
+ min_fare?: components["schemas"]["Amount"];
2076
+ /** @description Percentile25 is the 25th percentile fare (in display currency) */
2077
+ percentile_25?: components["schemas"]["Amount"];
2078
+ /** @description Percentile50 is the median fare (in display currency) */
2079
+ percentile_50?: components["schemas"]["Amount"];
2080
+ /** @description Percentile75 is the 75th percentile fare (in display currency) */
2081
+ percentile_75?: components["schemas"]["Amount"];
2082
+ };
2083
+ Airport: {
2084
+ iata?: string;
2085
+ };
2086
+ Amenity: {
2087
+ amount?: components["schemas"]["Amount"];
2088
+ code?: string;
2089
+ description?: string;
2090
+ name?: string;
2091
+ };
2092
+ Amount: {
2093
+ /** @description Currency code (ISO 4217) */
2094
+ currency: string;
2095
+ /**
2096
+ * @description Number of decimal places for this currency
2097
+ * Common values: 2 for USD/EUR/GBP, 0 for JPY/KRW, 3 for BHD/KWD
2098
+ */
2099
+ decimal_places?: number;
2100
+ /**
2101
+ * @description Value in smallest currency unit (e.g., cents for USD, yen for JPY)
2102
+ * Example: 120.34 EUR = 12034, 1000 JPY = 1000
2103
+ */
2104
+ value?: number;
2105
+ };
2106
+ AuditEntry: {
2107
+ action?: string;
2108
+ actor_id?: string;
2109
+ details?: string;
2110
+ timestamp?: string;
2111
+ };
2112
+ /** @enum {string} */
2113
+ AuthorizationType: "payment_intent" | "checkout_session";
2114
+ BaggageInfo: {
2115
+ /** @description Description for display */
2116
+ description?: string;
2117
+ /** @description Unique identifier (required for purchasable options) */
2118
+ id?: string;
2119
+ /** @description Whether baggage is included in fare */
2120
+ is_included?: boolean;
2121
+ /** @description Journey this applies to (if journey-specific) */
2122
+ journey_id?: string;
2123
+ /** @description Number of pieces */
2124
+ pieces?: number;
2125
+ /** @description Price per bag */
2126
+ price_per_bag?: components["schemas"]["Amount"];
2127
+ /** @description Segment this applies to (if segment-specific) */
2128
+ segment_id?: string;
2129
+ /** @description Total price */
2130
+ total_price?: components["schemas"]["Amount"];
2131
+ /** @description Weight per piece */
2132
+ weight?: number;
2133
+ /** @description Weight unit (KG, LB, or PC) */
2134
+ weight_unit?: string;
2135
+ };
2136
+ BedInfo: {
2137
+ bed_type?: string;
2138
+ count?: number;
2139
+ };
2140
+ /** @enum {string} */
2141
+ BoardType: "RO" | "BB" | "HB";
2142
+ /** @enum {string} */
2143
+ BookingStatus: "pending" | "confirmed" | "cancelled" | "failed";
2144
+ /** @enum {string} */
2145
+ CabinType: "economy" | "premium_economy" | "business" | "first";
2146
+ CancellationDetails: {
2147
+ cancellation_id?: string;
2148
+ cancelled_at?: string;
2149
+ initiated_by?: string;
2150
+ reason?: string;
2151
+ refund_amount?: components["schemas"]["Money"];
2152
+ };
2153
+ CancellationPolicy: {
2154
+ description?: string;
2155
+ is_refundable?: boolean;
2156
+ };
2157
+ CancellationSchedule: {
2158
+ is_refundable?: boolean;
2159
+ message?: string;
2160
+ steps?: components["schemas"]["CancellationStep"][];
2161
+ };
2162
+ CancellationStep: {
2163
+ deadline?: string;
2164
+ penalty?: components["schemas"]["Amount"];
2165
+ };
2166
+ CarrierInfo: {
2167
+ /** @description Airline code (IATA or ICAO) */
2168
+ code?: string;
2169
+ /** @description Whether the airline is a low-cost carrier */
2170
+ is_lcc?: boolean;
2171
+ /** @description URL to the airline logo */
2172
+ logo?: string;
2173
+ /** @description Airline name */
2174
+ name?: string;
2175
+ };
2176
+ CarryOnBaggage: {
2177
+ /** @description Description for display */
2178
+ description?: string;
2179
+ /** @description Dimensions of the carry-on bag (e.g., "25 x 33 x 20 cm") */
2180
+ dimensions?: string;
2181
+ /** @description Number of carry-on pieces allowed */
2182
+ pieces?: number;
2183
+ /** @description Weight limit per piece */
2184
+ weight?: number;
2185
+ /** @description Weight unit (KG or LB) */
2186
+ weight_unit?: string;
2187
+ };
2188
+ CartCreateRequest: {
2189
+ metadata?: {
2190
+ [key: string]: unknown;
2191
+ };
2192
+ platform: components["schemas"]["CartPlatform"];
2193
+ session_id: string;
2194
+ source: components["schemas"]["CartSource"];
2195
+ tenant: string;
2196
+ user_id?: string;
2197
+ };
2198
+ CartCreateResponse: {
2199
+ cart_id?: number;
2200
+ status?: components["schemas"]["CartStatus"];
2201
+ };
2202
+ CartGetResponse: {
2203
+ cart_id?: number;
2204
+ fulfillment_status?: string;
2205
+ items?: components["schemas"]["CartProduct"][];
2206
+ quote_status?: string;
2207
+ session_id?: string;
2208
+ tenant?: string;
2209
+ };
2210
+ CartPaymentAuthorizationRequest: {
2211
+ amount: components["schemas"]["Amount"];
2212
+ quoted_cart_id: number;
2213
+ };
2214
+ /** @enum {string} */
2215
+ CartPlatform: "ChatGPT" | "Gemini" | "iOS" | "Android" | "Web" | "Other";
2216
+ CartPriceBreakdown: {
2217
+ base_price?: components["schemas"]["Money"];
2218
+ fees?: components["schemas"]["Money"];
2219
+ taxes?: components["schemas"]["Money"];
2220
+ };
2221
+ CartProduct: {
2222
+ cart_id?: number;
2223
+ created_at?: string;
2224
+ deleted_at?: string;
2225
+ domain?: components["schemas"]["ProductDomain"];
2226
+ pricing?: components["schemas"]["PriceBreakdown"];
2227
+ product_id?: string;
2228
+ session_reference?: string;
2229
+ snapshot?: {
2230
+ [key: string]: unknown;
2231
+ };
2232
+ status?: components["schemas"]["ProductStatus"];
2233
+ updated_at?: string;
2234
+ };
2235
+ /** @enum {string} */
2236
+ CartSource: "web" | "llm" | "api" | "app";
2237
+ /** @enum {string} */
2238
+ CartStatus: "draft" | "quoting" | "quoted" | "fulfillment_prepared" | "fulfilling" | "fulfilled" | "partially_fulfilled" | "failed" | "cancelled";
2239
+ CartUpdateTravelersRequest: {
2240
+ contact_info?: components["schemas"]["CustomerContact"];
2241
+ travelers?: unknown[];
2242
+ };
2243
+ CashSettlement: {
2244
+ account_id?: string;
2245
+ transaction_ref?: string;
2246
+ };
2247
+ CheckedBaggage: {
2248
+ /** @description Description for display (e.g., "1 bag, 23kg included") */
2249
+ description?: string;
2250
+ /** @description Dimensions of the checked bag (e.g., "UP TO 50 POUNDS/23 KILOGRAMS UP TO 62 LINEAR INCHES/158 LINEAR CENTIMETERS") */
2251
+ dimensions?: string;
2252
+ /** @description Number of checked bags included */
2253
+ pieces?: number;
2254
+ /** @description Weight per piece */
2255
+ weight?: number;
2256
+ /** @description Weight unit (KG or LB) */
2257
+ weight_unit?: string;
2258
+ };
2259
+ City: {
2260
+ country_code?: string;
2261
+ name?: string;
2262
+ };
2263
+ ClientSecretRequest: {
2264
+ payment_intent_id?: string;
2265
+ quoted_cart_id?: number;
2266
+ };
2267
+ ClientSecretResponse: {
2268
+ checkout_session_id?: string;
2269
+ checkout_url?: string;
2270
+ client_secret?: string;
2271
+ };
2272
+ ContactInfo: {
2273
+ country_code?: string;
2274
+ email: string;
2275
+ first_name: string;
2276
+ last_name: string;
2277
+ phone: string;
2278
+ };
2279
+ CustomerContact: {
2280
+ email: string;
2281
+ first_name: string;
2282
+ last_name: string;
2283
+ phone_number: string;
2284
+ };
2285
+ DateRange: {
2286
+ /** @description YYYY-MM-DD */
2287
+ end?: string;
2288
+ /** @description YYYY-MM-DD */
2289
+ start?: string;
2290
+ };
2291
+ DestinationInfo: {
2292
+ /** @description URL to the main image of the destination city */
2293
+ city_main_image?: string;
2294
+ /** @description Name of the destination city */
2295
+ city_name?: string;
2296
+ /** @description IATA code of the destination city */
2297
+ iata_code?: string;
2298
+ /** @description Geographic coordinates of the destination */
2299
+ location?: components["schemas"]["Location"];
2300
+ };
2301
+ DestinationSearchRequest: {
2302
+ /** @description Currency code for pricing (e.g., "USD", "EUR", "GBP") */
2303
+ currency?: string;
2304
+ /** @description Search filters (required) */
2305
+ filters?: components["schemas"]["FlightSearchFilters"];
2306
+ /** @description FlightsPerDestination - number of flights to return per destination bucket (default: 1, max: 10) */
2307
+ flights_per_destination?: number;
2308
+ /** @description Limit - maximum number of destinations to return (default: 20, max: 100) */
2309
+ limit?: number;
2310
+ /** @description Locale code for results (e.g., "en", "fr", "de", "es", "zh", "ja", "ko") */
2311
+ locale?: string;
2312
+ /** @description Offset - number of destinations to skip for pagination (default: 0) */
2313
+ offset?: number;
2314
+ /** @description Passengers (required for pricing) */
2315
+ passengers?: components["schemas"]["FlightPassengers"];
2316
+ /** @description Price constraints */
2317
+ price_constraints?: components["schemas"]["FlightPriceConstraints"];
2318
+ /** @description Sort criteria: "lowest" (default) or "recommendation" */
2319
+ sort?: components["schemas"]["SortBy"];
2320
+ };
2321
+ DestinationSearchResponse: {
2322
+ destinations?: components["schemas"]["DestinationSuggestion"][];
2323
+ /** @description Origin location information */
2324
+ origin?: components["schemas"]["Origin"];
2325
+ pagination?: components["schemas"]["Pagination"];
2326
+ total?: number;
2327
+ };
2328
+ DestinationSuggestion: {
2329
+ city_main_image?: string;
2330
+ city_name?: string;
2331
+ flights?: components["schemas"]["FlightItinerary"][];
2332
+ iata_code?: string;
2333
+ location?: components["schemas"]["Location"];
2334
+ lowest_fare_flight?: components["schemas"]["FlightItinerary"];
2335
+ };
2336
+ DetailedFare: {
2337
+ /**
2338
+ * @description BookingFees are one-time booking-level fees (e.g. Bank Handling Charge, Service Fee).
2339
+ * When present: TotalPrice includes these fees (TotalPrice = sell price + BookingFees).
2340
+ * When nil: no booking fees for this carrier (TotalPrice = sell price).
2341
+ */
2342
+ booking_fees?: components["schemas"]["Amount"];
2343
+ /** @description Fare brand name (e.g., "Basic Economy", "Main Cabin") */
2344
+ brand_name?: string;
2345
+ /** @description Cabin class (economy, premium_economy, business, first) */
2346
+ cabin_class?: string;
2347
+ cancellation_fee?: components["schemas"]["Amount"];
2348
+ /** @description Baggage information */
2349
+ carry_on_baggage?: components["schemas"]["CarryOnBaggage"];
2350
+ /** @description Fees */
2351
+ change_fee?: components["schemas"]["Amount"];
2352
+ change_policy?: string;
2353
+ /** @description Fare basis code */
2354
+ fare_basis_code?: string;
2355
+ /** @description Fare brand code */
2356
+ fare_brand_code?: string;
2357
+ /**
2358
+ * @description FareDescriptions contains free-text descriptions from the provider (e.g., TravelFusion
2359
+ * SupplierClassDescription). Populated only when the provider returns fare brand descriptions.
2360
+ */
2361
+ fare_descriptions?: string[];
2362
+ /**
2363
+ * @description FareRules contains the full structured fare rules with all time windows,
2364
+ * channels, charge model, and direction details.
2365
+ */
2366
+ fare_rules?: components["schemas"]["FareRuleDetail"][];
2367
+ /** @description Summary of fare rules */
2368
+ fare_rules_summary?: string[];
2369
+ included_baggage?: components["schemas"]["CheckedBaggage"];
2370
+ is_changeable?: boolean;
2371
+ is_name_changeable?: boolean;
2372
+ /** @description Flexibility rules */
2373
+ is_refundable?: boolean;
2374
+ /** @description Price breakdown by passenger type */
2375
+ price_per_passenger?: components["schemas"]["PassengerPricing"][];
2376
+ /** @description Price per person (total price divided by all passengers) */
2377
+ price_per_person?: components["schemas"]["Amount"];
2378
+ priority_boarding?: boolean;
2379
+ /**
2380
+ * @description ProviderMetadata is base64-encoded metadata from the connector's shop response.
2381
+ * Required for offer-price API calls to reconstruct provider-specific context.
2382
+ */
2383
+ provider_metadata?: string;
2384
+ /** @description Reservation Booking Designator */
2385
+ rbd?: string;
2386
+ refund_policy?: string;
2387
+ /** @description Amenities */
2388
+ seat_selection_included?: boolean;
2389
+ /** @description Total price for all passengers */
2390
+ total_price?: components["schemas"]["Amount"];
2391
+ /** @description Unique trip item token for use with add_trip_item booking */
2392
+ trip_item_token?: string;
2393
+ };
2394
+ DocumentLink: {
2395
+ title?: string;
2396
+ type?: string;
2397
+ url?: string;
2398
+ };
2399
+ /**
2400
+ * Format: int64
2401
+ * @enum {integer}
2402
+ */
2403
+ Duration: -9223372036854776000 | 9223372036854776000 | 1 | 1000 | 1000000 | 1000000000 | 60000000000 | 3600000000000;
2404
+ EmissionsStats: {
2405
+ avg?: number;
2406
+ max?: number;
2407
+ min?: number;
2408
+ };
2409
+ ErrorResponse: {
2410
+ details?: string;
2411
+ error?: string;
2412
+ message?: string;
2413
+ type?: string;
2414
+ };
2415
+ /** @enum {string} */
2416
+ FareLabel: "Lowest" | "Low" | "Medium" | "High";
2417
+ FareRuleDetail: {
2418
+ /** @description Sales channels this rule applies to; empty means all channels */
2419
+ channels?: string[];
2420
+ /** @description Charge model (e.g. PerPassenger, PerBooking, PerSegment, PerLeg) */
2421
+ charge_model?: string[];
2422
+ /** @description Direction this rule applies to: Outbound, Inbound, or empty for both */
2423
+ direction?: string;
2424
+ /** @description Maximum minutes after departure this rule applies (for after-departure rules) */
2425
+ max_minutes_after_departure?: number;
2426
+ /** @description Maximum minutes before departure this rule applies */
2427
+ max_minutes_before_departure?: number;
2428
+ /** @description Minimum minutes before departure this rule applies */
2429
+ min_minutes_before_departure?: number;
2430
+ /** @description Penalty: PENALTY_NOT_ALLOWED, PENALTY_NO_PENALTY, PENALTY_ALLOWED_WITH_FEE */
2431
+ penalty?: string;
2432
+ /** @description Fee charged when penalty is ALLOWED_WITH_FEE */
2433
+ penalty_fee?: components["schemas"]["Amount"];
2434
+ /** @description Rule type: CANCEL, CHANGE, CANCEL_AFTER_DEPARTURE, CHANGE_AFTER_DEPARTURE, NAME_CHANGE */
2435
+ rule_type?: string;
2436
+ };
2437
+ FlightCheckRequest: {
2438
+ /** @description Currency code for pricing (ISO 4217, e.g., "USD", "EUR") */
2439
+ currency?: string;
2440
+ /** @description Locale for formatting (e.g., "en-US") */
2441
+ locale?: string;
2442
+ /**
2443
+ * @description The offer token from a flight search result (find_flight or find_destination)
2444
+ * This is the ES doc_id from the search results
2445
+ */
2446
+ offer_token: string;
2447
+ /** @description Passengers for pricing */
2448
+ passengers?: components["schemas"]["FlightShopPassengers"];
2449
+ /**
2450
+ * @description Provider to target for this check (e.g., "sabre", "travelfusion").
2451
+ * When specified, only this provider is called instead of fan-out to all.
2452
+ * When empty, all enabled providers are called in parallel.
2453
+ */
2454
+ provider?: string;
2455
+ };
2456
+ FlightCheckResponse: {
2457
+ /** @description Alternative offers if the original is not available or for comparison */
2458
+ alternative_offers?: components["schemas"]["ShoppedFlightOffer"][];
2459
+ /** @description The shopped/confirmed offer with detailed pricing */
2460
+ offer?: components["schemas"]["ShoppedFlightOffer"];
2461
+ /** @description The original offer from flight search (for price comparison) */
2462
+ origin_offer?: components["schemas"]["OriginOfferSummary"];
2463
+ /**
2464
+ * @description PriceDiff is the absolute price difference (live minus cached).
2465
+ * Positive value means increase, negative value means decrease.
2466
+ * Populated when PriceStatus is "price_increased" or "price_decreased".
2467
+ */
2468
+ price_diff?: components["schemas"]["Amount"];
2469
+ /**
2470
+ * @description PriceStatus describes the outcome of the price check.
2471
+ * Values: "match", "price_increased", "price_decreased", "flight_not_found", "no_flight_found"
2472
+ */
2473
+ price_status?: string;
2474
+ /**
2475
+ * @description SearchPrice is the original cached price from the flight search (what the user saw).
2476
+ * Always populated so the client can show "was X, now Y".
2477
+ */
2478
+ search_price?: components["schemas"]["Amount"];
2479
+ };
2480
+ FlightDateFilter: {
2481
+ /** @description Multiple departure date ranges */
2482
+ departure_date_ranges?: components["schemas"]["DateRange"][];
2483
+ /** @description Multiple departure dates (list of specific dates) */
2484
+ departure_dates?: string[];
2485
+ /** @description Multiple return date ranges */
2486
+ return_date_ranges?: components["schemas"]["DateRange"][];
2487
+ /** @description Multiple return dates (list of specific dates) */
2488
+ return_dates?: string[];
2489
+ /** @description Length of stay in days (for roundtrip flights) */
2490
+ stay_days?: number;
2491
+ /** @description Stay days range (alternative to exact stay_days) */
2492
+ stay_days_range?: components["schemas"]["StayDaysRange"];
2493
+ };
2494
+ FlightItinerary: {
2495
+ cabin_type?: components["schemas"]["CabinType"];
2496
+ conversion_rate?: number;
2497
+ /** @description DeepLink is the URL to book this itinerary (defaults to https://jinkotravel.com) */
2498
+ deep_link?: string;
2499
+ destination_city_code?: string;
2500
+ destination_city_image?: string;
2501
+ destination_city_location?: components["schemas"]["Location"];
2502
+ destination_city_name?: string;
2503
+ fare_brand?: string;
2504
+ id?: string;
2505
+ /** @description JinkoAdvice provides fare assessment with label, title and description */
2506
+ jinko_advice?: components["schemas"]["JinkoAdvice"];
2507
+ origin_city_code?: string;
2508
+ origin_city_location?: components["schemas"]["Location"];
2509
+ origin_city_name?: string;
2510
+ origin_total_amount?: components["schemas"]["Amount"];
2511
+ score?: number;
2512
+ slices?: components["schemas"]["FlightSlice"][];
2513
+ total_amount?: components["schemas"]["Amount"];
2514
+ };
2515
+ FlightJourney: {
2516
+ /** @description Primary airline code */
2517
+ airline?: string;
2518
+ /** @description Airline logo URL */
2519
+ airline_logo?: string;
2520
+ /** @description Airline name */
2521
+ airline_name?: string;
2522
+ /** @description Arrival datetime (ISO 8601 local time) */
2523
+ arrival_datetime?: string;
2524
+ /** @description Departure datetime (ISO 8601 local time) */
2525
+ departure_datetime?: string;
2526
+ /** @description Destination airport code */
2527
+ destination?: string;
2528
+ /** @description Destination airport name */
2529
+ destination_airport_name?: string;
2530
+ /** @description Destination city name */
2531
+ destination_name?: string;
2532
+ /** @description Total duration in minutes */
2533
+ duration_minutes?: number;
2534
+ /** @description Origin airport code */
2535
+ origin?: string;
2536
+ /** @description Origin airport name */
2537
+ origin_airport_name?: string;
2538
+ /** @description Origin city name */
2539
+ origin_name?: string;
2540
+ /** @description Flight segments */
2541
+ segments?: components["schemas"]["FlightShopSegment"][];
2542
+ /** @description Stop information */
2543
+ stop_infos?: components["schemas"]["StopInfo"][];
2544
+ /** @description Number of stops */
2545
+ stops?: number;
2546
+ };
2547
+ FlightLocationFilter: {
2548
+ /** @description One or more destination airport codes (required) */
2549
+ destinations?: string[];
2550
+ /** @description One or more origin airport codes (required) */
2551
+ origins?: string[];
2552
+ };
2553
+ FlightPassengers: {
2554
+ adt?: number;
2555
+ ages?: number[];
2556
+ chd?: number;
2557
+ inf_lap?: number;
2558
+ inf_seat?: number;
2559
+ residency_country?: string;
2560
+ student?: number;
2561
+ youth?: number;
2562
+ };
2563
+ FlightPriceConstraints: {
2564
+ /** @description Maximum total price in USD (will be converted to NUC millicents for ES query) */
2565
+ max_total?: number;
2566
+ };
2567
+ FlightSearchFacets: {
2568
+ airlines?: {
2569
+ [key: string]: number;
2570
+ };
2571
+ cabins?: {
2572
+ [key: string]: number;
2573
+ };
2574
+ destinations?: {
2575
+ [key: string]: number;
2576
+ };
2577
+ emissions?: components["schemas"]["EmissionsStats"];
2578
+ origins?: {
2579
+ [key: string]: number;
2580
+ };
2581
+ prices?: components["schemas"]["PriceHistogramBucket"][];
2582
+ stops?: {
2583
+ [key: string]: number;
2584
+ };
2585
+ };
2586
+ FlightSearchFilters: {
2587
+ /** @description Cabin class filter (optional): filters by cabin class */
2588
+ cabin_class?: components["schemas"]["CabinType"];
2589
+ /** @description Date filter (required) */
2590
+ dates?: components["schemas"]["FlightDateFilter"];
2591
+ /** @description Direct flights only (maps to lowest_direct_fare in ES) */
2592
+ direct_only?: boolean;
2593
+ /** @description Location filter (required) */
2594
+ locations?: components["schemas"]["FlightLocationFilter"];
2595
+ /** @description Trip type (required): "oneway" or "roundtrip" */
2596
+ trip_type?: components["schemas"]["TripType"];
2597
+ };
2598
+ FlightSearchRequest: {
2599
+ /** @description Currency code for pricing (e.g., "USD", "EUR", "GBP") */
2600
+ currency?: string;
2601
+ /** @description Search filters (required) */
2602
+ filters?: components["schemas"]["FlightSearchFilters"];
2603
+ /** @description Limit - maximum number of results to return (default: 20, max: 100) */
2604
+ limit?: number;
2605
+ /** @description Locale code for results (e.g., "en", "fr", "de", "es", "zh", "ja", "ko") */
2606
+ locale?: string;
2607
+ /** @description Offset - number of results to skip for pagination (default: 0) */
2608
+ offset?: number;
2609
+ /** @description Passengers (required for pricing) */
2610
+ passengers?: components["schemas"]["FlightPassengers"];
2611
+ /** @description Price constraints */
2612
+ price_constraints?: components["schemas"]["FlightPriceConstraints"];
2613
+ /** @description Sort criteria: "lowest" (default) or "recommendation" */
2614
+ sort?: components["schemas"]["SortBy"];
2615
+ };
2616
+ FlightSearchResponse: {
2617
+ /** @description Destination information (populated from first itinerary) */
2618
+ destination?: components["schemas"]["DestinationInfo"];
2619
+ facets?: components["schemas"]["FlightSearchFacets"];
2620
+ itineraries?: components["schemas"]["FlightItinerary"][];
2621
+ pagination?: components["schemas"]["Pagination"];
2622
+ };
2623
+ FlightSegment: {
2624
+ aircraft?: string;
2625
+ arrive?: {
2626
+ airport?: string;
2627
+ city_code?: string;
2628
+ city_name?: string;
2629
+ terminal?: string;
2630
+ time_local?: string;
2631
+ };
2632
+ depart?: {
2633
+ airport?: string;
2634
+ city_code?: string;
2635
+ city_name?: string;
2636
+ terminal?: string;
2637
+ time_local?: string;
2638
+ };
2639
+ duration_minutes?: number;
2640
+ flight_number?: string;
2641
+ layover_minutes_after?: number;
2642
+ marketing_carrier?: string;
2643
+ marketing_carrier_info?: components["schemas"]["CarrierInfo"];
2644
+ operating_carrier?: string;
2645
+ operating_carrier_info?: components["schemas"]["CarrierInfo"];
2646
+ };
2647
+ FlightShopPassengers: {
2648
+ /** @description Number of adult passengers (12+ years), required, 1-9 */
2649
+ adt: number;
2650
+ /** @description Number of child passengers (2-11 years), optional, 0-8 */
2651
+ chd?: number;
2652
+ /** @description Number of infant passengers (under 2 years), optional, 0-4 */
2653
+ inf?: number;
2654
+ };
2655
+ FlightShopSegment: {
2656
+ /** @description Aircraft type */
2657
+ aircraft?: string;
2658
+ /** @description Airline code */
2659
+ airline?: string;
2660
+ /** @description Airline logo URL */
2661
+ airline_logo?: string;
2662
+ /** @description Airline name */
2663
+ airline_name?: string;
2664
+ arrival_airport?: string;
2665
+ /** @description Arrival information */
2666
+ arrival_city?: string;
2667
+ arrival_city_name?: string;
2668
+ arrival_terminal?: string;
2669
+ /** @description ISO 8601 */
2670
+ arrival_time?: string;
2671
+ /** @description Local time string */
2672
+ arrival_time_local?: string;
2673
+ departure_airport?: string;
2674
+ /** @description Departure information */
2675
+ departure_city?: string;
2676
+ departure_city_name?: string;
2677
+ departure_terminal?: string;
2678
+ /** @description ISO 8601 */
2679
+ departure_time?: string;
2680
+ /** @description Local time string */
2681
+ departure_time_local?: string;
2682
+ /** @description Duration in minutes */
2683
+ duration_minutes?: number;
2684
+ /** @description Flight number */
2685
+ flight_number?: string;
2686
+ /** @description Layover after this segment in minutes */
2687
+ layover_minutes?: number;
2688
+ /** @description Operating carrier (if codeshare) */
2689
+ operating_carrier?: string;
2690
+ operating_carrier_info?: components["schemas"]["CarrierInfo"];
2691
+ };
2692
+ FlightSlice: {
2693
+ cabin?: components["schemas"]["CabinType"];
2694
+ destination?: string;
2695
+ destination_airport_name?: string;
2696
+ destination_city_name?: string;
2697
+ duration_minutes?: number;
2698
+ /** @description MarketingCarrierInfo is the carrier info of the first segment */
2699
+ marketing_carrier_info?: components["schemas"]["CarrierInfo"];
2700
+ origin?: string;
2701
+ origin_airport_name?: string;
2702
+ origin_city_name?: string;
2703
+ segments?: components["schemas"]["FlightSegment"][];
2704
+ };
2705
+ FulfilledHotelProduct: {
2706
+ booking_data?: {
2707
+ [key: string]: unknown;
2708
+ };
2709
+ booking_reference?: string;
2710
+ check_in_date?: string;
2711
+ check_out_date?: string;
2712
+ confirmation_number?: string;
2713
+ contact_info?: components["schemas"]["ContactInfo"];
2714
+ created_at?: string;
2715
+ fulfillment_id?: string;
2716
+ /** @description Changed to GuestDetails */
2717
+ guest_info?: components["schemas"]["GuestDetails"][];
2718
+ hotel_info?: components["schemas"]["HotelInfo"];
2719
+ id?: string;
2720
+ provider_id?: string;
2721
+ quote_id?: number;
2722
+ rate_info?: components["schemas"]["RateInfo"];
2723
+ room_info?: components["schemas"]["RoomInfo"][];
2724
+ special_requests?: string[];
2725
+ status?: components["schemas"]["BookingStatus"];
2726
+ total_amount?: components["schemas"]["Amount"];
2727
+ updated_at?: string;
2728
+ };
2729
+ FulfillmentCart: {
2730
+ booking_reference?: string;
2731
+ cart_id?: number;
2732
+ completed_at?: string;
2733
+ confirmed_at?: string;
2734
+ created_at?: string;
2735
+ customer_contact?: {
2736
+ [key: string]: unknown;
2737
+ };
2738
+ error_message?: string;
2739
+ failure_reason?: string;
2740
+ fulfilled_at?: string;
2741
+ id?: number;
2742
+ idempotency_key?: string;
2743
+ metadata?: {
2744
+ [key: string]: unknown;
2745
+ };
2746
+ payment_authorization_id?: string;
2747
+ payment_capture_amount?: number;
2748
+ payment_captured_at?: string;
2749
+ phase?: components["schemas"]["FulfillmentPhase"];
2750
+ prepared_at?: string;
2751
+ quoted_cart_id?: number;
2752
+ scheduled_at?: string;
2753
+ status?: components["schemas"]["FulfillmentStatus"];
2754
+ tenant_id?: string;
2755
+ travelers?: unknown[];
2756
+ updated_at?: string;
2757
+ };
2758
+ FulfillmentCartItem: {
2759
+ cart_product_id?: string;
2760
+ completed_at?: string;
2761
+ created_at?: string;
2762
+ domain?: string;
2763
+ domain_fulfillment_id?: string;
2764
+ error_message?: string;
2765
+ fulfillment_cart_id?: number;
2766
+ id?: number;
2767
+ last_polled_at?: string;
2768
+ max_poll_count?: number;
2769
+ max_poll_duration?: components["schemas"]["Duration"];
2770
+ next_poll_at?: string;
2771
+ phase?: components["schemas"]["FulfillmentPhase"];
2772
+ pipeline_version?: number;
2773
+ poll_count?: number;
2774
+ prepared_at?: string;
2775
+ private_confirmation?: components["schemas"]["PrivateConfirmation"];
2776
+ provider_booking_id?: string;
2777
+ provider_status?: string;
2778
+ public_confirmation?: components["schemas"]["PublicConfirmation"];
2779
+ quoted_cart_item_id?: number;
2780
+ retry_count?: number;
2781
+ scheduled_at?: string;
2782
+ settlement?: components["schemas"]["Settlement"];
2783
+ status?: components["schemas"]["FulfillmentStatus"];
2784
+ step_state?: components["schemas"]["StepState"];
2785
+ updated_at?: string;
2786
+ };
2787
+ /** @enum {string} */
2788
+ FulfillmentPhase: "pending" | "preparing" | "prepared" | "processing" | "confirming" | "completed" | "failed";
2789
+ FulfillmentPullRequest: {
2790
+ fulfillment_id: string;
2791
+ };
2792
+ FulfillmentPullResponse: {
2793
+ error_message?: string;
2794
+ fulfilled_product?: components["schemas"]["FulfilledHotelProduct"];
2795
+ processing_status?: string;
2796
+ status?: components["schemas"]["HotelFulfillmentStatus"];
2797
+ };
2798
+ FulfillmentScheduleRequest: {
2799
+ contact_info: components["schemas"]["ContactInfo"];
2800
+ /** @description Changed to GuestDetails */
2801
+ guest_info: components["schemas"]["GuestDetails"][];
2802
+ payment_authorization_id?: string;
2803
+ quote_id: number;
2804
+ special_requests?: string[];
2805
+ };
2806
+ FulfillmentScheduleResponse: {
2807
+ fulfillment_id?: string;
2808
+ message?: string;
2809
+ status?: components["schemas"]["HotelFulfillmentStatus"];
2810
+ };
2811
+ /** @enum {string} */
2812
+ FulfillmentStatus: "pending" | "preparing" | "prepared" | "processing" | "confirming" | "completed" | "partial" | "failed" | "cancelled";
2813
+ GeoPoint: {
2814
+ latitude?: number;
2815
+ longitude?: number;
2816
+ };
2817
+ GuestDetails: {
2818
+ date_of_birth?: string;
2819
+ email?: string;
2820
+ first_name: string;
2821
+ gender?: string;
2822
+ last_name: string;
2823
+ phone?: string;
2824
+ title?: string;
2825
+ };
2826
+ GuestInfo: {
2827
+ adults: number;
2828
+ children?: number[];
2829
+ infants?: number;
2830
+ };
2831
+ /** @enum {string} */
2832
+ HotelFulfillmentStatus: "scheduled" | "processing" | "completed" | "failed" | "cancelled";
2833
+ HotelImage: {
2834
+ order?: number;
2835
+ path?: string;
2836
+ type?: string;
2837
+ };
2838
+ HotelInfo: {
2839
+ address?: string;
2840
+ amenities?: string[];
2841
+ description?: string;
2842
+ facilities?: string[];
2843
+ id?: string;
2844
+ images?: components["schemas"]["HotelImage"][];
2845
+ location?: components["schemas"]["GeoPoint"];
2846
+ main_photo?: string;
2847
+ name?: string;
2848
+ rating?: number;
2849
+ star_rating?: number;
2850
+ };
2851
+ HotelPlace: {
2852
+ country_code?: string;
2853
+ hotel_id?: string;
2854
+ hotel_name?: string;
2855
+ };
2856
+ /** @enum {string} */
2857
+ HotelQuoteStatus: "scheduled" | "processing" | "success" | "failure" | "cancelled";
2858
+ /**
2859
+ * Format: int32
2860
+ * @enum {integer}
2861
+ */
2862
+ HotelType: 0 | 201 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 212 | 213 | 214 | 215 | 216 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 243 | 247 | 250 | 251 | 252 | 254 | 257 | 258 | 262 | 264 | 265 | 268 | 271 | 272 | 273 | 274 | 276 | 277 | 278;
2863
+ JinkoAdvice: {
2864
+ /**
2865
+ * @description Description provides context about the pricing
2866
+ * Example: "Cheapest price for Mallorca are usually $57 more expensive than this deal"
2867
+ */
2868
+ description?: string;
2869
+ /** @description Label indicates the price category (Lowest, Low, Medium, High) */
2870
+ label?: components["schemas"]["FareLabel"];
2871
+ /** @description Quantiles provides the fare percentile data for scoring */
2872
+ quantiles?: components["schemas"]["AdviceQuantiles"];
2873
+ /**
2874
+ * @description Title is a human-readable summary of the deal quality
2875
+ * Example: "$264 is a very good deal"
2876
+ */
2877
+ title?: string;
2878
+ };
2879
+ LoadMoreRequest: {
2880
+ session_id: string;
2881
+ };
2882
+ Location: {
2883
+ latitude?: number;
2884
+ longitude?: number;
2885
+ };
2886
+ LodgingAvailability: {
2887
+ address?: string;
2888
+ amenities?: components["schemas"]["Amenity"][];
2889
+ description?: string;
2890
+ /** @description Lodging basic information */
2891
+ id?: string;
2892
+ images?: components["schemas"]["LodgingImage"][];
2893
+ location?: components["schemas"]["GeoPoint"];
2894
+ main_photo?: string;
2895
+ max_price?: components["schemas"]["Amount"];
2896
+ /** @description Pricing information */
2897
+ min_price?: components["schemas"]["Amount"];
2898
+ name?: string;
2899
+ policies?: components["schemas"]["Policy"][];
2900
+ rating?: number;
2901
+ /** @description Room information */
2902
+ rooms?: components["schemas"]["RoomAvailability"][];
2903
+ star_rating?: number;
2904
+ };
2905
+ LodgingDetailRequest: {
2906
+ lodging_id: string;
2907
+ session_id: string;
2908
+ };
2909
+ LodgingImage: {
2910
+ order?: number;
2911
+ path?: string;
2912
+ type?: string;
2913
+ };
2914
+ Money: {
2915
+ amount?: number;
2916
+ currency?: string;
2917
+ decimal_places?: number;
2918
+ };
2919
+ Origin: {
2920
+ /** @description City code (only for single origin city) */
2921
+ city_code?: string;
2922
+ /** @description City name (only for single origin city) */
2923
+ city_name?: string;
2924
+ /** @description Country code (for multiple origins or as fallback) */
2925
+ country_code?: string;
2926
+ /** @description Country name (for multiple origins or as fallback) */
2927
+ country_name?: string;
2928
+ /** @description Geographic coordinates (only for single origin city) */
2929
+ location?: components["schemas"]["Location"];
2930
+ };
2931
+ OriginOfferSummary: {
2932
+ /** @description Destination city code */
2933
+ destination_city_code?: string;
2934
+ /** @description Destination city name */
2935
+ destination_city_name?: string;
2936
+ /** @description Offer ID from search */
2937
+ offer_id?: string;
2938
+ /** @description Offer token used for shopping */
2939
+ offer_token?: string;
2940
+ /** @description Origin city code */
2941
+ origin_city_code?: string;
2942
+ /** @description Origin city name */
2943
+ origin_city_name?: string;
2944
+ /** @description Total price from search */
2945
+ total_price?: components["schemas"]["Amount"];
2946
+ };
2947
+ Pagination: {
2948
+ next_page_token?: string;
2949
+ };
2950
+ PassengerPricing: {
2951
+ /** @description Base fare per passenger */
2952
+ base_fare?: components["schemas"]["Amount"];
2953
+ /** @description Passenger type (ADT, CHD, INF) */
2954
+ passenger_type?: string;
2955
+ /** @description Number of passengers of this type */
2956
+ quantity?: number;
2957
+ /** @description Taxes per passenger */
2958
+ taxes?: components["schemas"]["Amount"];
2959
+ /** @description Total per person */
2960
+ total_per_person?: components["schemas"]["Amount"];
2961
+ };
2962
+ PassthroughSettlement: {
2963
+ card_brand?: string;
2964
+ card_last_four?: string;
2965
+ payment_intent_id?: string;
2966
+ };
2967
+ PaymentAuthorization: {
2968
+ authorization_type?: components["schemas"]["AuthorizationType"];
2969
+ authorized_amount?: components["schemas"]["Amount"];
2970
+ checkout_expires_at?: string;
2971
+ checkout_session_id?: string;
2972
+ checkout_url?: string;
2973
+ client_secret?: string;
2974
+ created_at?: string;
2975
+ error_message?: string;
2976
+ external_auth_id?: string;
2977
+ id?: string;
2978
+ payment_provider?: components["schemas"]["PaymentProvider"];
2979
+ quote_id?: number;
2980
+ quoted_cart_id?: number;
2981
+ status?: components["schemas"]["PaymentAuthorizationStatus"];
2982
+ updated_at?: string;
2983
+ };
2984
+ PaymentAuthorizationRequest: {
2985
+ quote_id: number;
2986
+ };
2987
+ PaymentAuthorizationResponse: {
2988
+ client_secret?: string;
2989
+ id?: string;
2990
+ provider?: components["schemas"]["PaymentProvider"];
2991
+ provider_authorization_id?: string;
2992
+ status?: components["schemas"]["PaymentAuthorizationStatus"];
2993
+ };
2994
+ /** @enum {string} */
2995
+ PaymentAuthorizationStatus: "initiated" | "authorized" | "failed" | "cancelled" | "expired";
2996
+ PaymentCapture: {
2997
+ authorization_id?: string;
2998
+ captured_amount?: components["schemas"]["Amount"];
2999
+ created_at?: string;
3000
+ error_message?: string;
3001
+ external_capture_id?: string;
3002
+ id?: string;
3003
+ status?: components["schemas"]["PaymentCaptureStatus"];
3004
+ updated_at?: string;
3005
+ };
3006
+ /** @enum {string} */
3007
+ PaymentCaptureStatus: "initiated" | "success" | "failed";
3008
+ /** @enum {string} */
3009
+ PaymentProvider: "stripe";
3010
+ Place: {
3011
+ airport?: components["schemas"]["Airport"];
3012
+ city?: components["schemas"]["City"];
3013
+ display_name?: string;
3014
+ geo?: components["schemas"]["GeoPoint"];
3015
+ hotel?: components["schemas"]["HotelPlace"];
3016
+ place_id?: components["schemas"]["PlaceID"];
3017
+ };
3018
+ PlaceID: {
3019
+ formatted_address?: string;
3020
+ id?: string;
3021
+ provider?: string;
3022
+ types?: string[];
3023
+ };
3024
+ Policy: {
3025
+ description?: string[];
3026
+ name?: string;
3027
+ type?: string;
3028
+ };
3029
+ PriceBreakdown: {
3030
+ base?: components["schemas"]["Amount"];
3031
+ tax_and_fee?: components["schemas"]["Amount"];
3032
+ total?: components["schemas"]["Amount"];
3033
+ };
3034
+ PriceHistogramBucket: {
3035
+ count?: number;
3036
+ from?: number;
3037
+ label?: string;
3038
+ to?: number;
3039
+ };
3040
+ PriceQuote: {
3041
+ breakdown?: components["schemas"]["CartPriceBreakdown"];
3042
+ remit?: components["schemas"]["Money"];
3043
+ sell_at?: components["schemas"]["Money"];
3044
+ supported_settlement_types?: components["schemas"]["SettlementType"][];
3045
+ };
3046
+ PrivateConfirmation: {
3047
+ audit_trail?: components["schemas"]["AuditEntry"][];
3048
+ cancellation_details?: components["schemas"]["CancellationDetails"];
3049
+ provider_booking_id?: string;
3050
+ provider_rate_id?: string;
3051
+ provider_response_raw?: string;
3052
+ settlement_id?: string;
3053
+ vcc_used?: components["schemas"]["VCCReference"];
3054
+ };
3055
+ /** @enum {string} */
3056
+ ProductDomain: "hotel" | "flight" | "activities" | "transfer";
3057
+ /** @enum {string} */
3058
+ ProductStatus: "draft" | "quoted" | "fulfilled" | "removed";
3059
+ PublicConfirmation: {
3060
+ confirmation_number?: string;
3061
+ details?: {
3062
+ [key: string]: unknown;
3063
+ };
3064
+ documents?: components["schemas"]["DocumentLink"][];
3065
+ product_summary?: string;
3066
+ total_paid?: components["schemas"]["Money"];
3067
+ };
3068
+ PullFulfillmentRequest: {
3069
+ fulfillment_cart_id: number;
3070
+ };
3071
+ PullFulfillmentResponse: {
3072
+ fulfillment_cart?: components["schemas"]["FulfillmentCart"];
3073
+ items?: components["schemas"]["FulfillmentCartItem"][];
3074
+ payment_capture_error?: string;
3075
+ payment_captured?: boolean;
3076
+ };
3077
+ PullQuoteRequest: {
3078
+ quoted_cart_id: number;
3079
+ };
3080
+ PullQuoteResponse: {
3081
+ checkout_expires_at?: string;
3082
+ checkout_session_id?: string;
3083
+ checkout_url?: string;
3084
+ items?: components["schemas"]["QuotedCartItem"][];
3085
+ payment_authorization_id?: string;
3086
+ payment_client_secret?: string;
3087
+ quoted_cart?: components["schemas"]["QuotedCart"];
3088
+ /**
3089
+ * @description ReshopQuotedCartID mirrors QuotedCart.ReshopQuotedCartID at the top level
3090
+ * for convenient access by callers without nesting into quoted_cart.
3091
+ */
3092
+ reshop_quoted_cart_id?: number;
3093
+ total_margin?: components["schemas"]["Money"];
3094
+ total_remit?: components["schemas"]["Money"];
3095
+ total_sell_at?: components["schemas"]["Money"];
3096
+ };
3097
+ QuotePullRequest: {
3098
+ quote_id: number;
3099
+ };
3100
+ QuotePullResponse: {
3101
+ error_message?: string;
3102
+ external_quote_id?: string;
3103
+ processing_status?: string;
3104
+ quoted_product?: components["schemas"]["QuotedProduct"];
3105
+ status?: components["schemas"]["HotelQuoteStatus"];
3106
+ };
3107
+ QuoteScheduleRequest: {
3108
+ hotel_id: string;
3109
+ /** @description Short rate ID */
3110
+ rate_id: string;
3111
+ room_id: string;
3112
+ session_id: string;
3113
+ };
3114
+ QuoteScheduleResponse: {
3115
+ message?: string;
3116
+ quote_id?: number;
3117
+ status?: components["schemas"]["HotelQuoteStatus"];
3118
+ };
3119
+ /** @enum {string} */
3120
+ QuoteStatus: "pending" | "in_progress" | "partial" | "completed" | "failed" | "expired";
3121
+ QuotedCart: {
3122
+ cart_id?: number;
3123
+ completed_at?: string;
3124
+ contact_info?: {
3125
+ [key: string]: unknown;
3126
+ };
3127
+ created_at?: string;
3128
+ error_message?: string;
3129
+ expires_at?: string;
3130
+ id?: number;
3131
+ metadata?: {
3132
+ [key: string]: unknown;
3133
+ };
3134
+ payment_authorization_id?: string;
3135
+ /**
3136
+ * @description ReshopQuotedCartID is set on the original (superseded) quoted cart when a
3137
+ * reshop occurs during quoting. Callers that receive status "failed" with this
3138
+ * field populated should re-poll using the new quoted cart ID instead.
3139
+ */
3140
+ reshop_quoted_cart_id?: number;
3141
+ scheduled_at?: string;
3142
+ status?: components["schemas"]["QuoteStatus"];
3143
+ tenant_id?: string;
3144
+ total_margin?: components["schemas"]["Money"];
3145
+ total_remit?: components["schemas"]["Money"];
3146
+ total_sell_at?: components["schemas"]["Money"];
3147
+ travelers?: unknown[];
3148
+ updated_at?: string;
3149
+ };
3150
+ QuotedCartItem: {
3151
+ cart_product_id?: string;
3152
+ completed_at?: string;
3153
+ created_at?: string;
3154
+ domain?: string;
3155
+ domain_quote_id?: string;
3156
+ error_message?: string;
3157
+ expires_at?: string;
3158
+ id?: number;
3159
+ price_quote?: components["schemas"]["PriceQuote"];
3160
+ quote_details?: {
3161
+ [key: string]: unknown;
3162
+ };
3163
+ quoted_cart_id?: number;
3164
+ retry_count?: number;
3165
+ scheduled_at?: string;
3166
+ status?: components["schemas"]["QuoteStatus"];
3167
+ supported_settlement_types?: components["schemas"]["SettlementType"][];
3168
+ updated_at?: string;
3169
+ };
3170
+ QuotedProduct: {
3171
+ expires_at?: string;
3172
+ hotel_info?: components["schemas"]["HotelInfo"];
3173
+ rate_info?: components["schemas"]["RateInfo"];
3174
+ room_info?: components["schemas"]["RoomInfo"][];
3175
+ };
3176
+ RateInfo: {
3177
+ base_price?: components["schemas"]["Amount"];
3178
+ cancellation_policy?: components["schemas"]["CancellationPolicy"];
3179
+ cancellation_schedule?: components["schemas"]["CancellationSchedule"];
3180
+ check_in_date?: string;
3181
+ check_out_date?: string;
3182
+ description?: string;
3183
+ is_refundable?: boolean;
3184
+ is_sandbox?: boolean;
3185
+ opaque?: string;
3186
+ /** @description Original long rate ID from connector */
3187
+ original_rate_id?: string;
3188
+ pay_later?: components["schemas"]["Amount"];
3189
+ pay_now?: components["schemas"]["Amount"];
3190
+ policies?: components["schemas"]["Policy"][];
3191
+ provider_id?: string;
3192
+ /** @description Short auto-incrementing ID for external API */
3193
+ rate_id?: string;
3194
+ rate_owner?: string;
3195
+ remit_price?: components["schemas"]["Amount"];
3196
+ selling_price?: components["schemas"]["Amount"];
3197
+ tax_and_fee?: components["schemas"]["Amount"];
3198
+ total_amount?: components["schemas"]["Amount"];
3199
+ };
3200
+ RawLocation: {
3201
+ country_code?: string;
3202
+ type?: components["schemas"]["RawLocationType"];
3203
+ value?: string;
3204
+ };
3205
+ /** @enum {string} */
3206
+ RawLocationType: "hotel" | "city" | "airport" | "place";
3207
+ RoomAvailability: {
3208
+ amenities?: components["schemas"]["Amenity"][];
3209
+ beds?: components["schemas"]["BedInfo"][];
3210
+ description?: string;
3211
+ images?: components["schemas"]["LodgingImage"][];
3212
+ lowest_rate?: components["schemas"]["RateInfo"];
3213
+ max_adults?: number;
3214
+ max_children?: number;
3215
+ max_occupancy?: number;
3216
+ max_price?: components["schemas"]["Amount"];
3217
+ min_price?: components["schemas"]["Amount"];
3218
+ rates?: components["schemas"]["RateInfo"][];
3219
+ room_id?: string;
3220
+ room_name?: string;
3221
+ room_size?: components["schemas"]["RoomSize"];
3222
+ };
3223
+ RoomInfo: {
3224
+ amenities?: string[];
3225
+ bed_info?: components["schemas"]["BedInfo"][];
3226
+ description?: string;
3227
+ id?: string;
3228
+ images?: string[];
3229
+ max_guests?: number;
3230
+ name?: string;
3231
+ room_size?: components["schemas"]["RoomSize"];
3232
+ };
3233
+ RoomSize: {
3234
+ unit?: string;
3235
+ value?: number;
3236
+ };
3237
+ ScheduleFulfillmentRequest: {
3238
+ /** @description Standard path: provide cart_id + quoted_cart_id + payment_authorization_id + idempotency_key */
3239
+ cart_id?: number;
3240
+ /**
3241
+ * @description CheckoutSessionID: alternative path — web app provides the Stripe checkout session ID
3242
+ * after redirect. The server resolves quoted_cart_id and payment_auth automatically.
3243
+ */
3244
+ checkout_session_id?: string;
3245
+ customer_contact?: components["schemas"]["CustomerContact"];
3246
+ /** @description GuestData is the MCP-client-facing field (matches swagger spec). Shape: { "passengers": [...] } */
3247
+ guest_data?: {
3248
+ [key: string]: unknown;
3249
+ };
3250
+ idempotency_key?: string;
3251
+ payment_authorization_id?: string;
3252
+ quoted_cart_id?: number;
3253
+ /** @description Travelers is the internal field used downstream. Populated from GuestData if not set directly. */
3254
+ travelers?: unknown[];
3255
+ };
3256
+ ScheduleFulfillmentResponse: {
3257
+ cart_id?: number;
3258
+ fulfillment_cart_id?: number;
3259
+ item_count?: number;
3260
+ phase?: components["schemas"]["FulfillmentPhase"];
3261
+ quoted_cart_id?: number;
3262
+ scheduled_at?: string;
3263
+ status?: components["schemas"]["FulfillmentStatus"];
3264
+ };
3265
+ ScheduleQuoteRequest: {
3266
+ cart_id: number;
3267
+ };
3268
+ ScheduleQuoteResponse: {
3269
+ cart_id?: number;
3270
+ item_count?: number;
3271
+ quoted_cart_id?: number;
3272
+ scheduled_at?: string;
3273
+ status?: components["schemas"]["QuoteStatus"];
3274
+ };
3275
+ SearchParams: {
3276
+ board_type?: components["schemas"]["BoardType"];
3277
+ chain_ids?: number[];
3278
+ check_in_date: string;
3279
+ check_out_date: string;
3280
+ /** @description Currency code (e.g., "USD") */
3281
+ currency?: string;
3282
+ /** @description Filtering options */
3283
+ facility_ids?: number[];
3284
+ guests: components["schemas"]["GuestInfo"][];
3285
+ hotel_type_ids?: components["schemas"]["HotelType"][];
3286
+ /** @description Language code (e.g., "en_US") */
3287
+ language?: string;
3288
+ location?: components["schemas"]["Place"];
3289
+ /** @description User preferences */
3290
+ market?: string;
3291
+ max_price?: number;
3292
+ /** @description Pagination */
3293
+ max_results?: number;
3294
+ min_rating?: number;
3295
+ min_star_rating?: number;
3296
+ offset?: number;
3297
+ raw_location?: components["schemas"]["RawLocation"];
3298
+ refundable_only?: boolean;
3299
+ };
3300
+ SearchResult: {
3301
+ amenity_filters?: components["schemas"]["Amenity"][];
3302
+ destination?: components["schemas"]["Place"];
3303
+ has_more?: boolean;
3304
+ lodgings?: components["schemas"]["LodgingAvailability"][];
3305
+ session_id?: string;
3306
+ total?: number;
3307
+ };
3308
+ SeatInfo: {
3309
+ /** @description Availability status (available, occupied, blocked, reserved) */
3310
+ availability?: string;
3311
+ /** @description Column letter */
3312
+ column?: string;
3313
+ /** @description Seat features (window, aisle, extra_legroom, etc.) */
3314
+ features?: string[];
3315
+ /** @description Price for seat selection */
3316
+ price?: components["schemas"]["Amount"];
3317
+ /** @description Seat number (e.g., "12A") */
3318
+ seat_number?: string;
3319
+ };
3320
+ SeatMap: {
3321
+ /** @description Aircraft type */
3322
+ aircraft_type?: string;
3323
+ /** @description Rows of seats */
3324
+ rows?: components["schemas"]["SeatRow"][];
3325
+ /** @description Segment this seat map applies to */
3326
+ segment_id?: string;
3327
+ };
3328
+ SeatRow: {
3329
+ /** @description Row number */
3330
+ row_number?: number;
3331
+ /** @description Seats in this row */
3332
+ seats?: components["schemas"]["SeatInfo"][];
3333
+ };
3334
+ SemanticSearchRequest: {
3335
+ check_in_date: string;
3336
+ check_out_date: string;
3337
+ currency?: string;
3338
+ destination: string;
3339
+ language?: string;
3340
+ /** @description User preferences */
3341
+ market?: string;
3342
+ /** @description Pagination */
3343
+ max_results?: number;
3344
+ offset?: number;
3345
+ query: string;
3346
+ };
3347
+ SemanticSearchResult: {
3348
+ amenity_filters?: components["schemas"]["Amenity"][];
3349
+ has_more?: boolean;
3350
+ lodgings?: components["schemas"]["LodgingAvailability"][];
3351
+ next_page_token?: string;
3352
+ search_params?: components["schemas"]["SearchParams"];
3353
+ session_id?: string;
3354
+ total?: number;
3355
+ };
3356
+ Settlement: {
3357
+ amount?: components["schemas"]["Money"];
3358
+ created_at?: string;
3359
+ id?: number;
3360
+ method?: components["schemas"]["SettlementMethod"];
3361
+ status?: components["schemas"]["SettlementStatus"];
3362
+ type?: components["schemas"]["SettlementType"];
3363
+ updated_at?: string;
3364
+ };
3365
+ SettlementMethod: {
3366
+ cash?: components["schemas"]["CashSettlement"];
3367
+ passthrough?: components["schemas"]["PassthroughSettlement"];
3368
+ vcc?: components["schemas"]["VCCSettlement"];
3369
+ };
3370
+ /** @enum {string} */
3371
+ SettlementStatus: "pending" | "processed" | "captured" | "failed" | "refunded";
3372
+ /** @enum {string} */
3373
+ SettlementType: "vcc" | "passthrough" | "cash" | "settled_by_parent";
3374
+ ShoppedFlightOffer: {
3375
+ /** @description Destination city information */
3376
+ destination_city_code?: string;
3377
+ destination_city_image?: string;
3378
+ destination_city_location?: components["schemas"]["Location"];
3379
+ destination_city_name?: string;
3380
+ /** @description Extra baggage purchase options */
3381
+ extra_baggage_options?: components["schemas"]["BaggageInfo"][];
3382
+ /** @description Extra carry-on purchase options (purchasable carry-on upgrades) */
3383
+ extra_carry_on_options?: components["schemas"]["BaggageInfo"][];
3384
+ /** @description Available fare options (primary + alternatives) */
3385
+ fares?: components["schemas"]["DetailedFare"][];
3386
+ inbound_flight?: components["schemas"]["FlightJourney"];
3387
+ /** @description Trip type indicator */
3388
+ is_round_trip?: boolean;
3389
+ /** @description Jinko advice for the offer */
3390
+ jinko_advice?: components["schemas"]["JinkoAdvice"];
3391
+ /** @description Unique offer ID for booking */
3392
+ offer_id?: string;
3393
+ /**
3394
+ * @description OfferToken is the original ES DocID used to re-shop this offer when
3395
+ * passenger counts change. Stored so that the snapshot resolver can
3396
+ * include it without re-fetching the fare record.
3397
+ */
3398
+ offer_token?: string;
3399
+ /** @description Origin city information */
3400
+ origin_city_code?: string;
3401
+ origin_city_location?: components["schemas"]["Location"];
3402
+ origin_city_name?: string;
3403
+ /** @description Flight journeys */
3404
+ outbound_flight?: components["schemas"]["FlightJourney"];
3405
+ /** @description Provider/Owner code */
3406
+ owner?: string;
3407
+ /** @description Number of passengers */
3408
+ passenger_count?: number;
3409
+ /**
3410
+ * @description Passenger breakdown by type (ADT/CHD/INF) from the original search.
3411
+ * Stored in the cached offer so the snapshot resolver can inject it
3412
+ * into the cart product snapshot — even if the client omits it.
3413
+ */
3414
+ passengers?: components["schemas"]["FlightShopPassengers"];
3415
+ /** @description Provider ID (sabre, travelfusion, etc.) for quote and booking routing */
3416
+ provider?: string;
3417
+ /** @description Provider display name (Sabre GDS, TravelFusion, etc.) */
3418
+ provider_name?: string;
3419
+ /** @description Response ID from provider */
3420
+ response_id?: string;
3421
+ /** @description Available seat maps for selection */
3422
+ seat_maps?: components["schemas"]["SeatMap"][];
3423
+ /** @description Total duration in minutes (all journeys combined) */
3424
+ total_duration_minutes?: number;
3425
+ /** @description Validating carrier information */
3426
+ validating_carrier?: string;
3427
+ validating_carrier_info?: components["schemas"]["CarrierInfo"];
3428
+ };
3429
+ /** @enum {string} */
3430
+ SortBy: "lowest" | "recommendation";
3431
+ StayDaysRange: {
3432
+ /** @description Maximum stay days */
3433
+ max?: number;
3434
+ /** @description Minimum stay days */
3435
+ min?: number;
3436
+ };
3437
+ StepState: {
3438
+ /** @description CompletedSteps lists the names of successfully completed steps. */
3439
+ completed_steps?: string[];
3440
+ /** @description CurrentStep is the index of the next step to execute (0-based). */
3441
+ current_step?: number;
3442
+ /** @description Domain is the travel domain for this pipeline execution. */
3443
+ domain?: string;
3444
+ /** @description FulfillmentCartID is the DB ID of the parent fulfillment cart. */
3445
+ fulfillment_cart_id?: number;
3446
+ /** @description FulfillmentCartItemID is the DB ID of the item being fulfilled. */
3447
+ fulfillment_cart_item_id?: number;
3448
+ /** @description PollAttempt tracks how many times the poll step has executed. */
3449
+ poll_attempt?: number;
3450
+ /** @description ProviderBookingID is the external booking reference (e.g., TF BookingReference). */
3451
+ provider_booking_id?: string;
3452
+ /** @description ProviderStatus is the raw provider status (e.g., TF "Unconfirmed", "Succeeded"). */
3453
+ provider_status?: string;
3454
+ /** @description StepData accumulates output from prior steps (e.g., booking reference, confirmation). */
3455
+ step_data?: {
3456
+ [key: string]: unknown;
3457
+ };
3458
+ };
3459
+ StopInfo: {
3460
+ /** @description Airport code of the stop */
3461
+ airport_code?: string;
3462
+ /** @description Duration of the layover in minutes */
3463
+ duration_minutes?: number;
3464
+ };
3465
+ /** @enum {string} */
3466
+ TripType: "oneway" | "roundtrip";
3467
+ VCCReference: {
3468
+ last_four?: string;
3469
+ vcc_id?: string;
3470
+ };
3471
+ VCCSettlement: {
3472
+ expiry_month?: number;
3473
+ expiry_year?: number;
3474
+ last_four?: string;
3475
+ vcc_id?: string;
3476
+ };
3477
+ };
3478
+ responses: never;
3479
+ parameters: never;
3480
+ requestBodies: never;
3481
+ headers: never;
3482
+ pathItems: never;
3483
+ }
3484
+ export type $defs = Record<string, never>;
3485
+ export type operations = Record<string, never>;
3486
+ //# sourceMappingURL=generated.d.ts.map