@voyant-travel/openapi 0.2.6 → 0.3.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.
Files changed (41) hide show
  1. package/package.json +8 -5
  2. package/spec/admin/accommodations.json +1395 -0
  3. package/spec/admin/action-ledger.json +6202 -0
  4. package/spec/admin/booking-requirements.json +5689 -0
  5. package/spec/admin/bookings.json +18794 -0
  6. package/spec/admin/catalog.json +690 -0
  7. package/spec/admin/distribution.json +19581 -0
  8. package/spec/admin/external-refs.json +1382 -0
  9. package/spec/admin/extras.json +4648 -0
  10. package/spec/admin/finance.json +35506 -0
  11. package/spec/admin/identity.json +4072 -0
  12. package/spec/admin/legal.json +14339 -0
  13. package/spec/admin/markets.json +5286 -0
  14. package/spec/admin/notifications.json +8409 -0
  15. package/spec/admin/operations.json +39806 -0
  16. package/spec/admin/operator-settings.json +1389 -0
  17. package/spec/admin/pricing.json +10640 -0
  18. package/spec/admin/products.json +22131 -0
  19. package/spec/admin/promotions.json +2730 -0
  20. package/spec/admin/quotes.json +7033 -0
  21. package/spec/admin/relationships.json +13911 -0
  22. package/spec/admin/sellability.json +4840 -0
  23. package/spec/admin/storefront.json +1953 -0
  24. package/spec/admin/suppliers.json +5850 -0
  25. package/spec/admin/trips.json +9357 -0
  26. package/spec/framework-admin.json +2812 -552
  27. package/spec/framework-openapi.json +2710 -276
  28. package/spec/framework-storefront.json +178 -4
  29. package/spec/storefront/booking-requirements.json +367 -0
  30. package/spec/storefront/bookings.json +6137 -0
  31. package/spec/storefront/catalog.json +690 -0
  32. package/spec/storefront/customer-portal.json +6038 -0
  33. package/spec/storefront/finance.json +4824 -0
  34. package/spec/storefront/legal.json +2082 -0
  35. package/spec/storefront/markets.json +256 -0
  36. package/spec/storefront/operator-settings.json +309 -0
  37. package/spec/storefront/pricing.json +585 -0
  38. package/spec/storefront/products.json +2910 -0
  39. package/spec/storefront/storefront-verification.json +909 -0
  40. package/spec/storefront/storefront.json +4067 -0
  41. package/spec/storefront/trips.json +9357 -0
