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