@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
@@ -10959,18 +10959,36 @@
10959
10959
  "id": {
10960
10960
  "type": "string"
10961
10961
  },
10962
+ "source": {
10963
+ "type": "string",
10964
+ "enum": [
10965
+ "payment",
10966
+ "voucher_redemption"
10967
+ ],
10968
+ "default": "payment"
10969
+ },
10962
10970
  "invoiceId": {
10963
- "type": "string"
10971
+ "type": [
10972
+ "string",
10973
+ "null"
10974
+ ]
10964
10975
  },
10965
10976
  "invoiceNumber": {
10966
- "type": "string"
10977
+ "type": [
10978
+ "string",
10979
+ "null"
10980
+ ]
10967
10981
  },
10968
10982
  "invoiceType": {
10969
- "type": "string",
10983
+ "type": [
10984
+ "string",
10985
+ "null"
10986
+ ],
10970
10987
  "enum": [
10971
10988
  "invoice",
10972
10989
  "proforma",
10973
- "credit_note"
10990
+ "credit_note",
10991
+ null
10974
10992
  ]
10975
10993
  },
10976
10994
  "status": {
@@ -36515,6 +36533,162 @@
36515
36533
  }
36516
36534
  }
36517
36535
  }
36536
+ },
36537
+ "/v1/public/operator-profile": {
36538
+ "get": {
36539
+ "responses": {
36540
+ "200": {
36541
+ "description": "The public operator profile (null when unset)",
36542
+ "content": {
36543
+ "application/json": {
36544
+ "schema": {
36545
+ "type": "object",
36546
+ "properties": {
36547
+ "data": {
36548
+ "type": [
36549
+ "object",
36550
+ "null"
36551
+ ],
36552
+ "properties": {
36553
+ "name": {
36554
+ "type": "string"
36555
+ },
36556
+ "legalName": {
36557
+ "type": "string"
36558
+ },
36559
+ "address": {
36560
+ "type": "string"
36561
+ },
36562
+ "phone": {
36563
+ "type": "string"
36564
+ },
36565
+ "email": {
36566
+ "type": "string"
36567
+ },
36568
+ "website": {
36569
+ "type": "string"
36570
+ },
36571
+ "license": {
36572
+ "type": "string"
36573
+ },
36574
+ "licenseAuthority": {
36575
+ "type": "string"
36576
+ },
36577
+ "customerPaymentPolicy": {},
36578
+ "bookingCheckoutUrlTemplate": {
36579
+ "type": [
36580
+ "string",
36581
+ "null"
36582
+ ]
36583
+ },
36584
+ "invoicePayUrlTemplate": {
36585
+ "type": [
36586
+ "string",
36587
+ "null"
36588
+ ]
36589
+ }
36590
+ },
36591
+ "required": [
36592
+ "name",
36593
+ "legalName",
36594
+ "address",
36595
+ "phone",
36596
+ "email",
36597
+ "website",
36598
+ "license",
36599
+ "licenseAuthority",
36600
+ "bookingCheckoutUrlTemplate",
36601
+ "invoicePayUrlTemplate"
36602
+ ]
36603
+ }
36604
+ },
36605
+ "required": [
36606
+ "data"
36607
+ ]
36608
+ }
36609
+ }
36610
+ }
36611
+ }
36612
+ }
36613
+ }
36614
+ },
36615
+ "/v1/public/settings/operator": {
36616
+ "get": {
36617
+ "responses": {
36618
+ "200": {
36619
+ "description": "The public operator settings (null when unset)",
36620
+ "content": {
36621
+ "application/json": {
36622
+ "schema": {
36623
+ "type": "object",
36624
+ "properties": {
36625
+ "data": {
36626
+ "type": [
36627
+ "object",
36628
+ "null"
36629
+ ],
36630
+ "properties": {
36631
+ "name": {
36632
+ "type": "string"
36633
+ },
36634
+ "legalName": {
36635
+ "type": "string"
36636
+ },
36637
+ "address": {
36638
+ "type": "string"
36639
+ },
36640
+ "phone": {
36641
+ "type": "string"
36642
+ },
36643
+ "email": {
36644
+ "type": "string"
36645
+ },
36646
+ "website": {
36647
+ "type": "string"
36648
+ },
36649
+ "license": {
36650
+ "type": "string"
36651
+ },
36652
+ "licenseAuthority": {
36653
+ "type": "string"
36654
+ },
36655
+ "customerPaymentPolicy": {},
36656
+ "bookingCheckoutUrlTemplate": {
36657
+ "type": [
36658
+ "string",
36659
+ "null"
36660
+ ]
36661
+ },
36662
+ "invoicePayUrlTemplate": {
36663
+ "type": [
36664
+ "string",
36665
+ "null"
36666
+ ]
36667
+ }
36668
+ },
36669
+ "required": [
36670
+ "name",
36671
+ "legalName",
36672
+ "address",
36673
+ "phone",
36674
+ "email",
36675
+ "website",
36676
+ "license",
36677
+ "licenseAuthority",
36678
+ "bookingCheckoutUrlTemplate",
36679
+ "invoicePayUrlTemplate"
36680
+ ]
36681
+ }
36682
+ },
36683
+ "required": [
36684
+ "data"
36685
+ ]
36686
+ }
36687
+ }
36688
+ }
36689
+ }
36690
+ }
36691
+ }
36518
36692
  }