@@ -0,0 +1,909 @@
1
+ {
2
+ "openapi": "3.1.0",
3
+ "info": {
4
+ "title": "Voyant Framework API",
5
+ "version": "0.0.0",
6
+ "description": "Generated from the Voyant framework's standard module composition. Do not edit by hand."
7
+ },
8
+ "components": {
9
+ "schemas": {
10
+ "CatalogSearchFilter": {
11
+ "anyOf": [
12
+ {
13
+ "type": "object",
14
+ "properties": {
15
+ "kind": {
16
+ "type": "string",
17
+ "enum": [
18
+ "eq"
19
+ ]
20
+ },
21
+ "field": {
22
+ "type": "string",
23
+ "minLength": 1
24
+ },
25
+ "value": {
26
+ "anyOf": [
27
+ {
28
+ "type": "string"
29
+ },
30
+ {
31
+ "type": "number"
32
+ },
33
+ {
34
+ "type": "boolean"
35
+ }
36
+ ]
37
+ }
38
+ },
39
+ "required": [
40
+ "kind",
41
+ "field",
42
+ "value"
43
+ ]
44
+ },
45
+ {
46
+ "type": "object",
47
+ "properties": {
48
+ "kind": {
49
+ "type": "string",
50
+ "enum": [
51
+ "in"
52
+ ]
53
+ },
54
+ "field": {
55
+ "type": "string",
56
+ "minLength": 1
57
+ },
58
+ "values": {
59
+ "type": "array",
60
+ "items": {
61
+ "anyOf": [
62
+ {
63
+ "type": "string"
64
+ },
65
+ {
66
+ "type": "number"
67
+ }
68
+ ]
69
+ }
70
+ }
71
+ },
72
+ "required": [
73
+ "kind",
74
+ "field",
75
+ "values"
76
+ ]
77
+ },
78
+ {
79
+ "type": "object",
80
+ "properties": {
81
+ "kind": {
82
+ "type": "string",
83
+ "enum": [
84
+ "range"
85
+ ]
86
+ },
87
+ "field": {
88
+ "type": "string",
89
+ "minLength": 1
90
+ },
91
+ "gte": {
92
+ "type": "number"
93
+ },
94
+ "lte": {
95
+ "type": "number"
96
+ }
97
+ },
98
+ "required": [
99
+ "kind",
100
+ "field"
101
+ ]
102
+ },
103
+ {
104
+ "type": "object",
105
+ "properties": {
106
+ "kind": {
107
+ "type": "string",
108
+ "enum": [
109
+ "and"
110
+ ]
111
+ },
112
+ "clauses": {
113
+ "type": "array",
114
+ "items": {
115
+ "$ref": "#/components/schemas/CatalogSearchFilter"
116
+ }
117
+ }
118
+ },
119
+ "required": [
120
+ "kind",
121
+ "clauses"
122
+ ]
123
+ },
124
+ {
125
+ "type": "object",
126
+ "properties": {
127
+ "kind": {
128
+ "type": "string",
129
+ "enum": [
130
+ "or"
131
+ ]
132
+ },
133
+ "clauses": {
134
+ "type": "array",
135
+ "items": {
136
+ "$ref": "#/components/schemas/CatalogSearchFilter"
137
+ }
138
+ }
139
+ },
140
+ "required": [
141
+ "kind",
142
+ "clauses"
143
+ ]
144
+ }
145
+ ]
146
+ }
147
+ },
148
+ "parameters": {}
149
+ },
150
+ "paths": {
151
+ "/v1/public/storefront-verification/email/start": {
152
+ "post": {
153
+ "requestBody": {
154
+ "required": true,
155
+ "content": {
156
+ "application/json": {
157
+ "schema": {
158
+ "type": "object",
159
+ "properties": {
160
+ "email": {
161
+ "type": "string",
162
+ "format": "email"
163
+ },
164
+ "purpose": {
165
+ "type": "string",
166
+ "minLength": 1,
167
+ "maxLength": 100,
168
+ "default": "contact_confirmation"
169
+ },
170
+ "locale": {
171
+ "type": [
172
+ "string",
173
+ "null"
174
+ ],
175
+ "minLength": 2,
176
+ "maxLength": 16
177
+ },
178
+ "metadata": {
179
+ "type": [
180
+ "object",
181
+ "null"
182
+ ],
183
+ "additionalProperties": {}
184
+ }
185
+ },
186
+ "required": [
187
+ "email"
188
+ ]
189
+ }
190
+ }
191
+ }
192
+ },
193
+ "responses": {
194
+ "201": {
195
+ "description": "An email verification challenge was started",
196
+ "content": {
197
+ "application/json": {
198
+ "schema": {
199
+ "type": "object",
200
+ "properties": {
201
+ "data": {
202
+ "type": "object",
203
+ "properties": {
204
+ "id": {
205
+ "type": "string"
206
+ },
207
+ "channel": {
208
+ "type": "string",
209
+ "enum": [
210
+ "email",
211
+ "sms"
212
+ ]
213
+ },
214
+ "destination": {
215
+ "type": "string"
216
+ },
217
+ "purpose": {
218
+ "type": "string"
219
+ },
220
+ "status": {
221
+ "type": "string",
222
+ "enum": [
223
+ "pending",
224
+ "verified",
225
+ "expired",
226
+ "failed",
227
+ "cancelled"
228
+ ]
229
+ },
230
+ "expiresAt": {
231
+ "type": "string",
232
+ "format": "date-time"
233
+ },
234
+ "verifiedAt": {
235
+ "type": [
236
+ "string",
237
+ "null"
238
+ ],
239
+ "format": "date-time"
240
+ },
241
+ "createdAt": {
242
+ "type": "string",
243
+ "format": "date-time"
244
+ },
245
+ "updatedAt": {
246
+ "type": "string",
247
+ "format": "date-time"
248
+ }
249
+ },
250
+ "required": [
251
+ "id",
252
+ "channel",
253
+ "destination",
254
+ "purpose",
255
+ "status",
256
+ "expiresAt",
257
+ "verifiedAt",
258
+ "createdAt",
259
+ "updatedAt"
260
+ ]
261
+ }
262
+ },
263
+ "required": [
264
+ "data"
265
+ ]
266
+ }
267
+ }
268
+ }
269
+ },
270
+ "400": {
271
+ "description": "Malformed verification request",
272
+ "content": {
273
+ "application/json": {
274
+ "schema": {
275
+ "type": "object",
276
+ "properties": {
277
+ "error": {
278
+ "type": "string"
279
+ },
280
+ "code": {
281
+ "type": "string"
282
+ }
283
+ },
284
+ "required": [
285
+ "error"
286
+ ]
287
+ }
288
+ }
289
+ }
290
+ },
291
+ "429": {
292
+ "description": "Too many verification attempts",
293
+ "content": {
294
+ "application/json": {
295
+ "schema": {
296
+ "type": "object",
297
+ "properties": {
298
+ "error": {
299
+ "type": "string"
300
+ },
301
+ "code": {
302
+ "type": "string"
303
+ }
304
+ },
305
+ "required": [
306
+ "error"
307
+ ]
308
+ }
309
+ }
310
+ }
311
+ },
312
+ "501": {
313
+ "description": "Verification sender is not configured",
314
+ "content": {
315
+ "application/json": {
316
+ "schema": {
317
+ "type": "object",
318
+ "properties": {
319
+ "error": {
320
+ "type": "string"
321
+ },
322
+ "code": {
323
+ "type": "string"
324
+ }
325
+ },
326
+ "required": [
327
+ "error"
328
+ ]
329
+ }
330
+ }
331
+ }
332
+ }
333
+ }
334
+ }
335
+ },
336
+ "/v1/public/storefront-verification/sms/start": {
337
+ "post": {
338
+ "requestBody": {
339
+ "required": true,
340
+ "content": {
341
+ "application/json": {
342
+ "schema": {
343
+ "type": "object",
344
+ "properties": {
345
+ "phone": {
346
+ "type": "string",
347
+ "minLength": 6,
348
+ "maxLength": 32
349
+ },
350
+ "purpose": {
351
+ "type": "string",
352
+ "minLength": 1,
353
+ "maxLength": 100,
354
+ "default": "contact_confirmation"
355
+ },
356
+ "locale": {
357
+ "type": [
358
+ "string",
359
+ "null"
360
+ ],
361
+ "minLength": 2,
362
+ "maxLength": 16
363
+ },
364
+ "metadata": {
365
+ "type": [
366
+ "object",
367
+ "null"
368
+ ],
369
+ "additionalProperties": {}
370
+ }
371
+ },
372
+ "required": [
373
+ "phone"
374
+ ]
375
+ }
376
+ }
377
+ }
378
+ },
379
+ "responses": {
380
+ "201": {
381
+ "description": "An SMS verification challenge was started",
382
+ "content": {
383
+ "application/json": {
384
+ "schema": {
385
+ "type": "object",
386
+ "properties": {
387
+ "data": {
388
+ "type": "object",
389
+ "properties": {
390
+ "id": {
391
+ "type": "string"
392
+ },
393
+ "channel": {
394
+ "type": "string",
395
+ "enum": [
396
+ "email",
397
+ "sms"
398
+ ]
399
+ },
400
+ "destination": {
401
+ "type": "string"
402
+ },
403
+ "purpose": {
404
+ "type": "string"
405
+ },
406
+ "status": {
407
+ "type": "string",
408
+ "enum": [
409
+ "pending",
410
+ "verified",
411
+ "expired",
412
+ "failed",
413
+ "cancelled"
414
+ ]
415
+ },
416
+ "expiresAt": {
417
+ "type": "string",
418
+ "format": "date-time"
419
+ },
420
+ "verifiedAt": {
421
+ "type": [
422
+ "string",
423
+ "null"
424
+ ],
425
+ "format": "date-time"
426
+ },
427
+ "createdAt": {
428
+ "type": "string",
429
+ "format": "date-time"
430
+ },
431
+ "updatedAt": {
432
+ "type": "string",
433
+ "format": "date-time"
434
+ }
435
+ },
436
+ "required": [
437
+ "id",
438
+ "channel",
439
+ "destination",
440
+ "purpose",
441
+ "status",
442
+ "expiresAt",
443
+ "verifiedAt",
444
+ "createdAt",
445
+ "updatedAt"
446
+ ]
447
+ }
448
+ },
449
+ "required": [
450
+ "data"
451
+ ]
452
+ }
453
+ }
454
+ }
455
+ },
456
+ "400": {
457
+ "description": "Malformed verification request",
458
+ "content": {
459
+ "application/json": {
460
+ "schema": {
461
+ "type": "object",
462
+ "properties": {
463
+ "error": {
464
+ "type": "string"
465
+ },
466
+ "code": {
467
+ "type": "string"
468
+ }
469
+ },
470
+ "required": [
471
+ "error"
472
+ ]
473
+ }
474
+ }
475
+ }
476
+ },
477
+ "429": {
478
+ "description": "Too many verification attempts",
479
+ "content": {
480
+ "application/json": {
481
+ "schema": {
482
+ "type": "object",
483
+ "properties": {
484
+ "error": {
485
+ "type": "string"
486
+ },
487
+ "code": {
488
+ "type": "string"
489
+ }
490
+ },
491
+ "required": [
492
+ "error"
493
+ ]
494
+ }
495
+ }
496
+ }
497
+ },
498
+ "501": {
499
+ "description": "Verification sender is not configured",
500
+ "content": {
501
+ "application/json": {
502
+ "schema": {
503
+ "type": "object",
504
+ "properties": {
505
+ "error": {
506
+ "type": "string"
507
+ },
508
+ "code": {
509
+ "type": "string"
510
+ }
511
+ },
512
+ "required": [
513
+ "error"
514
+ ]
515
+ }
516
+ }
517
+ }
518
+ }
519
+ }
520
+ }
521
+ },
522
+ "/v1/public/storefront-verification/email/confirm": {
523
+ "post": {
524
+ "requestBody": {
525
+ "required": true,
526
+ "content": {
527
+ "application/json": {
528
+ "schema": {
529
+ "type": "object",
530
+ "properties": {
531
+ "email": {
532
+ "type": "string",
533
+ "format": "email"
534
+ },
535
+ "code": {
536
+ "type": "string",
537
+ "pattern": "^\\d{4,8}$"
538
+ },
539
+ "purpose": {
540
+ "type": "string",
541
+ "minLength": 1,
542
+ "maxLength": 100,
543
+ "default": "contact_confirmation"
544
+ }
545
+ },
546
+ "required": [
547
+ "email",
548
+ "code"
549
+ ]
550
+ }
551
+ }
552
+ }
553
+ },
554
+ "responses": {
555
+ "200": {
556
+ "description": "The email verification challenge was confirmed",
557
+ "content": {
558
+ "application/json": {
559
+ "schema": {
560
+ "type": "object",
561
+ "properties": {
562
+ "data": {
563
+ "type": "object",
564
+ "properties": {
565
+ "id": {
566
+ "type": "string"
567
+ },
568
+ "channel": {
569
+ "type": "string",
570
+ "enum": [
571
+ "email",
572
+ "sms"
573
+ ]
574
+ },
575
+ "destination": {
576
+ "type": "string"
577
+ },
578
+ "purpose": {
579
+ "type": "string"
580
+ },
581
+ "status": {
582
+ "type": "string",
583
+ "enum": [
584
+ "verified"
585
+ ]
586
+ },
587
+ "expiresAt": {
588
+ "type": "string",
589
+ "format": "date-time"
590
+ },
591
+ "verifiedAt": {
592
+ "type": [
593
+ "string",
594
+ "null"
595
+ ],
596
+ "format": "date-time"
597
+ },
598
+ "createdAt": {
599
+ "type": "string",
600
+ "format": "date-time"
601
+ },
602
+ "updatedAt": {
603
+ "type": "string",
604
+ "format": "date-time"
605
+ }
606
+ },
607
+ "required": [
608
+ "id",
609
+ "channel",
610
+ "destination",
611
+ "purpose",
612
+ "status",
613
+ "expiresAt",
614
+ "verifiedAt",
615
+ "createdAt",
616
+ "updatedAt"
617
+ ]
618
+ }
619
+ },
620
+ "required": [
621
+ "data"
622
+ ]
623
+ }
624
+ }
625
+ }
626
+ },
627
+ "400": {
628
+ "description": "Malformed verification request",
629
+ "content": {
630
+ "application/json": {
631
+ "schema": {
632
+ "type": "object",
633
+ "properties": {
634
+ "error": {
635
+ "type": "string"
636
+ },
637
+ "code": {
638
+ "type": "string"
639
+ }
640
+ },
641
+ "required": [
642
+ "error"
643
+ ]
644
+ }
645
+ }
646
+ }
647
+ },
648
+ "404": {
649
+ "description": "Verification challenge not found",
650
+ "content": {
651
+ "application/json": {
652
+ "schema": {
653
+ "type": "object",
654
+ "properties": {
655
+ "error": {
656
+ "type": "string"
657
+ },
658
+ "code": {
659
+ "type": "string"
660
+ }
661
+ },
662
+ "required": [
663
+ "error"
664
+ ]
665
+ }
666
+ }
667
+ }
668
+ },
669
+ "409": {
670
+ "description": "Verification code is invalid or the attempt failed",
671
+ "content": {
672
+ "application/json": {
673
+ "schema": {
674
+ "type": "object",
675
+ "properties": {
676
+ "error": {
677
+ "type": "string"
678
+ },
679
+ "code": {
680
+ "type": "string"
681
+ }
682
+ },
683
+ "required": [
684
+ "error"
685
+ ]
686
+ }
687
+ }
688
+ }
689
+ },
690
+ "410": {
691
+ "description": "Verification challenge has expired",
692
+ "content": {
693
+ "application/json": {
694
+ "schema": {
695
+ "type": "object",
696
+ "properties": {
697
+ "error": {
698
+ "type": "string"
699
+ },
700
+ "code": {
701
+ "type": "string"
702
+ }
703
+ },
704
+ "required": [
705
+ "error"
706
+ ]
707
+ }
708
+ }
709
+ }
710
+ }
711
+ }
712
+ }
713
+ },
714
+ "/v1/public/storefront-verification/sms/confirm": {
715
+ "post": {
716
+ "requestBody": {
717
+ "required": true,
718
+ "content": {
719
+ "application/json": {
720
+ "schema": {
721
+ "type": "object",
722
+ "properties": {
723
+ "phone": {
724
+ "type": "string",
725
+ "minLength": 6,
726
+ "maxLength": 32
727
+ },
728
+ "code": {
729
+ "type": "string",
730
+ "pattern": "^\\d{4,8}$"
731
+ },
732
+ "purpose": {
733
+ "type": "string",
734
+ "minLength": 1,
735
+ "maxLength": 100,
736
+ "default": "contact_confirmation"
737
+ }
738
+ },
739
+ "required": [
740
+ "phone",
741
+ "code"
742
+ ]
743
+ }
744
+ }
745
+ }
746
+ },
747
+ "responses": {
748
+ "200": {
749
+ "description": "The SMS verification challenge was confirmed",
750
+ "content": {
751
+ "application/json": {
752
+ "schema": {
753
+ "type": "object",
754
+ "properties": {
755
+ "data": {
756
+ "type": "object",
757
+ "properties": {
758
+ "id": {
759
+ "type": "string"
760
+ },
761
+ "channel": {
762
+ "type": "string",
763
+ "enum": [
764
+ "email",
765
+ "sms"
766
+ ]
767
+ },
768
+ "destination": {
769
+ "type": "string"
770
+ },
771
+ "purpose": {
772
+ "type": "string"
773
+ },
774
+ "status": {
775
+ "type": "string",
776
+ "enum": [
777
+ "verified"
778
+ ]
779
+ },
780
+ "expiresAt": {
781
+ "type": "string",
782
+ "format": "date-time"
783
+ },
784
+ "verifiedAt": {
785
+ "type": [
786
+ "string",
787
+ "null"
788
+ ],
789
+ "format": "date-time"
790
+ },
791
+ "createdAt": {
792
+ "type": "string",
793
+ "format": "date-time"
794
+ },
795
+ "updatedAt": {
796
+ "type": "string",
797
+ "format": "date-time"
798
+ }
799
+ },
800
+ "required": [
801
+ "id",
802
+ "channel",
803
+ "destination",
804
+ "purpose",
805
+ "status",
806
+ "expiresAt",
807
+ "verifiedAt",
808
+ "createdAt",
809
+ "updatedAt"
810
+ ]
811
+ }
812
+ },
813
+ "required": [
814
+ "data"
815
+ ]
816
+ }
817
+ }
818
+ }
819
+ },
820
+ "400": {
821
+ "description": "Malformed verification request",
822
+ "content": {
823
+ "application/json": {
824
+ "schema": {
825
+ "type": "object",
826
+ "properties": {
827
+ "error": {
828
+ "type": "string"
829
+ },
830
+ "code": {
831
+ "type": "string"
832
+ }
833
+ },
834
+ "required": [
835
+ "error"
836
+ ]
837
+ }
838
+ }
839
+ }
840
+ },
841
+ "404": {
842
+ "description": "Verification challenge not found",
843
+ "content": {
844
+ "application/json": {
845
+ "schema": {
846
+ "type": "object",
847
+ "properties": {
848
+ "error": {
849
+ "type": "string"
850
+ },
851
+ "code": {
852
+ "type": "string"
853
+ }
854
+ },
855
+ "required": [
856
+ "error"
857
+ ]
858
+ }
859
+ }
860
+ }
861
+ },
862
+ "409": {
863
+ "description": "Verification code is invalid or the attempt failed",
864
+ "content": {
865
+ "application/json": {
866
+ "schema": {
867
+ "type": "object",
868
+ "properties": {
869
+ "error": {
870
+ "type": "string"
871
+ },
872
+ "code": {
873
+ "type": "string"
874
+ }
875
+ },
876
+ "required": [
877
+ "error"
878
+ ]
879
+ }
880
+ }
881
+ }
882
+ },
883
+ "410": {
884
+ "description": "Verification challenge has expired",
885
+ "content": {
886
+ "application/json": {
887
+ "schema": {
888
+ "type": "object",
889
+ "properties": {
890
+ "error": {
891
+ "type": "string"
892
+ },
893
+ "code": {
894
+ "type": "string"
895
+ }
896
+ },
897
+ "required": [
898
+ "error"
899
+ ]
900
+ }
901
+ }
902
+ }
903
+ }
904
+ }
905
+ }
906
+ }
907
+ },
908
+ "webhooks": {}
909
+ }