@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,585 @@
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/pricing/products/{productId}/pricing": {
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": "catalogId",
168
+ "in": "query"
169
+ },
170
+ {
171
+ "schema": {
172
+ "type": "string"
173
+ },
174
+ "required": false,
175
+ "name": "optionId",
176
+ "in": "query"
177
+ },
178
+ {
179
+ "schema": {
180
+ "type": "string",
181
+ "format": "date"
182
+ },
183
+ "required": false,
184
+ "name": "date",
185
+ "in": "query"
186
+ },
187
+ {
188
+ "schema": {
189
+ "type": "string"
190
+ },
191
+ "required": false,
192
+ "name": "departureId",
193
+ "in": "query"
194
+ }
195
+ ],
196
+ "responses": {
197
+ "200": {
198
+ "description": "Public pricing snapshot for a product",
199
+ "content": {
200
+ "application/json": {
201
+ "schema": {
202
+ "type": "object",
203
+ "properties": {
204
+ "data": {
205
+ "type": "object",
206
+ "properties": {
207
+ "productId": {
208
+ "type": "string"
209
+ },
210
+ "catalog": {
211
+ "type": "object",
212
+ "properties": {
213
+ "id": {
214
+ "type": "string"
215
+ },
216
+ "code": {
217
+ "type": "string"
218
+ },
219
+ "name": {
220
+ "type": "string"
221
+ },
222
+ "currencyCode": {
223
+ "type": [
224
+ "string",
225
+ "null"
226
+ ]
227
+ }
228
+ },
229
+ "required": [
230
+ "id",
231
+ "code",
232
+ "name",
233
+ "currencyCode"
234
+ ]
235
+ },
236
+ "options": {
237
+ "type": "array",
238
+ "items": {
239
+ "type": "object",
240
+ "properties": {
241
+ "id": {
242
+ "type": "string"
243
+ },
244
+ "name": {
245
+ "type": "string"
246
+ },
247
+ "description": {
248
+ "type": [
249
+ "string",
250
+ "null"
251
+ ]
252
+ },
253
+ "status": {
254
+ "type": "string",
255
+ "enum": [
256
+ "draft",
257
+ "active",
258
+ "archived"
259
+ ]
260
+ },
261
+ "isDefault": {
262
+ "type": "boolean"
263
+ },
264
+ "bookingMode": {
265
+ "type": "string",
266
+ "enum": [
267
+ "date",
268
+ "date_time",
269
+ "open",
270
+ "stay",
271
+ "transfer",
272
+ "itinerary",
273
+ "other"
274
+ ]
275
+ },
276
+ "capacityMode": {
277
+ "type": "string",
278
+ "enum": [
279
+ "free_sale",
280
+ "limited",
281
+ "on_request"
282
+ ]
283
+ },
284
+ "pricingRules": {
285
+ "type": "array",
286
+ "items": {
287
+ "type": "object",
288
+ "properties": {
289
+ "id": {
290
+ "type": "string"
291
+ },
292
+ "name": {
293
+ "type": "string"
294
+ },
295
+ "description": {
296
+ "type": [
297
+ "string",
298
+ "null"
299
+ ]
300
+ },
301
+ "pricingMode": {
302
+ "type": "string",
303
+ "enum": [
304
+ "per_person",
305
+ "per_booking",
306
+ "starting_from",
307
+ "free",
308
+ "on_request"
309
+ ]
310
+ },
311
+ "baseSellAmountCents": {
312
+ "type": [
313
+ "integer",
314
+ "null"
315
+ ]
316
+ },
317
+ "minPerBooking": {
318
+ "type": [
319
+ "integer",
320
+ "null"
321
+ ]
322
+ },
323
+ "maxPerBooking": {
324
+ "type": [
325
+ "integer",
326
+ "null"
327
+ ]
328
+ },
329
+ "isDefault": {
330
+ "type": "boolean"
331
+ },
332
+ "cancellationPolicyId": {
333
+ "type": [
334
+ "string",
335
+ "null"
336
+ ]
337
+ },
338
+ "unitPrices": {
339
+ "type": "array",
340
+ "items": {
341
+ "type": "object",
342
+ "properties": {
343
+ "id": {
344
+ "type": "string"
345
+ },
346
+ "unitId": {
347
+ "type": "string"
348
+ },
349
+ "unitName": {
350
+ "type": "string"
351
+ },
352
+ "unitType": {
353
+ "type": "string",
354
+ "enum": [
355
+ "person",
356
+ "group",
357
+ "room",
358
+ "vehicle",
359
+ "service",
360
+ "other"
361
+ ]
362
+ },
363
+ "pricingMode": {
364
+ "type": "string",
365
+ "enum": [
366
+ "per_unit",
367
+ "per_person",
368
+ "per_booking",
369
+ "included",
370
+ "free",
371
+ "on_request"
372
+ ]
373
+ },
374
+ "sellAmountCents": {
375
+ "type": [
376
+ "integer",
377
+ "null"
378
+ ]
379
+ },
380
+ "minQuantity": {
381
+ "type": [
382
+ "integer",
383
+ "null"
384
+ ]
385
+ },
386
+ "maxQuantity": {
387
+ "type": [
388
+ "integer",
389
+ "null"
390
+ ]
391
+ },
392
+ "pricingCategoryId": {
393
+ "type": [
394
+ "string",
395
+ "null"
396
+ ]
397
+ },
398
+ "sortOrder": {
399
+ "type": "integer"
400
+ },
401
+ "tiers": {
402
+ "type": "array",
403
+ "items": {
404
+ "type": "object",
405
+ "properties": {
406
+ "id": {
407
+ "type": "string"
408
+ },
409
+ "minQuantity": {
410
+ "type": "integer"
411
+ },
412
+ "maxQuantity": {
413
+ "type": [
414
+ "integer",
415
+ "null"
416
+ ]
417
+ },
418
+ "sellAmountCents": {
419
+ "type": [
420
+ "integer",
421
+ "null"
422
+ ]
423
+ },
424
+ "sortOrder": {
425
+ "type": "integer"
426
+ }
427
+ },
428
+ "required": [
429
+ "id",
430
+ "minQuantity",
431
+ "maxQuantity",
432
+ "sellAmountCents",
433
+ "sortOrder"
434
+ ]
435
+ }
436
+ }
437
+ },
438
+ "required": [
439
+ "id",
440
+ "unitId",
441
+ "unitName",
442
+ "unitType",
443
+ "pricingMode",
444
+ "sellAmountCents",
445
+ "minQuantity",
446
+ "maxQuantity",
447
+ "pricingCategoryId",
448
+ "sortOrder",
449
+ "tiers"
450
+ ]
451
+ }
452
+ },
453
+ "startTimeAdjustments": {
454
+ "type": "array",
455
+ "items": {
456
+ "type": "object",
457
+ "properties": {
458
+ "id": {
459
+ "type": "string"
460
+ },
461
+ "startTimeId": {
462
+ "type": "string"
463
+ },
464
+ "label": {
465
+ "type": [
466
+ "string",
467
+ "null"
468
+ ]
469
+ },
470
+ "startTimeLocal": {
471
+ "type": "string"
472
+ },
473
+ "ruleMode": {
474
+ "type": "string",
475
+ "enum": [
476
+ "included",
477
+ "excluded",
478
+ "override",
479
+ "adjustment"
480
+ ]
481
+ },
482
+ "adjustmentType": {
483
+ "type": [
484
+ "string",
485
+ "null"
486
+ ],
487
+ "enum": [
488
+ "fixed",
489
+ "percentage",
490
+ null
491
+ ]
492
+ },
493
+ "sellAdjustmentCents": {
494
+ "type": [
495
+ "integer",
496
+ "null"
497
+ ]
498
+ },
499
+ "adjustmentBasisPoints": {
500
+ "type": [
501
+ "integer",
502
+ "null"
503
+ ]
504
+ }
505
+ },
506
+ "required": [
507
+ "id",
508
+ "startTimeId",
509
+ "label",
510
+ "startTimeLocal",
511
+ "ruleMode",
512
+ "adjustmentType",
513
+ "sellAdjustmentCents",
514
+ "adjustmentBasisPoints"
515
+ ]
516
+ }
517
+ }
518
+ },
519
+ "required": [
520
+ "id",
521
+ "name",
522
+ "description",
523
+ "pricingMode",
524
+ "baseSellAmountCents",
525
+ "minPerBooking",
526
+ "maxPerBooking",
527
+ "isDefault",
528
+ "cancellationPolicyId",
529
+ "unitPrices",
530
+ "startTimeAdjustments"
531
+ ]
532
+ }
533
+ }
534
+ },
535
+ "required": [
536
+ "id",
537
+ "name",
538
+ "description",
539
+ "status",
540
+ "isDefault",
541
+ "bookingMode",
542
+ "capacityMode",
543
+ "pricingRules"
544
+ ]
545
+ }
546
+ }
547
+ },
548
+ "required": [
549
+ "productId",
550
+ "catalog",
551
+ "options"
552
+ ]
553
+ }
554
+ },
555
+ "required": [
556
+ "data"
557
+ ]
558
+ }
559
+ }
560
+ }
561
+ },
562
+ "404": {
563
+ "description": "Product or pricing snapshot not found",
564
+ "content": {
565
+ "application/json": {
566
+ "schema": {
567
+ "type": "object",
568
+ "properties": {
569
+ "error": {
570
+ "type": "string"
571
+ }
572
+ },
573
+ "required": [
574
+ "error"
575
+ ]
576
+ }
577
+ }
578
+ }
579
+ }
580
+ }
581
+ }
582
+ }
583
+ },
584
+ "webhooks": {}
585
+ }