@voyant-travel/openapi 0.2.5 → 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 +2552 -276
  27. package/spec/framework-openapi.json +2785 -708
  28. package/spec/framework-storefront.json +252 -451
  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,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
+ }