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