@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,690 @@
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/admin/catalog/search": {
152
+ "post": {
153
+ "requestBody": {
154
+ "required": true,
155
+ "content": {
156
+ "application/json": {
157
+ "schema": {
158
+ "type": "object",
159
+ "properties": {
160
+ "vertical": {
161
+ "type": "string",
162
+ "minLength": 1
163
+ },
164
+ "query": {
165
+ "type": "string"
166
+ },
167
+ "mode": {
168
+ "type": "string",
169
+ "enum": [
170
+ "keyword",
171
+ "semantic",
172
+ "hybrid"
173
+ ]
174
+ },
175
+ "sort": {
176
+ "type": "string",
177
+ "enum": [
178
+ "relevance",
179
+ "price-asc",
180
+ "price-desc",
181
+ "departure-asc",
182
+ "newest"
183
+ ]
184
+ },
185
+ "projection": {
186
+ "type": "string",
187
+ "enum": [
188
+ "raw",
189
+ "storefront-card"
190
+ ]
191
+ },
192
+ "filters": {
193
+ "type": "array",
194
+ "items": {
195
+ "$ref": "#/components/schemas/CatalogSearchFilter"
196
+ }
197
+ },
198
+ "facets": {
199
+ "type": "array",
200
+ "items": {
201
+ "type": "object",
202
+ "properties": {
203
+ "field": {
204
+ "type": "string",
205
+ "minLength": 1
206
+ },
207
+ "limit": {
208
+ "type": "integer",
209
+ "exclusiveMinimum": 0
210
+ }
211
+ },
212
+ "required": [
213
+ "field"
214
+ ]
215
+ }
216
+ },
217
+ "pagination": {
218
+ "type": "object",
219
+ "properties": {
220
+ "limit": {
221
+ "type": "integer",
222
+ "exclusiveMinimum": 0
223
+ },
224
+ "cursor": {
225
+ "type": "string"
226
+ }
227
+ }
228
+ },
229
+ "alpha": {
230
+ "type": "number"
231
+ },
232
+ "distance_threshold": {
233
+ "type": "number"
234
+ },
235
+ "query_embedding": {
236
+ "type": "array",
237
+ "items": {
238
+ "type": "number"
239
+ }
240
+ },
241
+ "market": {
242
+ "type": "string",
243
+ "minLength": 1
244
+ },
245
+ "locale": {
246
+ "type": "string",
247
+ "minLength": 1
248
+ }
249
+ }
250
+ }
251
+ }
252
+ }
253
+ },
254
+ "responses": {
255
+ "200": {
256
+ "description": "Search results for the requested vertical slice",
257
+ "content": {
258
+ "application/json": {
259
+ "schema": {
260
+ "type": "object",
261
+ "properties": {
262
+ "vertical": {
263
+ "type": "string"
264
+ },
265
+ "mode": {
266
+ "type": "string",
267
+ "enum": [
268
+ "keyword",
269
+ "semantic",
270
+ "hybrid"
271
+ ]
272
+ },
273
+ "total": {
274
+ "type": "number"
275
+ },
276
+ "hits": {
277
+ "type": "array",
278
+ "items": {
279
+ "type": "object",
280
+ "properties": {
281
+ "id": {
282
+ "type": "string"
283
+ },
284
+ "score": {
285
+ "type": "number"
286
+ },
287
+ "document": {
288
+ "type": "object",
289
+ "properties": {
290
+ "id": {
291
+ "type": "string"
292
+ },
293
+ "fields": {
294
+ "type": "object",
295
+ "additionalProperties": {}
296
+ },
297
+ "embeddings": {
298
+ "type": "object",
299
+ "additionalProperties": {
300
+ "type": "array",
301
+ "items": {
302
+ "type": "number"
303
+ }
304
+ }
305
+ },
306
+ "embedding_model_id": {
307
+ "type": "string"
308
+ }
309
+ },
310
+ "required": [
311
+ "id",
312
+ "fields"
313
+ ]
314
+ }
315
+ },
316
+ "required": [
317
+ "id",
318
+ "score",
319
+ "document"
320
+ ]
321
+ }
322
+ },
323
+ "cards": {
324
+ "type": "array",
325
+ "items": {
326
+ "type": "object",
327
+ "properties": {
328
+ "id": {
329
+ "type": "string"
330
+ },
331
+ "name": {
332
+ "type": [
333
+ "string",
334
+ "null"
335
+ ]
336
+ },
337
+ "slug": {
338
+ "type": [
339
+ "string",
340
+ "null"
341
+ ]
342
+ },
343
+ "primaryCategory": {
344
+ "type": [
345
+ "object",
346
+ "null"
347
+ ],
348
+ "properties": {
349
+ "id": {
350
+ "type": [
351
+ "string",
352
+ "null"
353
+ ]
354
+ },
355
+ "name": {
356
+ "type": [
357
+ "string",
358
+ "null"
359
+ ]
360
+ },
361
+ "slug": {
362
+ "type": [
363
+ "string",
364
+ "null"
365
+ ]
366
+ }
367
+ },
368
+ "required": [
369
+ "id",
370
+ "name",
371
+ "slug"
372
+ ]
373
+ },
374
+ "media": {
375
+ "type": "object",
376
+ "properties": {
377
+ "thumbnailUrl": {
378
+ "type": [
379
+ "string",
380
+ "null"
381
+ ]
382
+ },
383
+ "coverMediaUrl": {
384
+ "type": [
385
+ "string",
386
+ "null"
387
+ ]
388
+ }
389
+ },
390
+ "required": [
391
+ "thumbnailUrl",
392
+ "coverMediaUrl"
393
+ ]
394
+ },
395
+ "priceFrom": {
396
+ "type": [
397
+ "object",
398
+ "null"
399
+ ],
400
+ "properties": {
401
+ "amountCents": {
402
+ "type": "number"
403
+ },
404
+ "currency": {
405
+ "type": [
406
+ "string",
407
+ "null"
408
+ ]
409
+ },
410
+ "originalAmountCents": {
411
+ "type": [
412
+ "number",
413
+ "null"
414
+ ]
415
+ }
416
+ },
417
+ "required": [
418
+ "amountCents",
419
+ "currency",
420
+ "originalAmountCents"
421
+ ]
422
+ },
423
+ "offerBadges": {
424
+ "type": "array",
425
+ "items": {
426
+ "type": "object",
427
+ "properties": {
428
+ "id": {
429
+ "type": [
430
+ "string",
431
+ "null"
432
+ ]
433
+ },
434
+ "name": {
435
+ "type": [
436
+ "string",
437
+ "null"
438
+ ]
439
+ },
440
+ "discountKind": {
441
+ "type": [
442
+ "string",
443
+ "null"
444
+ ]
445
+ },
446
+ "discountPercent": {
447
+ "type": [
448
+ "number",
449
+ "null"
450
+ ]
451
+ },
452
+ "discountAmountCents": {
453
+ "type": [
454
+ "number",
455
+ "null"
456
+ ]
457
+ },
458
+ "minPax": {
459
+ "type": [
460
+ "number",
461
+ "null"
462
+ ]
463
+ }
464
+ },
465
+ "required": [
466
+ "id",
467
+ "name",
468
+ "discountKind",
469
+ "discountPercent",
470
+ "discountAmountCents"
471
+ ]
472
+ }
473
+ },
474
+ "departures": {
475
+ "type": "object",
476
+ "properties": {
477
+ "upcomingCount": {
478
+ "type": [
479
+ "number",
480
+ "null"
481
+ ]
482
+ },
483
+ "nextDepartureAt": {
484
+ "type": [
485
+ "string",
486
+ "null"
487
+ ]
488
+ },
489
+ "nextDepartureDate": {
490
+ "type": [
491
+ "string",
492
+ "null"
493
+ ]
494
+ },
495
+ "months": {
496
+ "type": "array",
497
+ "items": {
498
+ "type": "string"
499
+ }
500
+ },
501
+ "dates": {
502
+ "type": "array",
503
+ "items": {
504
+ "type": "string"
505
+ }
506
+ }
507
+ },
508
+ "required": [
509
+ "upcomingCount",
510
+ "nextDepartureAt",
511
+ "nextDepartureDate",
512
+ "months",
513
+ "dates"
514
+ ]
515
+ },
516
+ "destinations": {
517
+ "type": "object",
518
+ "properties": {
519
+ "regions": {
520
+ "type": "array",
521
+ "items": {
522
+ "type": "string"
523
+ }
524
+ },
525
+ "countries": {
526
+ "type": "array",
527
+ "items": {
528
+ "type": "string"
529
+ }
530
+ },
531
+ "cities": {
532
+ "type": "array",
533
+ "items": {
534
+ "type": "string"
535
+ }
536
+ },
537
+ "ids": {
538
+ "type": "array",
539
+ "items": {
540
+ "type": "string"
541
+ }
542
+ },
543
+ "slugs": {
544
+ "type": "array",
545
+ "items": {
546
+ "type": "string"
547
+ }
548
+ }
549
+ },
550
+ "required": [
551
+ "regions",
552
+ "countries",
553
+ "cities",
554
+ "ids",
555
+ "slugs"
556
+ ]
557
+ },
558
+ "coordinates": {
559
+ "type": [
560
+ "object",
561
+ "null"
562
+ ],
563
+ "properties": {
564
+ "latitude": {
565
+ "type": "number"
566
+ },
567
+ "longitude": {
568
+ "type": "number"
569
+ }
570
+ },
571
+ "required": [
572
+ "latitude",
573
+ "longitude"
574
+ ]
575
+ }
576
+ },
577
+ "required": [
578
+ "id",
579
+ "name",
580
+ "slug",
581
+ "primaryCategory",
582
+ "media",
583
+ "priceFrom",
584
+ "offerBadges",
585
+ "departures",
586
+ "destinations",
587
+ "coordinates"
588
+ ]
589
+ }
590
+ },
591
+ "facets": {
592
+ "type": "object",
593
+ "additionalProperties": {
594
+ "type": "array",
595
+ "items": {
596
+ "type": "object",
597
+ "properties": {
598
+ "value": {
599
+ "anyOf": [
600
+ {
601
+ "type": "string"
602
+ },
603
+ {
604
+ "type": "number"
605
+ }
606
+ ]
607
+ },
608
+ "count": {
609
+ "type": "number"
610
+ }
611
+ },
612
+ "required": [
613
+ "value",
614
+ "count"
615
+ ]
616
+ }
617
+ }
618
+ }
619
+ },
620
+ "required": [
621
+ "vertical",
622
+ "mode",
623
+ "total",
624
+ "hits",
625
+ "facets"
626
+ ]
627
+ }
628
+ }
629
+ }
630
+ },
631
+ "400": {
632
+ "description": "invalid_request — body failed validation, or `vertical` is missing",
633
+ "content": {
634
+ "application/json": {
635
+ "schema": {
636
+ "type": "object",
637
+ "properties": {
638
+ "error": {
639
+ "type": "string"
640
+ }
641
+ },
642
+ "required": [
643
+ "error"
644
+ ]
645
+ }
646
+ }
647
+ }
648
+ },
649
+ "500": {
650
+ "description": "Search execution failed",
651
+ "content": {
652
+ "application/json": {
653
+ "schema": {
654
+ "type": "object",
655
+ "properties": {
656
+ "error": {
657
+ "type": "string"
658
+ }
659
+ },
660
+ "required": [
661
+ "error"
662
+ ]
663
+ }
664
+ }
665
+ }
666
+ },
667
+ "503": {
668
+ "description": "Search indexer is not configured for this deployment",
669
+ "content": {
670
+ "application/json": {
671
+ "schema": {
672
+ "type": "object",
673
+ "properties": {
674
+ "error": {
675
+ "type": "string"
676
+ }
677
+ },
678
+ "required": [
679
+ "error"
680
+ ]
681
+ }
682
+ }
683
+ }
684
+ }
685
+ }
686
+ }
687
+ }
688
+ },
689
+ "webhooks": {}
690
+ }