36519
36693
  },
36520
36694
  "webhooks": {}
@@ -0,0 +1,367 @@
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/booking-requirements/products/{productId}/transport-requirements": {
152
+ "get": {
153
+ "parameters": [
154
+ {
155
+ "schema": {
156
+ "type": "string"
157
+ },
158
+ "required": true,
159
+ "name": "productId",
160
+ "in": "path"
161
+ },
162
+ {
163
+ "schema": {
164
+ "type": "string"
165
+ },
166
+ "required": false,
167
+ "name": "optionId",
168
+ "in": "query"
169
+ }
170
+ ],
171
+ "responses": {
172
+ "200": {
173
+ "description": "Public transport requirements for a product",
174
+ "content": {
175
+ "application/json": {
176
+ "schema": {
177
+ "type": "object",
178
+ "properties": {
179
+ "data": {
180
+ "type": "object",
181
+ "properties": {
182
+ "productId": {
183
+ "type": "string"
184
+ },
185
+ "optionId": {
186
+ "type": [
187
+ "string",
188
+ "null"
189
+ ]
190
+ },
191
+ "hasTransport": {
192
+ "type": "boolean"
193
+ },
194
+ "requiresPassengerDocuments": {
195
+ "type": "boolean"
196
+ },
197
+ "requiresPassport": {
198
+ "type": "boolean"
199
+ },
200
+ "requiresNationality": {
201
+ "type": "boolean"
202
+ },
203
+ "requiresDateOfBirth": {
204
+ "type": "boolean"
205
+ },
206
+ "requiredFields": {
207
+ "type": "array",
208
+ "items": {
209
+ "type": "string",
210
+ "enum": [
211
+ "date_of_birth",
212
+ "nationality",
213
+ "passport_number",
214
+ "passport_expiry"
215
+ ]
216
+ }
217
+ },
218
+ "fieldsByScope": {
219
+ "type": "object",
220
+ "properties": {
221
+ "booking": {
222
+ "type": "array",
223
+ "items": {
224
+ "type": "string",
225
+ "enum": [
226
+ "date_of_birth",
227
+ "nationality",
228
+ "passport_number",
229
+ "passport_expiry"
230
+ ]
231
+ }
232
+ },
233
+ "lead_traveler": {
234
+ "type": "array",
235
+ "items": {
236
+ "type": "string",
237
+ "enum": [
238
+ "date_of_birth",
239
+ "nationality",
240
+ "passport_number",
241
+ "passport_expiry"
242
+ ]
243
+ }
244
+ },
245
+ "traveler": {
246
+ "type": "array",
247
+ "items": {
248
+ "type": "string",
249
+ "enum": [
250
+ "date_of_birth",
251
+ "nationality",
252
+ "passport_number",
253
+ "passport_expiry"
254
+ ]
255
+ }
256
+ },
257
+ "booker": {
258
+ "type": "array",
259
+ "items": {
260
+ "type": "string",
261
+ "enum": [
262
+ "date_of_birth",
263
+ "nationality",
264
+ "passport_number",
265
+ "passport_expiry"
266
+ ]
267
+ }
268
+ }
269
+ },
270
+ "required": [
271
+ "booking",
272
+ "lead_traveler",
273
+ "traveler",
274
+ "booker"
275
+ ]
276
+ },
277
+ "requirements": {
278
+ "type": "array",
279
+ "items": {
280
+ "type": "object",
281
+ "properties": {
282
+ "fieldKey": {
283
+ "type": "string",
284
+ "enum": [
285
+ "date_of_birth",
286
+ "nationality",
287
+ "passport_number",
288
+ "passport_expiry"
289
+ ]
290
+ },
291
+ "scope": {
292
+ "type": "string",
293
+ "enum": [
294
+ "booking",
295
+ "lead_traveler",
296
+ "traveler",
297
+ "booker"
298
+ ]
299
+ },
300
+ "isRequired": {
301
+ "type": "boolean"
302
+ },
303
+ "perTraveler": {
304
+ "type": "boolean"
305
+ },
306
+ "notes": {
307
+ "type": [
308
+ "string",
309
+ "null"
310
+ ]
311
+ }
312
+ },
313
+ "required": [
314
+ "fieldKey",
315
+ "scope",
316
+ "isRequired",
317
+ "perTraveler",
318
+ "notes"
319
+ ]
320
+ }
321
+ }
322
+ },
323
+ "required": [
324
+ "productId",
325
+ "optionId",
326
+ "hasTransport",
327
+ "requiresPassengerDocuments",
328
+ "requiresPassport",
329
+ "requiresNationality",
330
+ "requiresDateOfBirth",
331
+ "requiredFields",
332
+ "fieldsByScope",
333
+ "requirements"
334
+ ]
335
+ }
336
+ },
337
+ "required": [
338
+ "data"
339
+ ]
340
+ }
341
+ }
342
+ }
343
+ },
344
+ "404": {
345
+ "description": "Product not found",
346
+ "content": {
347
+ "application/json": {
348
+ "schema": {
349
+ "type": "object",
350
+ "properties": {
351
+ "error": {
352
+ "type": "string"
353
+ }
354
+ },
355
+ "required": [
356
+ "error"
357
+ ]
358
+ }
359
+ }
360
+ }
361
+ }
362
+ }
363
+ }
364
+ }
365
+ },
366
+ "webhooks": {}
367
+ }