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