@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,2910 @@
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/products/tags": {
152
+ "get": {
153
+ "parameters": [
154
+ {
155
+ "schema": {
156
+ "type": "string"
157
+ },
158
+ "required": false,
159
+ "name": "search",
160
+ "in": "query"
161
+ },
162
+ {
163
+ "schema": {
164
+ "type": "integer",
165
+ "example": 100
166
+ },
167
+ "required": false,
168
+ "name": "limit",
169
+ "in": "query"
170
+ },
171
+ {
172
+ "schema": {
173
+ "type": [
174
+ "integer",
175
+ "null"
176
+ ],
177
+ "minimum": 0,
178
+ "default": 0
179
+ },
180
+ "required": false,
181
+ "name": "offset",
182
+ "in": "query"
183
+ }
184
+ ],
185
+ "responses": {
186
+ "200": {
187
+ "description": "Paginated list of public catalog tags",
188
+ "content": {
189
+ "application/json": {
190
+ "schema": {
191
+ "type": "object",
192
+ "properties": {
193
+ "data": {
194
+ "type": "array",
195
+ "items": {
196
+ "type": "object",
197
+ "properties": {
198
+ "id": {
199
+ "type": "string"
200
+ },
201
+ "name": {
202
+ "type": "string"
203
+ }
204
+ },
205
+ "required": [
206
+ "id",
207
+ "name"
208
+ ]
209
+ }
210
+ },
211
+ "total": {
212
+ "type": "integer"
213
+ },
214
+ "limit": {
215
+ "type": "integer"
216
+ },
217
+ "offset": {
218
+ "type": "integer"
219
+ }
220
+ },
221
+ "required": [
222
+ "data",
223
+ "total",
224
+ "limit",
225
+ "offset"
226
+ ]
227
+ }
228
+ }
229
+ }
230
+ }
231
+ }
232
+ }
233
+ },
234
+ "/v1/public/products/categories": {
235
+ "get": {
236
+ "parameters": [
237
+ {
238
+ "schema": {
239
+ "type": "string"
240
+ },
241
+ "required": false,
242
+ "name": "search",
243
+ "in": "query"
244
+ },
245
+ {
246
+ "schema": {
247
+ "type": "string"
248
+ },
249
+ "required": false,
250
+ "name": "parentId",
251
+ "in": "query"
252
+ },
253
+ {
254
+ "schema": {
255
+ "type": "integer",
256
+ "example": 100
257
+ },
258
+ "required": false,
259
+ "name": "limit",
260
+ "in": "query"
261
+ },
262
+ {
263
+ "schema": {
264
+ "type": [
265
+ "integer",
266
+ "null"
267
+ ],
268
+ "minimum": 0,
269
+ "default": 0
270
+ },
271
+ "required": false,
272
+ "name": "offset",
273
+ "in": "query"
274
+ }
275
+ ],
276
+ "responses": {
277
+ "200": {
278
+ "description": "Paginated list of public catalog categories",
279
+ "content": {
280
+ "application/json": {
281
+ "schema": {
282
+ "type": "object",
283
+ "properties": {
284
+ "data": {
285
+ "type": "array",
286
+ "items": {
287
+ "type": "object",
288
+ "properties": {
289
+ "id": {
290
+ "type": "string"
291
+ },
292
+ "parentId": {
293
+ "type": [
294
+ "string",
295
+ "null"
296
+ ]
297
+ },
298
+ "name": {
299
+ "type": "string"
300
+ },
301
+ "slug": {
302
+ "type": "string"
303
+ },
304
+ "description": {
305
+ "type": [
306
+ "string",
307
+ "null"
308
+ ]
309
+ },
310
+ "sortOrder": {
311
+ "type": "integer"
312
+ }
313
+ },
314
+ "required": [
315
+ "id",
316
+ "parentId",
317
+ "name",
318
+ "slug",
319
+ "description",
320
+ "sortOrder"
321
+ ]
322
+ }
323
+ },
324
+ "total": {
325
+ "type": "integer"
326
+ },
327
+ "limit": {
328
+ "type": "integer"
329
+ },
330
+ "offset": {
331
+ "type": "integer"
332
+ }
333
+ },
334
+ "required": [
335
+ "data",
336
+ "total",
337
+ "limit",
338
+ "offset"
339
+ ]
340
+ }
341
+ }
342
+ }
343
+ }
344
+ }
345
+ }
346
+ },
347
+ "/v1/public/products/destinations": {
348
+ "get": {
349
+ "parameters": [
350
+ {
351
+ "schema": {
352
+ "type": "string"
353
+ },
354
+ "required": false,
355
+ "name": "search",
356
+ "in": "query"
357
+ },
358
+ {
359
+ "schema": {
360
+ "type": "string"
361
+ },
362
+ "required": false,
363
+ "name": "parentId",
364
+ "in": "query"
365
+ },
366
+ {
367
+ "schema": {
368
+ "type": "string",
369
+ "enum": [
370
+ "0",
371
+ "1",
372
+ "true",
373
+ "false"
374
+ ]
375
+ },
376
+ "required": false,
377
+ "name": "active",
378
+ "in": "query"
379
+ },
380
+ {
381
+ "schema": {
382
+ "type": "string",
383
+ "minLength": 2,
384
+ "maxLength": 35,
385
+ "pattern": "^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})*$"
386
+ },
387
+ "required": false,
388
+ "name": "languageTag",
389
+ "in": "query"
390
+ },
391
+ {
392
+ "schema": {
393
+ "type": "string",
394
+ "enum": [
395
+ "destination",
396
+ "region",
397
+ "country",
398
+ "city",
399
+ "port",
400
+ "river",
401
+ "sea",
402
+ "ocean",
403
+ "canal",
404
+ "lake"
405
+ ]
406
+ },
407
+ "required": false,
408
+ "name": "destinationType",
409
+ "in": "query"
410
+ },
411
+ {
412
+ "schema": {
413
+ "type": "string",
414
+ "minLength": 1,
415
+ "maxLength": 255
416
+ },
417
+ "required": false,
418
+ "name": "canonicalPlaceId",
419
+ "in": "query"
420
+ },
421
+ {
422
+ "schema": {
423
+ "type": "integer",
424
+ "example": 100
425
+ },
426
+ "required": false,
427
+ "name": "limit",
428
+ "in": "query"
429
+ },
430
+ {
431
+ "schema": {
432
+ "type": [
433
+ "integer",
434
+ "null"
435
+ ],
436
+ "minimum": 0,
437
+ "default": 0
438
+ },
439
+ "required": false,
440
+ "name": "offset",
441
+ "in": "query"
442
+ }
443
+ ],
444
+ "responses": {
445
+ "200": {
446
+ "description": "Paginated list of public catalog destinations",
447
+ "content": {
448
+ "application/json": {
449
+ "schema": {
450
+ "type": "object",
451
+ "properties": {
452
+ "data": {
453
+ "type": "array",
454
+ "items": {
455
+ "type": "object",
456
+ "properties": {
457
+ "id": {
458
+ "type": "string"
459
+ },
460
+ "parentId": {
461
+ "type": [
462
+ "string",
463
+ "null"
464
+ ]
465
+ },
466
+ "slug": {
467
+ "type": "string"
468
+ },
469
+ "canonicalPlaceId": {
470
+ "type": [
471
+ "string",
472
+ "null"
473
+ ]
474
+ },
475
+ "name": {
476
+ "type": "string"
477
+ },
478
+ "description": {
479
+ "type": [
480
+ "string",
481
+ "null"
482
+ ]
483
+ },
484
+ "seoTitle": {
485
+ "type": [
486
+ "string",
487
+ "null"
488
+ ]
489
+ },
490
+ "seoDescription": {
491
+ "type": [
492
+ "string",
493
+ "null"
494
+ ]
495
+ },
496
+ "destinationType": {
497
+ "type": "string"
498
+ },
499
+ "latitude": {
500
+ "type": [
501
+ "number",
502
+ "null"
503
+ ]
504
+ },
505
+ "longitude": {
506
+ "type": [
507
+ "number",
508
+ "null"
509
+ ]
510
+ },
511
+ "sortOrder": {
512
+ "type": "integer"
513
+ }
514
+ },
515
+ "required": [
516
+ "id",
517
+ "parentId",
518
+ "slug",
519
+ "canonicalPlaceId",
520
+ "name",
521
+ "description",
522
+ "seoTitle",
523
+ "seoDescription",
524
+ "destinationType",
525
+ "latitude",
526
+ "longitude",
527
+ "sortOrder"
528
+ ]
529
+ }
530
+ },
531
+ "total": {
532
+ "type": "integer"
533
+ },
534
+ "limit": {
535
+ "type": "integer"
536
+ },
537
+ "offset": {
538
+ "type": "integer"
539
+ }
540
+ },
541
+ "required": [
542
+ "data",
543
+ "total",
544
+ "limit",
545
+ "offset"
546
+ ]
547
+ }
548
+ }
549
+ }
550
+ }
551
+ }
552
+ }
553
+ },
554
+ "/v1/public/products": {
555
+ "get": {
556
+ "parameters": [
557
+ {
558
+ "schema": {
559
+ "type": "string"
560
+ },
561
+ "required": false,
562
+ "name": "search",
563
+ "in": "query"
564
+ },
565
+ {
566
+ "schema": {
567
+ "type": "string",
568
+ "minLength": 2,
569
+ "maxLength": 35,
570
+ "pattern": "^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})*$"
571
+ },
572
+ "required": false,
573
+ "name": "languageTag",
574
+ "in": "query"
575
+ },
576
+ {
577
+ "schema": {
578
+ "type": "string",
579
+ "enum": [
580
+ "date",
581
+ "date_time",
582
+ "open",
583
+ "stay",
584
+ "transfer",
585
+ "itinerary",
586
+ "other"
587
+ ]
588
+ },
589
+ "required": false,
590
+ "name": "bookingMode",
591
+ "in": "query"
592
+ },
593
+ {
594
+ "schema": {
595
+ "type": "string",
596
+ "enum": [
597
+ "free_sale",
598
+ "limited",
599
+ "on_request"
600
+ ]
601
+ },
602
+ "required": false,
603
+ "name": "capacityMode",
604
+ "in": "query"
605
+ },
606
+ {
607
+ "schema": {
608
+ "type": "string"
609
+ },
610
+ "required": false,
611
+ "name": "productTypeId",
612
+ "in": "query"
613
+ },
614
+ {
615
+ "schema": {
616
+ "type": "string"
617
+ },
618
+ "required": false,
619
+ "name": "categoryId",
620
+ "in": "query"
621
+ },
622
+ {
623
+ "schema": {
624
+ "type": "string"
625
+ },
626
+ "required": false,
627
+ "name": "tagId",
628
+ "in": "query"
629
+ },
630
+ {
631
+ "schema": {
632
+ "type": "string"
633
+ },
634
+ "required": false,
635
+ "name": "destinationId",
636
+ "in": "query"
637
+ },
638
+ {
639
+ "schema": {
640
+ "type": "string",
641
+ "minLength": 1
642
+ },
643
+ "required": false,
644
+ "name": "destinationSlug",
645
+ "in": "query"
646
+ },
647
+ {
648
+ "schema": {
649
+ "type": "string",
650
+ "minLength": 1
651
+ },
652
+ "required": false,
653
+ "name": "locationTitle",
654
+ "in": "query"
655
+ },
656
+ {
657
+ "schema": {
658
+ "type": "string",
659
+ "minLength": 1
660
+ },
661
+ "required": false,
662
+ "name": "locationCity",
663
+ "in": "query"
664
+ },
665
+ {
666
+ "schema": {
667
+ "type": "string",
668
+ "minLength": 2,
669
+ "maxLength": 3
670
+ },
671
+ "required": false,
672
+ "name": "locationCountryCode",
673
+ "in": "query"
674
+ },
675
+ {
676
+ "schema": {
677
+ "type": "string",
678
+ "enum": [
679
+ "start",
680
+ "end",
681
+ "meeting_point",
682
+ "pickup",
683
+ "dropoff",
684
+ "point_of_interest",
685
+ "other"
686
+ ]
687
+ },
688
+ "required": false,
689
+ "name": "locationType",
690
+ "in": "query"
691
+ },
692
+ {
693
+ "schema": {
694
+ "type": "string",
695
+ "enum": [
696
+ "0",
697
+ "1",
698
+ "true",
699
+ "false"
700
+ ]
701
+ },
702
+ "required": false,
703
+ "name": "featured",
704
+ "in": "query"
705
+ },
706
+ {
707
+ "schema": {
708
+ "type": "string",
709
+ "enum": [
710
+ "name",
711
+ "createdAt",
712
+ "startDate",
713
+ "price"
714
+ ],
715
+ "default": "name"
716
+ },
717
+ "required": false,
718
+ "name": "sort",
719
+ "in": "query"
720
+ },
721
+ {
722
+ "schema": {
723
+ "type": "string",
724
+ "enum": [
725
+ "asc",
726
+ "desc"
727
+ ],
728
+ "default": "asc"
729
+ },
730
+ "required": false,
731
+ "name": "direction",
732
+ "in": "query"
733
+ },
734
+ {
735
+ "schema": {
736
+ "type": "integer",
737
+ "example": 20
738
+ },
739
+ "required": false,
740
+ "name": "limit",
741
+ "in": "query"
742
+ },
743
+ {
744
+ "schema": {
745
+ "type": [
746
+ "integer",
747
+ "null"
748
+ ],
749
+ "minimum": 0,
750
+ "default": 0
751
+ },
752
+ "required": false,
753
+ "name": "offset",
754
+ "in": "query"
755
+ },
756
+ {
757
+ "schema": {
758
+ "type": "string",
759
+ "enum": [
760
+ "0",
761
+ "1",
762
+ "true",
763
+ "false"
764
+ ]
765
+ },
766
+ "required": false,
767
+ "name": "includeContent",
768
+ "in": "query"
769
+ }
770
+ ],
771
+ "responses": {
772
+ "200": {
773
+ "description": "Paginated list of public catalog products",
774
+ "content": {
775
+ "application/json": {
776
+ "schema": {
777
+ "type": "object",
778
+ "properties": {
779
+ "data": {
780
+ "type": "array",
781
+ "items": {
782
+ "type": "object",
783
+ "properties": {
784
+ "id": {
785
+ "type": "string"
786
+ },
787
+ "name": {
788
+ "type": "string"
789
+ },
790
+ "description": {
791
+ "type": [
792
+ "string",
793
+ "null"
794
+ ]
795
+ },
796
+ "inclusionsHtml": {
797
+ "type": [
798
+ "string",
799
+ "null"
800
+ ]
801
+ },
802
+ "exclusionsHtml": {
803
+ "type": [
804
+ "string",
805
+ "null"
806
+ ]
807
+ },
808
+ "termsHtml": {
809
+ "type": [
810
+ "string",
811
+ "null"
812
+ ]
813
+ },
814
+ "contentLanguageTag": {
815
+ "type": [
816
+ "string",
817
+ "null"
818
+ ]
819
+ },
820
+ "slug": {
821
+ "type": [
822
+ "string",
823
+ "null"
824
+ ]
825
+ },
826
+ "shortDescription": {
827
+ "type": [
828
+ "string",
829
+ "null"
830
+ ]
831
+ },
832
+ "seoTitle": {
833
+ "type": [
834
+ "string",
835
+ "null"
836
+ ]
837
+ },
838
+ "seoDescription": {
839
+ "type": [
840
+ "string",
841
+ "null"
842
+ ]
843
+ },
844
+ "bookingMode": {
845
+ "type": "string"
846
+ },
847
+ "capacityMode": {
848
+ "type": "string"
849
+ },
850
+ "visibility": {
851
+ "type": "string"
852
+ },
853
+ "sellCurrency": {
854
+ "type": "string"
855
+ },
856
+ "sellAmountCents": {
857
+ "type": [
858
+ "integer",
859
+ "null"
860
+ ]
861
+ },
862
+ "startDate": {
863
+ "type": [
864
+ "string",
865
+ "null"
866
+ ]
867
+ },
868
+ "endDate": {
869
+ "type": [
870
+ "string",
871
+ "null"
872
+ ]
873
+ },
874
+ "pax": {
875
+ "type": [
876
+ "integer",
877
+ "null"
878
+ ]
879
+ },
880
+ "contractTemplateId": {
881
+ "type": [
882
+ "string",
883
+ "null"
884
+ ]
885
+ },
886
+ "productType": {
887
+ "type": [
888
+ "object",
889
+ "null"
890
+ ],
891
+ "properties": {
892
+ "id": {
893
+ "type": "string"
894
+ },
895
+ "code": {
896
+ "type": "string"
897
+ },
898
+ "name": {
899
+ "type": "string"
900
+ },
901
+ "description": {
902
+ "type": [
903
+ "string",
904
+ "null"
905
+ ]
906
+ }
907
+ },
908
+ "required": [
909
+ "id",
910
+ "code",
911
+ "name",
912
+ "description"
913
+ ]
914
+ },
915
+ "categories": {
916
+ "type": "array",
917
+ "items": {
918
+ "type": "object",
919
+ "properties": {
920
+ "id": {
921
+ "type": "string"
922
+ },
923
+ "parentId": {
924
+ "type": [
925
+ "string",
926
+ "null"
927
+ ]
928
+ },
929
+ "name": {
930
+ "type": "string"
931
+ },
932
+ "slug": {
933
+ "type": "string"
934
+ },
935
+ "description": {
936
+ "type": [
937
+ "string",
938
+ "null"
939
+ ]
940
+ },
941
+ "sortOrder": {
942
+ "type": "integer"
943
+ }
944
+ },
945
+ "required": [
946
+ "id",
947
+ "parentId",
948
+ "name",
949
+ "slug",
950
+ "description",
951
+ "sortOrder"
952
+ ]
953
+ }
954
+ },
955
+ "tags": {
956
+ "type": "array",
957
+ "items": {
958
+ "type": "object",
959
+ "properties": {
960
+ "id": {
961
+ "type": "string"
962
+ },
963
+ "name": {
964
+ "type": "string"
965
+ }
966
+ },
967
+ "required": [
968
+ "id",
969
+ "name"
970
+ ]
971
+ }
972
+ },
973
+ "destinations": {
974
+ "type": "array",
975
+ "items": {
976
+ "type": "object",
977
+ "properties": {
978
+ "id": {
979
+ "type": "string"
980
+ },
981
+ "parentId": {
982
+ "type": [
983
+ "string",
984
+ "null"
985
+ ]
986
+ },
987
+ "slug": {
988
+ "type": "string"
989
+ },
990
+ "canonicalPlaceId": {
991
+ "type": [
992
+ "string",
993
+ "null"
994
+ ]
995
+ },
996
+ "name": {
997
+ "type": "string"
998
+ },
999
+ "description": {
1000
+ "type": [
1001
+ "string",
1002
+ "null"
1003
+ ]
1004
+ },
1005
+ "seoTitle": {
1006
+ "type": [
1007
+ "string",
1008
+ "null"
1009
+ ]
1010
+ },
1011
+ "seoDescription": {
1012
+ "type": [
1013
+ "string",
1014
+ "null"
1015
+ ]
1016
+ },
1017
+ "destinationType": {
1018
+ "type": "string"
1019
+ },
1020
+ "latitude": {
1021
+ "type": [
1022
+ "number",
1023
+ "null"
1024
+ ]
1025
+ },
1026
+ "longitude": {
1027
+ "type": [
1028
+ "number",
1029
+ "null"
1030
+ ]
1031
+ },
1032
+ "sortOrder": {
1033
+ "type": "integer"
1034
+ }
1035
+ },
1036
+ "required": [
1037
+ "id",
1038
+ "parentId",
1039
+ "slug",
1040
+ "canonicalPlaceId",
1041
+ "name",
1042
+ "description",
1043
+ "seoTitle",
1044
+ "seoDescription",
1045
+ "destinationType",
1046
+ "latitude",
1047
+ "longitude",
1048
+ "sortOrder"
1049
+ ]
1050
+ }
1051
+ },
1052
+ "locations": {
1053
+ "type": "array",
1054
+ "items": {
1055
+ "type": "object",
1056
+ "properties": {
1057
+ "id": {
1058
+ "type": "string"
1059
+ },
1060
+ "locationType": {
1061
+ "type": "string"
1062
+ },
1063
+ "title": {
1064
+ "type": "string"
1065
+ },
1066
+ "address": {
1067
+ "type": [
1068
+ "string",
1069
+ "null"
1070
+ ]
1071
+ },
1072
+ "city": {
1073
+ "type": [
1074
+ "string",
1075
+ "null"
1076
+ ]
1077
+ },
1078
+ "countryCode": {
1079
+ "type": [
1080
+ "string",
1081
+ "null"
1082
+ ]
1083
+ },
1084
+ "latitude": {
1085
+ "type": [
1086
+ "number",
1087
+ "null"
1088
+ ]
1089
+ },
1090
+ "longitude": {
1091
+ "type": [
1092
+ "number",
1093
+ "null"
1094
+ ]
1095
+ },
1096
+ "sortOrder": {
1097
+ "type": "integer"
1098
+ }
1099
+ },
1100
+ "required": [
1101
+ "id",
1102
+ "locationType",
1103
+ "title",
1104
+ "address",
1105
+ "city",
1106
+ "countryCode",
1107
+ "latitude",
1108
+ "longitude",
1109
+ "sortOrder"
1110
+ ]
1111
+ }
1112
+ },
1113
+ "capabilities": {
1114
+ "type": "array",
1115
+ "items": {
1116
+ "type": "string"
1117
+ }
1118
+ },
1119
+ "coverMedia": {
1120
+ "type": [
1121
+ "object",
1122
+ "null"
1123
+ ],
1124
+ "properties": {
1125
+ "id": {
1126
+ "type": "string"
1127
+ },
1128
+ "mediaType": {
1129
+ "type": "string"
1130
+ },
1131
+ "name": {
1132
+ "type": "string"
1133
+ },
1134
+ "url": {
1135
+ "type": "string"
1136
+ },
1137
+ "mimeType": {
1138
+ "type": [
1139
+ "string",
1140
+ "null"
1141
+ ]
1142
+ },
1143
+ "altText": {
1144
+ "type": [
1145
+ "string",
1146
+ "null"
1147
+ ]
1148
+ },
1149
+ "sortOrder": {
1150
+ "type": "integer"
1151
+ },
1152
+ "isCover": {
1153
+ "type": "boolean"
1154
+ },
1155
+ "isBrochure": {
1156
+ "type": "boolean"
1157
+ },
1158
+ "isBrochureCurrent": {
1159
+ "type": "boolean"
1160
+ },
1161
+ "brochureVersion": {
1162
+ "type": [
1163
+ "integer",
1164
+ "null"
1165
+ ]
1166
+ }
1167
+ },
1168
+ "required": [
1169
+ "id",
1170
+ "mediaType",
1171
+ "name",
1172
+ "url",
1173
+ "mimeType",
1174
+ "altText",
1175
+ "sortOrder",
1176
+ "isCover",
1177
+ "isBrochure",
1178
+ "isBrochureCurrent",
1179
+ "brochureVersion"
1180
+ ]
1181
+ },
1182
+ "isFeatured": {
1183
+ "type": "boolean"
1184
+ },
1185
+ "media": {
1186
+ "type": "array",
1187
+ "items": {
1188
+ "type": "object",
1189
+ "properties": {
1190
+ "id": {
1191
+ "type": "string"
1192
+ },
1193
+ "mediaType": {
1194
+ "type": "string"
1195
+ },
1196
+ "name": {
1197
+ "type": "string"
1198
+ },
1199
+ "url": {
1200
+ "type": "string"
1201
+ },
1202
+ "mimeType": {
1203
+ "type": [
1204
+ "string",
1205
+ "null"
1206
+ ]
1207
+ },
1208
+ "altText": {
1209
+ "type": [
1210
+ "string",
1211
+ "null"
1212
+ ]
1213
+ },
1214
+ "sortOrder": {
1215
+ "type": "integer"
1216
+ },
1217
+ "isCover": {
1218
+ "type": "boolean"
1219
+ },
1220
+ "isBrochure": {
1221
+ "type": "boolean"
1222
+ },
1223
+ "isBrochureCurrent": {
1224
+ "type": "boolean"
1225
+ },
1226
+ "brochureVersion": {
1227
+ "type": [
1228
+ "integer",
1229
+ "null"
1230
+ ]
1231
+ }
1232
+ },
1233
+ "required": [
1234
+ "id",
1235
+ "mediaType",
1236
+ "name",
1237
+ "url",
1238
+ "mimeType",
1239
+ "altText",
1240
+ "sortOrder",
1241
+ "isCover",
1242
+ "isBrochure",
1243
+ "isBrochureCurrent",
1244
+ "brochureVersion"
1245
+ ]
1246
+ }
1247
+ },
1248
+ "brochure": {
1249
+ "type": [
1250
+ "object",
1251
+ "null"
1252
+ ],
1253
+ "properties": {
1254
+ "id": {
1255
+ "type": "string"
1256
+ },
1257
+ "mediaType": {
1258
+ "type": "string"
1259
+ },
1260
+ "name": {
1261
+ "type": "string"
1262
+ },
1263
+ "url": {
1264
+ "type": "string"
1265
+ },
1266
+ "mimeType": {
1267
+ "type": [
1268
+ "string",
1269
+ "null"
1270
+ ]
1271
+ },
1272
+ "altText": {
1273
+ "type": [
1274
+ "string",
1275
+ "null"
1276
+ ]
1277
+ },
1278
+ "sortOrder": {
1279
+ "type": "integer"
1280
+ },
1281
+ "isCover": {
1282
+ "type": "boolean"
1283
+ },
1284
+ "isBrochure": {
1285
+ "type": "boolean"
1286
+ },
1287
+ "isBrochureCurrent": {
1288
+ "type": "boolean"
1289
+ },
1290
+ "brochureVersion": {
1291
+ "type": [
1292
+ "integer",
1293
+ "null"
1294
+ ]
1295
+ }
1296
+ },
1297
+ "required": [
1298
+ "id",
1299
+ "mediaType",
1300
+ "name",
1301
+ "url",
1302
+ "mimeType",
1303
+ "altText",
1304
+ "sortOrder",
1305
+ "isCover",
1306
+ "isBrochure",
1307
+ "isBrochureCurrent",
1308
+ "brochureVersion"
1309
+ ]
1310
+ },
1311
+ "features": {
1312
+ "type": "array",
1313
+ "items": {
1314
+ "type": "object",
1315
+ "properties": {
1316
+ "id": {
1317
+ "type": "string"
1318
+ },
1319
+ "featureType": {
1320
+ "type": "string"
1321
+ },
1322
+ "title": {
1323
+ "type": "string"
1324
+ },
1325
+ "description": {
1326
+ "type": [
1327
+ "string",
1328
+ "null"
1329
+ ]
1330
+ },
1331
+ "sortOrder": {
1332
+ "type": "integer"
1333
+ }
1334
+ },
1335
+ "required": [
1336
+ "id",
1337
+ "featureType",
1338
+ "title",
1339
+ "description",
1340
+ "sortOrder"
1341
+ ]
1342
+ }
1343
+ },
1344
+ "faqs": {
1345
+ "type": "array",
1346
+ "items": {
1347
+ "type": "object",
1348
+ "properties": {
1349
+ "id": {
1350
+ "type": "string"
1351
+ },
1352
+ "question": {
1353
+ "type": "string"
1354
+ },
1355
+ "answer": {
1356
+ "type": "string"
1357
+ },
1358
+ "sortOrder": {
1359
+ "type": "integer"
1360
+ }
1361
+ },
1362
+ "required": [
1363
+ "id",
1364
+ "question",
1365
+ "answer",
1366
+ "sortOrder"
1367
+ ]
1368
+ }
1369
+ }
1370
+ },
1371
+ "required": [
1372
+ "id",
1373
+ "name",
1374
+ "description",
1375
+ "inclusionsHtml",
1376
+ "exclusionsHtml",
1377
+ "termsHtml",
1378
+ "contentLanguageTag",
1379
+ "slug",
1380
+ "shortDescription",
1381
+ "seoTitle",
1382
+ "seoDescription",
1383
+ "bookingMode",
1384
+ "capacityMode",
1385
+ "visibility",
1386
+ "sellCurrency",
1387
+ "sellAmountCents",
1388
+ "startDate",
1389
+ "endDate",
1390
+ "pax",
1391
+ "contractTemplateId",
1392
+ "productType",
1393
+ "categories",
1394
+ "tags",
1395
+ "destinations",
1396
+ "locations",
1397
+ "capabilities",
1398
+ "coverMedia",
1399
+ "isFeatured"
1400
+ ]
1401
+ }
1402
+ },
1403
+ "total": {
1404
+ "type": "integer"
1405
+ },
1406
+ "limit": {
1407
+ "type": "integer"
1408
+ },
1409
+ "offset": {
1410
+ "type": "integer"
1411
+ }
1412
+ },
1413
+ "required": [
1414
+ "data",
1415
+ "total",
1416
+ "limit",
1417
+ "offset"
1418
+ ]
1419
+ }
1420
+ }
1421
+ }
1422
+ }
1423
+ }
1424
+ }
1425
+ },
1426
+ "/v1/public/products/slug/{slug}": {
1427
+ "get": {
1428
+ "parameters": [
1429
+ {
1430
+ "schema": {
1431
+ "type": "string"
1432
+ },
1433
+ "required": true,
1434
+ "name": "slug",
1435
+ "in": "path"
1436
+ },
1437
+ {
1438
+ "schema": {
1439
+ "type": "string",
1440
+ "minLength": 2,
1441
+ "maxLength": 35,
1442
+ "pattern": "^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})*$"
1443
+ },
1444
+ "required": false,
1445
+ "name": "languageTag",
1446
+ "in": "query"
1447
+ }
1448
+ ],
1449
+ "responses": {
1450
+ "200": {
1451
+ "description": "A public catalog product by slug",
1452
+ "content": {
1453
+ "application/json": {
1454
+ "schema": {
1455
+ "type": "object",
1456
+ "properties": {
1457
+ "data": {
1458
+ "type": "object",
1459
+ "properties": {
1460
+ "id": {
1461
+ "type": "string"
1462
+ },
1463
+ "name": {
1464
+ "type": "string"
1465
+ },
1466
+ "description": {
1467
+ "type": [
1468
+ "string",
1469
+ "null"
1470
+ ]
1471
+ },
1472
+ "inclusionsHtml": {
1473
+ "type": [
1474
+ "string",
1475
+ "null"
1476
+ ]
1477
+ },
1478
+ "exclusionsHtml": {
1479
+ "type": [
1480
+ "string",
1481
+ "null"
1482
+ ]
1483
+ },
1484
+ "termsHtml": {
1485
+ "type": [
1486
+ "string",
1487
+ "null"
1488
+ ]
1489
+ },
1490
+ "contentLanguageTag": {
1491
+ "type": [
1492
+ "string",
1493
+ "null"
1494
+ ]
1495
+ },
1496
+ "slug": {
1497
+ "type": [
1498
+ "string",
1499
+ "null"
1500
+ ]
1501
+ },
1502
+ "shortDescription": {
1503
+ "type": [
1504
+ "string",
1505
+ "null"
1506
+ ]
1507
+ },
1508
+ "seoTitle": {
1509
+ "type": [
1510
+ "string",
1511
+ "null"
1512
+ ]
1513
+ },
1514
+ "seoDescription": {
1515
+ "type": [
1516
+ "string",
1517
+ "null"
1518
+ ]
1519
+ },
1520
+ "bookingMode": {
1521
+ "type": "string"
1522
+ },
1523
+ "capacityMode": {
1524
+ "type": "string"
1525
+ },
1526
+ "visibility": {
1527
+ "type": "string"
1528
+ },
1529
+ "sellCurrency": {
1530
+ "type": "string"
1531
+ },
1532
+ "sellAmountCents": {
1533
+ "type": [
1534
+ "integer",
1535
+ "null"
1536
+ ]
1537
+ },
1538
+ "startDate": {
1539
+ "type": [
1540
+ "string",
1541
+ "null"
1542
+ ]
1543
+ },
1544
+ "endDate": {
1545
+ "type": [
1546
+ "string",
1547
+ "null"
1548
+ ]
1549
+ },
1550
+ "pax": {
1551
+ "type": [
1552
+ "integer",
1553
+ "null"
1554
+ ]
1555
+ },
1556
+ "contractTemplateId": {
1557
+ "type": [
1558
+ "string",
1559
+ "null"
1560
+ ]
1561
+ },
1562
+ "productType": {
1563
+ "type": [
1564
+ "object",
1565
+ "null"
1566
+ ],
1567
+ "properties": {
1568
+ "id": {
1569
+ "type": "string"
1570
+ },
1571
+ "code": {
1572
+ "type": "string"
1573
+ },
1574
+ "name": {
1575
+ "type": "string"
1576
+ },
1577
+ "description": {
1578
+ "type": [
1579
+ "string",
1580
+ "null"
1581
+ ]
1582
+ }
1583
+ },
1584
+ "required": [
1585
+ "id",
1586
+ "code",
1587
+ "name",
1588
+ "description"
1589
+ ]
1590
+ },
1591
+ "categories": {
1592
+ "type": "array",
1593
+ "items": {
1594
+ "type": "object",
1595
+ "properties": {
1596
+ "id": {
1597
+ "type": "string"
1598
+ },
1599
+ "parentId": {
1600
+ "type": [
1601
+ "string",
1602
+ "null"
1603
+ ]
1604
+ },
1605
+ "name": {
1606
+ "type": "string"
1607
+ },
1608
+ "slug": {
1609
+ "type": "string"
1610
+ },
1611
+ "description": {
1612
+ "type": [
1613
+ "string",
1614
+ "null"
1615
+ ]
1616
+ },
1617
+ "sortOrder": {
1618
+ "type": "integer"
1619
+ }
1620
+ },
1621
+ "required": [
1622
+ "id",
1623
+ "parentId",
1624
+ "name",
1625
+ "slug",
1626
+ "description",
1627
+ "sortOrder"
1628
+ ]
1629
+ }
1630
+ },
1631
+ "tags": {
1632
+ "type": "array",
1633
+ "items": {
1634
+ "type": "object",
1635
+ "properties": {
1636
+ "id": {
1637
+ "type": "string"
1638
+ },
1639
+ "name": {
1640
+ "type": "string"
1641
+ }
1642
+ },
1643
+ "required": [
1644
+ "id",
1645
+ "name"
1646
+ ]
1647
+ }
1648
+ },
1649
+ "destinations": {
1650
+ "type": "array",
1651
+ "items": {
1652
+ "type": "object",
1653
+ "properties": {
1654
+ "id": {
1655
+ "type": "string"
1656
+ },
1657
+ "parentId": {
1658
+ "type": [
1659
+ "string",
1660
+ "null"
1661
+ ]
1662
+ },
1663
+ "slug": {
1664
+ "type": "string"
1665
+ },
1666
+ "canonicalPlaceId": {
1667
+ "type": [
1668
+ "string",
1669
+ "null"
1670
+ ]
1671
+ },
1672
+ "name": {
1673
+ "type": "string"
1674
+ },
1675
+ "description": {
1676
+ "type": [
1677
+ "string",
1678
+ "null"
1679
+ ]
1680
+ },
1681
+ "seoTitle": {
1682
+ "type": [
1683
+ "string",
1684
+ "null"
1685
+ ]
1686
+ },
1687
+ "seoDescription": {
1688
+ "type": [
1689
+ "string",
1690
+ "null"
1691
+ ]
1692
+ },
1693
+ "destinationType": {
1694
+ "type": "string"
1695
+ },
1696
+ "latitude": {
1697
+ "type": [
1698
+ "number",
1699
+ "null"
1700
+ ]
1701
+ },
1702
+ "longitude": {
1703
+ "type": [
1704
+ "number",
1705
+ "null"
1706
+ ]
1707
+ },
1708
+ "sortOrder": {
1709
+ "type": "integer"
1710
+ }
1711
+ },
1712
+ "required": [
1713
+ "id",
1714
+ "parentId",
1715
+ "slug",
1716
+ "canonicalPlaceId",
1717
+ "name",
1718
+ "description",
1719
+ "seoTitle",
1720
+ "seoDescription",
1721
+ "destinationType",
1722
+ "latitude",
1723
+ "longitude",
1724
+ "sortOrder"
1725
+ ]
1726
+ }
1727
+ },
1728
+ "locations": {
1729
+ "type": "array",
1730
+ "items": {
1731
+ "type": "object",
1732
+ "properties": {
1733
+ "id": {
1734
+ "type": "string"
1735
+ },
1736
+ "locationType": {
1737
+ "type": "string"
1738
+ },
1739
+ "title": {
1740
+ "type": "string"
1741
+ },
1742
+ "address": {
1743
+ "type": [
1744
+ "string",
1745
+ "null"
1746
+ ]
1747
+ },
1748
+ "city": {
1749
+ "type": [
1750
+ "string",
1751
+ "null"
1752
+ ]
1753
+ },
1754
+ "countryCode": {
1755
+ "type": [
1756
+ "string",
1757
+ "null"
1758
+ ]
1759
+ },
1760
+ "latitude": {
1761
+ "type": [
1762
+ "number",
1763
+ "null"
1764
+ ]
1765
+ },
1766
+ "longitude": {
1767
+ "type": [
1768
+ "number",
1769
+ "null"
1770
+ ]
1771
+ },
1772
+ "sortOrder": {
1773
+ "type": "integer"
1774
+ }
1775
+ },
1776
+ "required": [
1777
+ "id",
1778
+ "locationType",
1779
+ "title",
1780
+ "address",
1781
+ "city",
1782
+ "countryCode",
1783
+ "latitude",
1784
+ "longitude",
1785
+ "sortOrder"
1786
+ ]
1787
+ }
1788
+ },
1789
+ "capabilities": {
1790
+ "type": "array",
1791
+ "items": {
1792
+ "type": "string"
1793
+ }
1794
+ },
1795
+ "coverMedia": {
1796
+ "type": [
1797
+ "object",
1798
+ "null"
1799
+ ],
1800
+ "properties": {
1801
+ "id": {
1802
+ "type": "string"
1803
+ },
1804
+ "mediaType": {
1805
+ "type": "string"
1806
+ },
1807
+ "name": {
1808
+ "type": "string"
1809
+ },
1810
+ "url": {
1811
+ "type": "string"
1812
+ },
1813
+ "mimeType": {
1814
+ "type": [
1815
+ "string",
1816
+ "null"
1817
+ ]
1818
+ },
1819
+ "altText": {
1820
+ "type": [
1821
+ "string",
1822
+ "null"
1823
+ ]
1824
+ },
1825
+ "sortOrder": {
1826
+ "type": "integer"
1827
+ },
1828
+ "isCover": {
1829
+ "type": "boolean"
1830
+ },
1831
+ "isBrochure": {
1832
+ "type": "boolean"
1833
+ },
1834
+ "isBrochureCurrent": {
1835
+ "type": "boolean"
1836
+ },
1837
+ "brochureVersion": {
1838
+ "type": [
1839
+ "integer",
1840
+ "null"
1841
+ ]
1842
+ }
1843
+ },
1844
+ "required": [
1845
+ "id",
1846
+ "mediaType",
1847
+ "name",
1848
+ "url",
1849
+ "mimeType",
1850
+ "altText",
1851
+ "sortOrder",
1852
+ "isCover",
1853
+ "isBrochure",
1854
+ "isBrochureCurrent",
1855
+ "brochureVersion"
1856
+ ]
1857
+ },
1858
+ "isFeatured": {
1859
+ "type": "boolean"
1860
+ },
1861
+ "media": {
1862
+ "type": "array",
1863
+ "items": {
1864
+ "type": "object",
1865
+ "properties": {
1866
+ "id": {
1867
+ "type": "string"
1868
+ },
1869
+ "mediaType": {
1870
+ "type": "string"
1871
+ },
1872
+ "name": {
1873
+ "type": "string"
1874
+ },
1875
+ "url": {
1876
+ "type": "string"
1877
+ },
1878
+ "mimeType": {
1879
+ "type": [
1880
+ "string",
1881
+ "null"
1882
+ ]
1883
+ },
1884
+ "altText": {
1885
+ "type": [
1886
+ "string",
1887
+ "null"
1888
+ ]
1889
+ },
1890
+ "sortOrder": {
1891
+ "type": "integer"
1892
+ },
1893
+ "isCover": {
1894
+ "type": "boolean"
1895
+ },
1896
+ "isBrochure": {
1897
+ "type": "boolean"
1898
+ },
1899
+ "isBrochureCurrent": {
1900
+ "type": "boolean"
1901
+ },
1902
+ "brochureVersion": {
1903
+ "type": [
1904
+ "integer",
1905
+ "null"
1906
+ ]
1907
+ }
1908
+ },
1909
+ "required": [
1910
+ "id",
1911
+ "mediaType",
1912
+ "name",
1913
+ "url",
1914
+ "mimeType",
1915
+ "altText",
1916
+ "sortOrder",
1917
+ "isCover",
1918
+ "isBrochure",
1919
+ "isBrochureCurrent",
1920
+ "brochureVersion"
1921
+ ]
1922
+ }
1923
+ },
1924
+ "brochure": {
1925
+ "type": [
1926
+ "object",
1927
+ "null"
1928
+ ],
1929
+ "properties": {
1930
+ "id": {
1931
+ "type": "string"
1932
+ },
1933
+ "mediaType": {
1934
+ "type": "string"
1935
+ },
1936
+ "name": {
1937
+ "type": "string"
1938
+ },
1939
+ "url": {
1940
+ "type": "string"
1941
+ },
1942
+ "mimeType": {
1943
+ "type": [
1944
+ "string",
1945
+ "null"
1946
+ ]
1947
+ },
1948
+ "altText": {
1949
+ "type": [
1950
+ "string",
1951
+ "null"
1952
+ ]
1953
+ },
1954
+ "sortOrder": {
1955
+ "type": "integer"
1956
+ },
1957
+ "isCover": {
1958
+ "type": "boolean"
1959
+ },
1960
+ "isBrochure": {
1961
+ "type": "boolean"
1962
+ },
1963
+ "isBrochureCurrent": {
1964
+ "type": "boolean"
1965
+ },
1966
+ "brochureVersion": {
1967
+ "type": [
1968
+ "integer",
1969
+ "null"
1970
+ ]
1971
+ }
1972
+ },
1973
+ "required": [
1974
+ "id",
1975
+ "mediaType",
1976
+ "name",
1977
+ "url",
1978
+ "mimeType",
1979
+ "altText",
1980
+ "sortOrder",
1981
+ "isCover",
1982
+ "isBrochure",
1983
+ "isBrochureCurrent",
1984
+ "brochureVersion"
1985
+ ]
1986
+ },
1987
+ "features": {
1988
+ "type": "array",
1989
+ "items": {
1990
+ "type": "object",
1991
+ "properties": {
1992
+ "id": {
1993
+ "type": "string"
1994
+ },
1995
+ "featureType": {
1996
+ "type": "string"
1997
+ },
1998
+ "title": {
1999
+ "type": "string"
2000
+ },
2001
+ "description": {
2002
+ "type": [
2003
+ "string",
2004
+ "null"
2005
+ ]
2006
+ },
2007
+ "sortOrder": {
2008
+ "type": "integer"
2009
+ }
2010
+ },
2011
+ "required": [
2012
+ "id",
2013
+ "featureType",
2014
+ "title",
2015
+ "description",
2016
+ "sortOrder"
2017
+ ]
2018
+ }
2019
+ },
2020
+ "faqs": {
2021
+ "type": "array",
2022
+ "items": {
2023
+ "type": "object",
2024
+ "properties": {
2025
+ "id": {
2026
+ "type": "string"
2027
+ },
2028
+ "question": {
2029
+ "type": "string"
2030
+ },
2031
+ "answer": {
2032
+ "type": "string"
2033
+ },
2034
+ "sortOrder": {
2035
+ "type": "integer"
2036
+ }
2037
+ },
2038
+ "required": [
2039
+ "id",
2040
+ "question",
2041
+ "answer",
2042
+ "sortOrder"
2043
+ ]
2044
+ }
2045
+ }
2046
+ },
2047
+ "required": [
2048
+ "id",
2049
+ "name",
2050
+ "description",
2051
+ "inclusionsHtml",
2052
+ "exclusionsHtml",
2053
+ "termsHtml",
2054
+ "contentLanguageTag",
2055
+ "slug",
2056
+ "shortDescription",
2057
+ "seoTitle",
2058
+ "seoDescription",
2059
+ "bookingMode",
2060
+ "capacityMode",
2061
+ "visibility",
2062
+ "sellCurrency",
2063
+ "sellAmountCents",
2064
+ "startDate",
2065
+ "endDate",
2066
+ "pax",
2067
+ "contractTemplateId",
2068
+ "productType",
2069
+ "categories",
2070
+ "tags",
2071
+ "destinations",
2072
+ "locations",
2073
+ "capabilities",
2074
+ "coverMedia",
2075
+ "isFeatured"
2076
+ ]
2077
+ }
2078
+ },
2079
+ "required": [
2080
+ "data"
2081
+ ]
2082
+ }
2083
+ }
2084
+ }
2085
+ },
2086
+ "404": {
2087
+ "description": "Catalog product not found",
2088
+ "content": {
2089
+ "application/json": {
2090
+ "schema": {
2091
+ "type": "object",
2092
+ "properties": {
2093
+ "error": {
2094
+ "type": "string"
2095
+ }
2096
+ },
2097
+ "required": [
2098
+ "error"
2099
+ ]
2100
+ }
2101
+ }
2102
+ }
2103
+ }
2104
+ }
2105
+ }
2106
+ },
2107
+ "/v1/public/products/{id}": {
2108
+ "get": {
2109
+ "parameters": [
2110
+ {
2111
+ "schema": {
2112
+ "type": "string"
2113
+ },
2114
+ "required": true,
2115
+ "name": "id",
2116
+ "in": "path"
2117
+ },
2118
+ {
2119
+ "schema": {
2120
+ "type": "string",
2121
+ "minLength": 2,
2122
+ "maxLength": 35,
2123
+ "pattern": "^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})*$"
2124
+ },
2125
+ "required": false,
2126
+ "name": "languageTag",
2127
+ "in": "query"
2128
+ }
2129
+ ],
2130
+ "responses": {
2131
+ "200": {
2132
+ "description": "A public catalog product by id",
2133
+ "content": {
2134
+ "application/json": {
2135
+ "schema": {
2136
+ "type": "object",
2137
+ "properties": {
2138
+ "data": {
2139
+ "type": "object",
2140
+ "properties": {
2141
+ "id": {
2142
+ "type": "string"
2143
+ },
2144
+ "name": {
2145
+ "type": "string"
2146
+ },
2147
+ "description": {
2148
+ "type": [
2149
+ "string",
2150
+ "null"
2151
+ ]
2152
+ },
2153
+ "inclusionsHtml": {
2154
+ "type": [
2155
+ "string",
2156
+ "null"
2157
+ ]
2158
+ },
2159
+ "exclusionsHtml": {
2160
+ "type": [
2161
+ "string",
2162
+ "null"
2163
+ ]
2164
+ },
2165
+ "termsHtml": {
2166
+ "type": [
2167
+ "string",
2168
+ "null"
2169
+ ]
2170
+ },
2171
+ "contentLanguageTag": {
2172
+ "type": [
2173
+ "string",
2174
+ "null"
2175
+ ]
2176
+ },
2177
+ "slug": {
2178
+ "type": [
2179
+ "string",
2180
+ "null"
2181
+ ]
2182
+ },
2183
+ "shortDescription": {
2184
+ "type": [
2185
+ "string",
2186
+ "null"
2187
+ ]
2188
+ },
2189
+ "seoTitle": {
2190
+ "type": [
2191
+ "string",
2192
+ "null"
2193
+ ]
2194
+ },
2195
+ "seoDescription": {
2196
+ "type": [
2197
+ "string",
2198
+ "null"
2199
+ ]
2200
+ },
2201
+ "bookingMode": {
2202
+ "type": "string"
2203
+ },
2204
+ "capacityMode": {
2205
+ "type": "string"
2206
+ },
2207
+ "visibility": {
2208
+ "type": "string"
2209
+ },
2210
+ "sellCurrency": {
2211
+ "type": "string"
2212
+ },
2213
+ "sellAmountCents": {
2214
+ "type": [
2215
+ "integer",
2216
+ "null"
2217
+ ]
2218
+ },
2219
+ "startDate": {
2220
+ "type": [
2221
+ "string",
2222
+ "null"
2223
+ ]
2224
+ },
2225
+ "endDate": {
2226
+ "type": [
2227
+ "string",
2228
+ "null"
2229
+ ]
2230
+ },
2231
+ "pax": {
2232
+ "type": [
2233
+ "integer",
2234
+ "null"
2235
+ ]
2236
+ },
2237
+ "contractTemplateId": {
2238
+ "type": [
2239
+ "string",
2240
+ "null"
2241
+ ]
2242
+ },
2243
+ "productType": {
2244
+ "type": [
2245
+ "object",
2246
+ "null"
2247
+ ],
2248
+ "properties": {
2249
+ "id": {
2250
+ "type": "string"
2251
+ },
2252
+ "code": {
2253
+ "type": "string"
2254
+ },
2255
+ "name": {
2256
+ "type": "string"
2257
+ },
2258
+ "description": {
2259
+ "type": [
2260
+ "string",
2261
+ "null"
2262
+ ]
2263
+ }
2264
+ },
2265
+ "required": [
2266
+ "id",
2267
+ "code",
2268
+ "name",
2269
+ "description"
2270
+ ]
2271
+ },
2272
+ "categories": {
2273
+ "type": "array",
2274
+ "items": {
2275
+ "type": "object",
2276
+ "properties": {
2277
+ "id": {
2278
+ "type": "string"
2279
+ },
2280
+ "parentId": {
2281
+ "type": [
2282
+ "string",
2283
+ "null"
2284
+ ]
2285
+ },
2286
+ "name": {
2287
+ "type": "string"
2288
+ },
2289
+ "slug": {
2290
+ "type": "string"
2291
+ },
2292
+ "description": {
2293
+ "type": [
2294
+ "string",
2295
+ "null"
2296
+ ]
2297
+ },
2298
+ "sortOrder": {
2299
+ "type": "integer"
2300
+ }
2301
+ },
2302
+ "required": [
2303
+ "id",
2304
+ "parentId",
2305
+ "name",
2306
+ "slug",
2307
+ "description",
2308
+ "sortOrder"
2309
+ ]
2310
+ }
2311
+ },
2312
+ "tags": {
2313
+ "type": "array",
2314
+ "items": {
2315
+ "type": "object",
2316
+ "properties": {
2317
+ "id": {
2318
+ "type": "string"
2319
+ },
2320
+ "name": {
2321
+ "type": "string"
2322
+ }
2323
+ },
2324
+ "required": [
2325
+ "id",
2326
+ "name"
2327
+ ]
2328
+ }
2329
+ },
2330
+ "destinations": {
2331
+ "type": "array",
2332
+ "items": {
2333
+ "type": "object",
2334
+ "properties": {
2335
+ "id": {
2336
+ "type": "string"
2337
+ },
2338
+ "parentId": {
2339
+ "type": [
2340
+ "string",
2341
+ "null"
2342
+ ]
2343
+ },
2344
+ "slug": {
2345
+ "type": "string"
2346
+ },
2347
+ "canonicalPlaceId": {
2348
+ "type": [
2349
+ "string",
2350
+ "null"
2351
+ ]
2352
+ },
2353
+ "name": {
2354
+ "type": "string"
2355
+ },
2356
+ "description": {
2357
+ "type": [
2358
+ "string",
2359
+ "null"
2360
+ ]
2361
+ },
2362
+ "seoTitle": {
2363
+ "type": [
2364
+ "string",
2365
+ "null"
2366
+ ]
2367
+ },
2368
+ "seoDescription": {
2369
+ "type": [
2370
+ "string",
2371
+ "null"
2372
+ ]
2373
+ },
2374
+ "destinationType": {
2375
+ "type": "string"
2376
+ },
2377
+ "latitude": {
2378
+ "type": [
2379
+ "number",
2380
+ "null"
2381
+ ]
2382
+ },
2383
+ "longitude": {
2384
+ "type": [
2385
+ "number",
2386
+ "null"
2387
+ ]
2388
+ },
2389
+ "sortOrder": {
2390
+ "type": "integer"
2391
+ }
2392
+ },
2393
+ "required": [
2394
+ "id",
2395
+ "parentId",
2396
+ "slug",
2397
+ "canonicalPlaceId",
2398
+ "name",
2399
+ "description",
2400
+ "seoTitle",
2401
+ "seoDescription",
2402
+ "destinationType",
2403
+ "latitude",
2404
+ "longitude",
2405
+ "sortOrder"
2406
+ ]
2407
+ }
2408
+ },
2409
+ "locations": {
2410
+ "type": "array",
2411
+ "items": {
2412
+ "type": "object",
2413
+ "properties": {
2414
+ "id": {
2415
+ "type": "string"
2416
+ },
2417
+ "locationType": {
2418
+ "type": "string"
2419
+ },
2420
+ "title": {
2421
+ "type": "string"
2422
+ },
2423
+ "address": {
2424
+ "type": [
2425
+ "string",
2426
+ "null"
2427
+ ]
2428
+ },
2429
+ "city": {
2430
+ "type": [
2431
+ "string",
2432
+ "null"
2433
+ ]
2434
+ },
2435
+ "countryCode": {
2436
+ "type": [
2437
+ "string",
2438
+ "null"
2439
+ ]
2440
+ },
2441
+ "latitude": {
2442
+ "type": [
2443
+ "number",
2444
+ "null"
2445
+ ]
2446
+ },
2447
+ "longitude": {
2448
+ "type": [
2449
+ "number",
2450
+ "null"
2451
+ ]
2452
+ },
2453
+ "sortOrder": {
2454
+ "type": "integer"
2455
+ }
2456
+ },
2457
+ "required": [
2458
+ "id",
2459
+ "locationType",
2460
+ "title",
2461
+ "address",
2462
+ "city",
2463
+ "countryCode",
2464
+ "latitude",
2465
+ "longitude",
2466
+ "sortOrder"
2467
+ ]
2468
+ }
2469
+ },
2470
+ "capabilities": {
2471
+ "type": "array",
2472
+ "items": {
2473
+ "type": "string"
2474
+ }
2475
+ },
2476
+ "coverMedia": {
2477
+ "type": [
2478
+ "object",
2479
+ "null"
2480
+ ],
2481
+ "properties": {
2482
+ "id": {
2483
+ "type": "string"
2484
+ },
2485
+ "mediaType": {
2486
+ "type": "string"
2487
+ },
2488
+ "name": {
2489
+ "type": "string"
2490
+ },
2491
+ "url": {
2492
+ "type": "string"
2493
+ },
2494
+ "mimeType": {
2495
+ "type": [
2496
+ "string",
2497
+ "null"
2498
+ ]
2499
+ },
2500
+ "altText": {
2501
+ "type": [
2502
+ "string",
2503
+ "null"
2504
+ ]
2505
+ },
2506
+ "sortOrder": {
2507
+ "type": "integer"
2508
+ },
2509
+ "isCover": {
2510
+ "type": "boolean"
2511
+ },
2512
+ "isBrochure": {
2513
+ "type": "boolean"
2514
+ },
2515
+ "isBrochureCurrent": {
2516
+ "type": "boolean"
2517
+ },
2518
+ "brochureVersion": {
2519
+ "type": [
2520
+ "integer",
2521
+ "null"
2522
+ ]
2523
+ }
2524
+ },
2525
+ "required": [
2526
+ "id",
2527
+ "mediaType",
2528
+ "name",
2529
+ "url",
2530
+ "mimeType",
2531
+ "altText",
2532
+ "sortOrder",
2533
+ "isCover",
2534
+ "isBrochure",
2535
+ "isBrochureCurrent",
2536
+ "brochureVersion"
2537
+ ]
2538
+ },
2539
+ "isFeatured": {
2540
+ "type": "boolean"
2541
+ },
2542
+ "media": {
2543
+ "type": "array",
2544
+ "items": {
2545
+ "type": "object",
2546
+ "properties": {
2547
+ "id": {
2548
+ "type": "string"
2549
+ },
2550
+ "mediaType": {
2551
+ "type": "string"
2552
+ },
2553
+ "name": {
2554
+ "type": "string"
2555
+ },
2556
+ "url": {
2557
+ "type": "string"
2558
+ },
2559
+ "mimeType": {
2560
+ "type": [
2561
+ "string",
2562
+ "null"
2563
+ ]
2564
+ },
2565
+ "altText": {
2566
+ "type": [
2567
+ "string",
2568
+ "null"
2569
+ ]
2570
+ },
2571
+ "sortOrder": {
2572
+ "type": "integer"
2573
+ },
2574
+ "isCover": {
2575
+ "type": "boolean"
2576
+ },
2577
+ "isBrochure": {
2578
+ "type": "boolean"
2579
+ },
2580
+ "isBrochureCurrent": {
2581
+ "type": "boolean"
2582
+ },
2583
+ "brochureVersion": {
2584
+ "type": [
2585
+ "integer",
2586
+ "null"
2587
+ ]
2588
+ }
2589
+ },
2590
+ "required": [
2591
+ "id",
2592
+ "mediaType",
2593
+ "name",
2594
+ "url",
2595
+ "mimeType",
2596
+ "altText",
2597
+ "sortOrder",
2598
+ "isCover",
2599
+ "isBrochure",
2600
+ "isBrochureCurrent",
2601
+ "brochureVersion"
2602
+ ]
2603
+ }
2604
+ },
2605
+ "brochure": {
2606
+ "type": [
2607
+ "object",
2608
+ "null"
2609
+ ],
2610
+ "properties": {
2611
+ "id": {
2612
+ "type": "string"
2613
+ },
2614
+ "mediaType": {
2615
+ "type": "string"
2616
+ },
2617
+ "name": {
2618
+ "type": "string"
2619
+ },
2620
+ "url": {
2621
+ "type": "string"
2622
+ },
2623
+ "mimeType": {
2624
+ "type": [
2625
+ "string",
2626
+ "null"
2627
+ ]
2628
+ },
2629
+ "altText": {
2630
+ "type": [
2631
+ "string",
2632
+ "null"
2633
+ ]
2634
+ },
2635
+ "sortOrder": {
2636
+ "type": "integer"
2637
+ },
2638
+ "isCover": {
2639
+ "type": "boolean"
2640
+ },
2641
+ "isBrochure": {
2642
+ "type": "boolean"
2643
+ },
2644
+ "isBrochureCurrent": {
2645
+ "type": "boolean"
2646
+ },
2647
+ "brochureVersion": {
2648
+ "type": [
2649
+ "integer",
2650
+ "null"
2651
+ ]
2652
+ }
2653
+ },
2654
+ "required": [
2655
+ "id",
2656
+ "mediaType",
2657
+ "name",
2658
+ "url",
2659
+ "mimeType",
2660
+ "altText",
2661
+ "sortOrder",
2662
+ "isCover",
2663
+ "isBrochure",
2664
+ "isBrochureCurrent",
2665
+ "brochureVersion"
2666
+ ]
2667
+ },
2668
+ "features": {
2669
+ "type": "array",
2670
+ "items": {
2671
+ "type": "object",
2672
+ "properties": {
2673
+ "id": {
2674
+ "type": "string"
2675
+ },
2676
+ "featureType": {
2677
+ "type": "string"
2678
+ },
2679
+ "title": {
2680
+ "type": "string"
2681
+ },
2682
+ "description": {
2683
+ "type": [
2684
+ "string",
2685
+ "null"
2686
+ ]
2687
+ },
2688
+ "sortOrder": {
2689
+ "type": "integer"
2690
+ }
2691
+ },
2692
+ "required": [
2693
+ "id",
2694
+ "featureType",
2695
+ "title",
2696
+ "description",
2697
+ "sortOrder"
2698
+ ]
2699
+ }
2700
+ },
2701
+ "faqs": {
2702
+ "type": "array",
2703
+ "items": {
2704
+ "type": "object",
2705
+ "properties": {
2706
+ "id": {
2707
+ "type": "string"
2708
+ },
2709
+ "question": {
2710
+ "type": "string"
2711
+ },
2712
+ "answer": {
2713
+ "type": "string"
2714
+ },
2715
+ "sortOrder": {
2716
+ "type": "integer"
2717
+ }
2718
+ },
2719
+ "required": [
2720
+ "id",
2721
+ "question",
2722
+ "answer",
2723
+ "sortOrder"
2724
+ ]
2725
+ }
2726
+ }
2727
+ },
2728
+ "required": [
2729
+ "id",
2730
+ "name",
2731
+ "description",
2732
+ "inclusionsHtml",
2733
+ "exclusionsHtml",
2734
+ "termsHtml",
2735
+ "contentLanguageTag",
2736
+ "slug",
2737
+ "shortDescription",
2738
+ "seoTitle",
2739
+ "seoDescription",
2740
+ "bookingMode",
2741
+ "capacityMode",
2742
+ "visibility",
2743
+ "sellCurrency",
2744
+ "sellAmountCents",
2745
+ "startDate",
2746
+ "endDate",
2747
+ "pax",
2748
+ "contractTemplateId",
2749
+ "productType",
2750
+ "categories",
2751
+ "tags",
2752
+ "destinations",
2753
+ "locations",
2754
+ "capabilities",
2755
+ "coverMedia",
2756
+ "isFeatured"
2757
+ ]
2758
+ }
2759
+ },
2760
+ "required": [
2761
+ "data"
2762
+ ]
2763
+ }
2764
+ }
2765
+ }
2766
+ },
2767
+ "404": {
2768
+ "description": "Catalog product not found",
2769
+ "content": {
2770
+ "application/json": {
2771
+ "schema": {
2772
+ "type": "object",
2773
+ "properties": {
2774
+ "error": {
2775
+ "type": "string"
2776
+ }
2777
+ },
2778
+ "required": [
2779
+ "error"
2780
+ ]
2781
+ }
2782
+ }
2783
+ }
2784
+ }
2785
+ }
2786
+ }
2787
+ },
2788
+ "/v1/public/products/{id}/brochure": {
2789
+ "get": {
2790
+ "parameters": [
2791
+ {
2792
+ "schema": {
2793
+ "type": "string"
2794
+ },
2795
+ "required": true,
2796
+ "name": "id",
2797
+ "in": "path"
2798
+ },
2799
+ {
2800
+ "schema": {
2801
+ "type": "string",
2802
+ "minLength": 2,
2803
+ "maxLength": 35,
2804
+ "pattern": "^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})*$"
2805
+ },
2806
+ "required": false,
2807
+ "name": "languageTag",
2808
+ "in": "query"
2809
+ }
2810
+ ],
2811
+ "responses": {
2812
+ "200": {
2813
+ "description": "A product's current brochure media",
2814
+ "content": {
2815
+ "application/json": {
2816
+ "schema": {
2817
+ "type": "object",
2818
+ "properties": {
2819
+ "data": {
2820
+ "type": "object",
2821
+ "properties": {
2822
+ "id": {
2823
+ "type": "string"
2824
+ },
2825
+ "mediaType": {
2826
+ "type": "string"
2827
+ },
2828
+ "name": {
2829
+ "type": "string"
2830
+ },
2831
+ "url": {
2832
+ "type": "string"
2833
+ },
2834
+ "mimeType": {
2835
+ "type": [
2836
+ "string",
2837
+ "null"
2838
+ ]
2839
+ },
2840
+ "altText": {
2841
+ "type": [
2842
+ "string",
2843
+ "null"
2844
+ ]
2845
+ },
2846
+ "sortOrder": {
2847
+ "type": "integer"
2848
+ },
2849
+ "isCover": {
2850
+ "type": "boolean"
2851
+ },
2852
+ "isBrochure": {
2853
+ "type": "boolean"
2854
+ },
2855
+ "isBrochureCurrent": {
2856
+ "type": "boolean"
2857
+ },
2858
+ "brochureVersion": {
2859
+ "type": [
2860
+ "integer",
2861
+ "null"
2862
+ ]
2863
+ }
2864
+ },
2865
+ "required": [
2866
+ "id",
2867
+ "mediaType",
2868
+ "name",
2869
+ "url",
2870
+ "mimeType",
2871
+ "altText",
2872
+ "sortOrder",
2873
+ "isCover",
2874
+ "isBrochure",
2875
+ "isBrochureCurrent",
2876
+ "brochureVersion"
2877
+ ]
2878
+ }
2879
+ },
2880
+ "required": [
2881
+ "data"
2882
+ ]
2883
+ }
2884
+ }
2885
+ }
2886
+ },
2887
+ "404": {
2888
+ "description": "Catalog product brochure not found",
2889
+ "content": {
2890
+ "application/json": {
2891
+ "schema": {
2892
+ "type": "object",
2893
+ "properties": {
2894
+ "error": {
2895
+ "type": "string"
2896
+ }
2897
+ },
2898
+ "required": [
2899
+ "error"
2900
+ ]
2901
+ }
2902
+ }
2903
+ }
2904
+ }
2905
+ }
2906
+ }
2907
+ }
2908
+ },
2909
+ "webhooks": {}
2910
+ }