### Query Documentation Example Source: https://docs.ventrata.com/capabilities/waitlists Demonstrates how to query the documentation dynamically using an HTTP GET request with the 'ask' query parameter. ```http GET https://docs.ventrata.com/capabilities/waitlists.md?ask= ``` -------------------------------- ### Query Documentation Example Source: https://docs.ventrata.com/capabilities/notifications To get answers to specific questions or retrieve related documentation, append the `ask` query parameter to the page URL with your question in natural language. ```http GET https://docs.ventrata.com/capabilities/notifications.md?ask= ``` -------------------------------- ### Query Documentation with GET Request Source: https://docs.ventrata.com/capabilities/gift-vouchers Perform an HTTP GET request to query the documentation. Include your specific question in the 'ask' query parameter. The response will provide a direct answer with relevant excerpts and sources. ```bash GET https://docs.ventrata.com/capabilities/gift-vouchers.md?ask= ``` -------------------------------- ### Query Documentation via HTTP GET Source: https://docs.ventrata.com/capabilities/campaigns To get information not explicitly on a page, perform an HTTP GET request to the page URL with the `ask` query parameter. The question should be specific and self-contained. ```http GET https://docs.ventrata.com/capabilities/campaigns.md?ask= ``` -------------------------------- ### Query Documentation with GET Request Source: https://docs.ventrata.com/capabilities/content Perform an HTTP GET request on the current page URL with the `ask` query parameter to ask a question about the documentation. The question should be specific and self-contained. ```http GET https://docs.ventrata.com/capabilities/content.md?ask= ``` -------------------------------- ### Query Documentation Dynamically Source: https://docs.ventrata.com/getting-started/localization To get information not explicitly on the page, perform an HTTP GET request to the page URL with the `ask` query parameter. The response will include an answer and relevant documentation excerpts. ```http GET https://docs.ventrata.com/getting-started/localization.md?ask= ``` -------------------------------- ### Querying Documentation Source: https://docs.ventrata.com/capabilities/cart Demonstrates how to query documentation dynamically using an HTTP GET request with the 'ask' query parameter. ```http GET https://docs.ventrata.com/capabilities/cart.md?ask= ``` -------------------------------- ### Querying Documentation via HTTP GET Source: https://docs.ventrata.com/capabilities/pickups To get additional information not directly present on a page, you can query the documentation dynamically. Send an HTTP GET request to the page URL with an 'ask' query parameter containing your specific question. ```http GET https://docs.ventrata.com/capabilities/pickups.md?ask= ``` -------------------------------- ### Query Documentation via HTTP GET Source: https://docs.ventrata.com/capabilities/questions Send an HTTP GET request to a documentation page URL with the `ask` query parameter to ask a specific question. The response includes a direct answer, excerpts, and sources. ```HTTP GET https://docs.ventrata.com/capabilities/questions.md?ask= ``` -------------------------------- ### Query Documentation Dynamically Source: https://docs.ventrata.com/additional-resources/faqs To get information not explicitly on the page, make an HTTP GET request to the page URL with an `ask` query parameter. The question should be specific and in natural language. ```http GET https://docs.ventrata.com/additional-resources/faqs.md?ask= ``` -------------------------------- ### Querying Documentation Dynamically Source: https://docs.ventrata.com/capabilities/adjustments To get information not explicitly on the page, make an HTTP GET request to the page URL with an `ask` query parameter containing your question. The response includes the answer and relevant excerpts. ```http GET https://docs.ventrata.com/capabilities/adjustments.md?ask= ``` -------------------------------- ### Querying Documentation Dynamically Source: https://docs.ventrata.com/capabilities/redemption To get information not explicitly on the page, make an HTTP GET request to the page URL with an 'ask' query parameter containing your question. ```http GET https://docs.ventrata.com/capabilities/redemption.md?ask= ``` -------------------------------- ### Querying Documentation Source: https://docs.ventrata.com/capabilities/online-check-in To get additional information not directly on the page, query the documentation dynamically using the `ask` parameter in the GET request. ```http GET https://docs.ventrata.com/capabilities/online-check-in.md?ask= ``` -------------------------------- ### Query Documentation Dynamically Source: https://docs.ventrata.com/capabilities/packages Use this GET request to ask questions about the documentation. Replace with your specific query in natural language. ```http GET https://docs.ventrata.com/capabilities/packages.md?ask= ``` -------------------------------- ### Query Documentation Source: https://docs.ventrata.com/getting-started/test-credentials To get information not explicitly on this page, make an HTTP GET request to the page URL with the `ask` query parameter. The question should be specific and in natural language. ```http GET https://docs.ventrata.com/getting-started/test-credentials.md?ask= ``` -------------------------------- ### Query Documentation with GET Request Source: https://docs.ventrata.com/octo-core/bookings Use this method to ask questions about the documentation. The response includes direct answers and relevant excerpts. ```http GET https://docs.ventrata.com/octo-core/bookings.md?ask= ``` -------------------------------- ### Query Documentation via GET Request Source: https://docs.ventrata.com/capabilities/mappings Use this method to ask specific questions about the documentation. The response includes direct answers, excerpts, and sources. ```bash GET https://docs.ventrata.com/capabilities/mappings.md?ask= ``` -------------------------------- ### Query Documentation Dynamically Source: https://docs.ventrata.com/getting-started/glossary-of-terms To get information not explicitly found on a page, send an HTTP GET request to the page URL with the 'ask' query parameter. The question should be clear and in natural language. The response will include a direct answer and supporting excerpts. ```HTTP GET https://docs.ventrata.com/getting-started/glossary-of-terms.md?ask= ``` -------------------------------- ### Query Documentation Dynamically Source: https://docs.ventrata.com/getting-started/getting-started Use this GET request format to ask questions about the documentation. The 'ask' parameter should contain your natural language question. ```http GET https://docs.ventrata.com/getting-started/getting-started.md?ask= ``` -------------------------------- ### WebhookEventPayload Example Source: https://docs.ventrata.com/capabilities/webhooks A comprehensive example of a webhook event payload, including details about the event, the webhook configuration, supplier information, and specific data related to the event type (order, booking, product, availability). It also shows the structure for diff operations. ```json { "// ...rest of webhook event payload object": "...", "event": "booking.updated", "webhook": { "id": "webhook_booking_update", "event": "booking.updated", "url": "https://www.city-sightseeing.com" }, "supplier": { "id": "3d6f0a3a-59d4-4b16-a0c5-11d2d8a4e6b7", "name": "City Sightseeing Group", "reference": "CITY_SIGHTSEEING_GROUP", "website": "https://www.city-sightseeing.com" }, "order": { "orderId": "ord_20260514_9f3c21", "status": "ON_HOLD", "optionId": "94cdd032-3d32-416d-b0a4-abf8b7495b8b", "id": "3d6f0a3a-59d4-4b16-a0c5-11d2d8a4e6b7" }, "booking": { "uuid": "89fe0192-ddcd-430a-b285-e1396a4725d2", "status": "ON_HOLD", "optionId": "94cdd032-3d32-416d-b0a4-abf8b7495b8b", "id": "89fe0192-ddcd-430a-b285-e1396a4725d2" }, "product": { "id": "e7cc8bb4-8d1c-4848-8824-5dbedb718681", "internalName": "Walking Tour of Barcelona", "reference": "BRC-WALK", "tags": [ "vip", "partner" ] }, "availability": { "id": "94cdd032-3d32-416d-b0a4-abf8b7495b8b", "localDateTimeStart": "2026-03-01T09:00:00-08:00", "localDateTimeEnd": "2026-03-01T12:00:00-08:00", "allDay": false, "available": true, "status": "AVAILABLE", "statusMessage": "Limited availability for this departure.", "utcCutoffAt": "2026-05-14T13:00:00Z", "openingHours": [ { "from": "09:00", "to": "17:00" } ] }, "diff": [ { "op": "add", "path": "path-example", "was": "was-example", "value": "value-example" } ] } ``` -------------------------------- ### Query Documentation with HTTP GET Source: https://docs.ventrata.com/llms.txt Use this method to ask questions about the documentation dynamically. The question should be specific and in natural language. The response includes a direct answer and relevant excerpts. ```HTTP GET https://docs.ventrata.com/readme.md?ask= ``` -------------------------------- ### Query Documentation with GET Request Source: https://docs.ventrata.com/getting-started/errors Use this method to ask questions about the documentation when information is not explicitly present on the current page. The question should be specific and in natural language. ```http GET https://docs.ventrata.com/getting-started/errors.md?ask= ``` -------------------------------- ### Define Questions for an Option Source: https://docs.ventrata.com/capabilities/questions Define questions that can be asked for a specific option. This example shows a required select input for a promotion. ```json { "// ...rest of option object": "...", "questions": [ { "id": "3d6f0a3a-59d4-4b16-a0c5-11d2d8a4e6b7", "title": "Summer Promotion", "required": true, "inputType": "select" } ] } ``` -------------------------------- ### WebhookRequest Example Source: https://docs.ventrata.com/capabilities/webhooks Represents a request to create or update a webhook subscription. It specifies the event to listen for and the URL where notifications should be sent. ```json { "// ...rest of webhook request object": "...", "event": "booking.updated", "url": "https://hooks.example-partner.com/octo/webhook" } ``` -------------------------------- ### Query Documentation with GET Request Source: https://docs.ventrata.com/capabilities/pricing Use this method to ask specific questions about the documentation when the answer is not explicitly present on a page. The question should be self-contained and in natural language. ```http GET https://docs.ventrata.com/capabilities/pricing.md?ask= ``` -------------------------------- ### Query Documentation with GET Request Source: https://docs.ventrata.com/additional-resources/other-octo-implementations Use this mechanism to query the documentation dynamically when information is not explicitly present on the page, or when clarification is needed. The question should be specific and self-contained. ```http GET https://docs.ventrata.com/additional-resources/other-octo-implementations.md?ask= ``` -------------------------------- ### Query Documentation via HTTP GET Source: https://docs.ventrata.com/capabilities/resources Use this method to ask questions about the documentation when the answer is not explicitly present on the page. The question should be specific and self-contained. ```http GET https://docs.ventrata.com/capabilities/resources.md?ask= ``` -------------------------------- ### Get Offers Source: https://docs.ventrata.com/capabilities/offers Retrieves a list of available offers. This endpoint can be used to discover applicable promotions and discounts. ```APIDOC ## GET /offers ### Description Retrieves a list of available offers. This endpoint can be used to discover applicable promotions and discounts. ### Method GET ### Endpoint /offers ### Parameters #### Query Parameters - **offerCode** (string) - Optional - A specific offer code to filter results. - **productIds** (string[]) - Optional - A list of product IDs to find offers for. - **availabilityId** (string) - Optional - The ID of an availability to find offers for. - **bookingId** (string) - Optional - The ID of a booking to find offers for. - **giftId** (string) - Optional - The ID of a gift to find offers for. - **combinationOfferId** (string) - Optional - The ID of a combination offer to find related offers. ### Response #### Success Response (200) - **offers** (array) - A list of offer objects. - **offerId** (string) - The unique identifier for the offer. - **offerType** (string) - The type of offer (e.g., "PROMOTION_CODE", "PUBLIC_OFFER"). - **description** (string) - A description of the offer. - **discount** (object) - Details about the discount applied. - **type** (string) - The type of discount (e.g., "PERCENTAGE", "FIXED_AMOUNT"). - **value** (number) - The value of the discount. - **combinationOffer** (object) - Details if this offer is part of a combination. - **targetProductId** (string) - The product ID that this combination offer targets. - **targetOptions** (array) - A list of options for the target product. - **validFrom** (string) - The start date/time when the offer is valid. - **validTo** (string) - The end date/time when the offer is valid. #### Response Example { "offers": [ { "offerId": "OFFER123", "offerType": "PROMOTION_CODE", "description": "10% off your first booking", "discount": { "type": "PERCENTAGE", "value": 10 }, "validFrom": "2023-01-01T00:00:00Z", "validTo": "2023-12-31T23:59:59Z" } ] } ``` -------------------------------- ### Order Object with Gift Payment and Gifts Source: https://docs.ventrata.com/capabilities/gift-vouchers Example of an Order object showing applied `giftPayment` and a list of associated `gifts`. ```json { "// ...rest of order object": "...", "gifts": [ { "uuid": "gift_20260514_ba21f7", "status": "CONFIRMED", "currency": "USD", "id": "89fe0192-ddcd-430a-b285-e1396a4725d2" } ], "giftPayment": { "code": "GIFT-2026-0001" } } ``` -------------------------------- ### Query Documentation Dynamically Source: https://docs.ventrata.com/additional-resources/support Use this HTTP GET request to query the documentation dynamically when information is not explicitly present on the page. The 'ask' parameter should contain a specific, self-contained question in natural language. ```http GET https://docs.ventrata.com/additional-resources/support.md?ask= ``` -------------------------------- ### Get Product by ID Source: https://docs.ventrata.com/octo-core/products Retrieves detailed information for a specific product using its unique identifier. ```APIDOC ## GET /products/{productId} ### Description Retrieves detailed information for a specific product using its unique identifier. ### Method GET ### Endpoint /products/{productId} ### Parameters #### Path Parameters - **productId** (string) - Required - The unique identifier of the product to retrieve. ### Response #### Success Response (200) - **productId** (string) - Unique identifier for the product. - **name** (string) - The name of the product. - **description** (string) - A description of the product. - **price** (object) - Pricing information for the product. - **currency** (string) - The currency of the price. - **amount** (number) - The price amount. - **imageUrl** (string) - URL of the product image. - **attributes** (object) - Key-value pairs of product attributes. #### Response Example { "productId": "prod_123", "name": "Example Product", "description": "This is a sample product.", "price": { "currency": "USD", "amount": 100.00 }, "imageUrl": "https://example.com/image.jpg", "attributes": { "color": "blue", "size": "M" } } ``` -------------------------------- ### Booking Write Request with Extras Source: https://docs.ventrata.com/capabilities/extras Example of a booking write request including extra items, with UUID, extra ID, and reseller reference. ```json { "// ...rest of booking write request object": "...", "extraItems": [ { "uuid": "89fe0192-ddcd-430a-b285-e1396a4725d2", "extraId": "e7cc8bb4-8d1c-4848-8824-5dbedb718681", "resellerReference": "RES-BOOK-10045" }, { "uuid": "a0d0f264-e244-461f-8612-4b175f8fa9e6", "extraId": "e7cc8bb4-8d1c-4848-8824-5dbedb718681", "resellerReference": "RES-BOOK-10046" } ] } ``` -------------------------------- ### Order Create Request with Gifts Source: https://docs.ventrata.com/capabilities/gift-vouchers Example of an Order Create Request object, including a `gifts` array to specify gift details for the order. ```json { "// ...rest of order create request object": "...", "gifts": [ { "amount": 100.0, "currency": "USD" } ] } ``` -------------------------------- ### Define Questions for a Unit Source: https://docs.ventrata.com/capabilities/questions Define questions associated with a unit. This example shows a required select input for a promotion, similar to options. ```json { "// ...rest of unit object": "...", "questions": [ { "id": "3d6f0a3a-59d4-4b16-a0c5-11d2d8a4e6b7", "title": "Summer Promotion", "required": true, "inputType": "select" } ] } ``` -------------------------------- ### Webhook Object Example Source: https://docs.ventrata.com/capabilities/webhooks Defines the structure of a webhook configuration, including its ID, the event it listens to, the delivery URL, associated capabilities, language preference, custom headers, and retry settings. ```json { "// ...rest of webhook object": "...", "id": "webhook_booking_update", "event": "booking.updated", "url": "https://www.city-sightseeing.com", "capabilities": [ "octo/pricing", "octo/offers" ], "useContactLanguage": true, "headers": { "X-Webhook-Secret": "whsec_123456abcdef" }, "retryOnError": true } ``` -------------------------------- ### Add Question Answers to Order Source: https://docs.ventrata.com/capabilities/questions Include question answers when creating or updating an order. This example shows how to add dietary requirements. ```json { "// ...rest of order object": "...", "questionAnswers": [ { "questionId": "question_dietary_requirements", "value": "Vegetarian" } ] } ``` -------------------------------- ### Booking Confirmation Response Example Source: https://docs.ventrata.com/octo-core/bookings This JSON object represents a successful booking confirmation, detailing supplier reference, product and option IDs, availability, delivery methods, voucher and ticket information, and pricing. ```json { "supplierReference": "SUP-20260304-009871", "productId": "e7cc8bb4-8d1c-4848-8824-5dbedb718681", "optionId": "94cdd032-3d32-416d-b0a4-abf8b7495b8b", "availabilityId": "2026-03-04T18:30:00+01:00", "deliveryMethods": ["VOUCHER", "TICKET"], "voucher": { "deliveryOptions": [ { "deliveryFormat": "PDF_URL", "deliveryValue": "https://api.ventrata.com/octo/download/booking/89fe0192-ddcd-430a-b285-e1396a4725d2.pdf" } ] }, "unitItems": [ { "ticket": { "deliveryOptions": [ { "deliveryFormat": "QRCODE", "deliveryValue": "TKT-11111111" } ] } } ], "pricing": { "retail": 4600, "net": 3220, "currency": "USD", "currencyPrecision": 2 } } ``` -------------------------------- ### Booking Resource Allocation Example Source: https://docs.ventrata.com/capabilities/resources Shows how resource allocations are represented within a booking object, including resource group details, selected seats, and passenger count. This is part of the serialized booking response. ```json { "// ...rest of booking object": "...", "resourceAllocations": [ { "resourceGroupId": "resource_group_front_row", "resourceGroup": { "title": "Front Row" }, "resourceId": "resource_coach_12", "resource": { "title": "Coach 12" }, "seatIds": [ "seat_one", "seat_two" ], "seats": [ { "row": "A", "column": "4" } ], "paxCount": 2 } ] } ``` -------------------------------- ### Add Question Answers to Booking Source: https://docs.ventrata.com/capabilities/questions Include question answers when creating or updating a booking. This example shows how to add dietary requirements. ```json { "// ...rest of booking object": "...", "questionAnswers": [ { "questionId": "question_dietary_requirements", "value": "Vegetarian" } ] } ``` -------------------------------- ### WebhookDiffOperation Example Source: https://docs.ventrata.com/capabilities/webhooks Illustrates a single operation within a diff array, detailing changes made to a resource. It includes the operation type (e.g., 'add'), the path to the changed field, the previous value ('was'), and the new value ('value'). ```json { "// ...rest of webhook diff operation object": "...", "op": "add", "path": "path-example", "was": "was-example", "value": "value-example" } ``` -------------------------------- ### Get Mappings Source: https://docs.ventrata.com/capabilities/mappings Retrieves a list of existing mappings. You can filter the results using query parameters such as `productId`, `productIds[]`, `optionId`, and `optionIds[]`. The `DEFAULT` keyword can be used with `optionId`/`optionIds[]` to filter for mappings without a selected option. ```APIDOC ## GET /mappings ### Description Retrieves a list of existing product mappings. Filters can be applied using query parameters. ### Method GET ### Endpoint /mappings ### Query Parameters - **productId** (string) - Optional - Filters mappings by a specific product ID. If `productIds[]` is also provided, `productId` takes precedence. - **productIds[]** (string) - Optional - Filters mappings by a list of product IDs. Use repeated query keys for arrays (e.g., `productIds[]=id1&productIds[]=id2`). - **optionId** (string) - Optional - Filters mappings by a specific option ID. If `optionIds[]` is also provided, `optionId` takes precedence. Use `DEFAULT` to filter for mappings without a stored option. - **optionIds[]** (string) - Optional - Filters mappings by a list of option IDs. Use repeated query keys for arrays (e.g., `optionIds[]=id1&optionIds[]=id2`). Use `DEFAULT` to filter for mappings without a stored option. - **unitId** (string) - Optional - Filters mappings by a specific unit ID. - **unitIds[]** (string) - Optional - Filters mappings by a list of unit IDs. Use repeated query keys for arrays. ### Response #### Success Response (200) - **mappings** (array) - A list of mapping objects. #### Response Example ```json [ { "resellerReference": "RES-BOOK-10045", "productId": "e7cc8bb4-8d1c-4848-8824-5dbedb718681", "optionId": "94cdd032-3d32-416d-b0a4-abf8b7495b8b", "unitId": null, "optionRequired": true, "unitRequired": true, "validityDays": 2, "webhookUrl": "https://www.city-sightseeing.com" } ] ``` ``` -------------------------------- ### Products Endpoint Extension Source: https://docs.ventrata.com/capabilities/content This capability extends the `GET /products` endpoint by adding additional content filtering parameters. It also affects the `GET /products/{productId}` endpoint. ```APIDOC ## Products This capability extends product routes documented in [Products](/octo-core/products.md): * `GET /products` * `GET /products/{productId}` This capability extends the `GET /products` endpoint with additional content filtering parameters. ``` -------------------------------- ### Get Gift Voucher Source: https://docs.ventrata.com/capabilities/gift-vouchers Fetches a specific gift voucher using its UUID. ```APIDOC ## GET /gifts/{uuid} ### Description Fetches the details of a specific gift voucher using its unique identifier (UUID). ### Method GET ### Endpoint /gifts/{uuid} ### Parameters #### Path Parameters - **uuid** (string) - Required - The unique identifier of the gift voucher to retrieve. ### Request Example (No request body is required for this operation) ### Response #### Success Response (200 OK) - **uuid** (string) - The unique identifier of the gift voucher. - **value** (object) - The value of the gift voucher. - **amount** (number) - The amount. - **currency** (string) - The currency. - **contactEmailAddress** (string) - The recipient's email address. - **resellerReference** (string) - The reseller reference. - **supplierReference** (string) - The supplier reference. - **updatable** (boolean) - Indicates if the gift voucher can be updated. - **cancellable** (boolean) - Indicates if the gift voucher can be canceled. - **redeemed** (boolean) - Indicates if the gift voucher has been redeemed. - **deliveryOptions** (array) - Available delivery options for the gift voucher. #### Response Example ```json { "uuid": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "value": { "amount": 50.00, "currency": "EUR" }, "contactEmailAddress": "recipient@example.com", "resellerReference": "RES123", "supplierReference": null, "updatable": true, "cancellable": true, "redeemed": false, "deliveryOptions": [ { "type": "QRCODE", "deliveryValue": "https://example.com/qr/a1b2c3d4-e5f6-7890-1234-567890abcdef" } ] } ``` ``` -------------------------------- ### Get Notification Subscription Source: https://docs.ventrata.com/capabilities/notifications Retrieves details of a specific notification subscription by its ID. ```APIDOC ## GET /notifications/subscriptions/{subscriptionId} ### Description Retrieves details of a specific notification subscription. ### Method GET ### Endpoint /octo/notifications/subscriptions/{subscriptionId} ### Parameters #### Path Parameters - **subscriptionId** (string) - Required - The ID of the subscription to retrieve. ### Response #### Success Response (200) - **subscriptionId** (string) - The unique identifier for the subscription. - **url** (string) - The URL where notifications are sent. - **notificationTypes** (array) - The types of notifications subscribed to. - **headers** (object) - Optional headers to include in webhook requests. - **retryOnError** (boolean) - Whether to retry sending notifications on error. ``` -------------------------------- ### Get Order Details Source: https://docs.ventrata.com/capabilities/cart Retrieves the details of a specific order using its ID. ```APIDOC ## GET /orders/{orderId} ### Description Retrieves the details of a specific order. ### Method GET ### Endpoint /orders/{orderId} ### Parameters #### Path Parameters - **orderId** (string) - Required - The unique identifier of the order. ### Response #### Success Response (200) (Schema defined in OpenAPI specification, includes order-level fields) ### Request Example (No request body for GET request) ### Response Example (Refer to OpenAPI specification for detailed response body structure) ``` -------------------------------- ### Get Booking Details Source: https://docs.ventrata.com/octo-core/bookings Retrieves the details of a specific booking using its unique identifier. ```APIDOC ## GET /bookings/{uuid} ### Description Retrieves the details of a specific booking. ### Method GET ### Endpoint https://api.ventrata.com/octo/bookings/{uuid} ### Parameters #### Path Parameters - **uuid** (string) - Required - The unique identifier of the booking to retrieve. ### Response #### Success Response (200) (Schema not provided in source) #### Response Example (Schema not provided in source) ``` -------------------------------- ### Query Documentation Dynamically Source: https://docs.ventrata.com/capabilities/waivers Use this method to ask questions about the documentation when information is not explicitly present on the current page. The question should be specific and in natural language. ```http GET https://docs.ventrata.com/capabilities/waivers.md?ask= ``` -------------------------------- ### Gift Create Request with Gift Payment Source: https://docs.ventrata.com/capabilities/gift-vouchers Example of a Gift Create Request object that includes the `giftPayment` field. ```json { "// ...rest of gift create request object": "...", "giftPayment": { "code": "GIFT-2026-0001" } } ``` -------------------------------- ### Check Availability - POST Source: https://docs.ventrata.com/octo-core/availability Use this endpoint to check the general availability of products. This is recommended for detecting closures and operational limits. ```http POST /availability ``` -------------------------------- ### Option Schema with Custom Retail Extra Source: https://docs.ventrata.com/capabilities/extras Shows how to define a custom retail extra for an option, including its specific retail price points. ```json { "// ...rest of option object": "...", "extras": [ { "id": "3d6f0a3a-59d4-4b16-a0c5-11d2d8a4e6b7", "internalName": "Guide Gratuity", "reference": "guide_gratuity", "title": "Guide Gratuity", "customRetail": true, "customRetailOptions": [500, 1000, 1500], "restrictions": { "required": false, "default": false, "idRequired": false, "minQuantity": 1, "maxQuantity": 1, "minCustomRetail": 500, "maxCustomRetail": 5000, "paxCount": 0, "accompaniedBy": [], "accompaniedByRatio": null, "accompaniedByRatioDenominator": null, "notAccompaniedBy": [] } } ] } ``` -------------------------------- ### Gift Object with Gift Payment Source: https://docs.ventrata.com/capabilities/gift-vouchers Example of a Gift object that includes the `giftPayment` field, indicating a gift voucher associated with it. ```json { "// ...rest of gift object": "...", "giftPayment": { "code": "GIFT-2026-0001" } } ``` -------------------------------- ### Get Availability Resources Source: https://docs.ventrata.com/capabilities/resources Retrieves resources grouped by resourceGroupId for a specific availabilityId. This is useful for checking available resources before making a booking. ```json { "// ...rest of availability resources request object": "...", "resourceAllocations": [ { "resourceId": "resource_coach_12" } ] } ``` -------------------------------- ### PackageAvailability Object with Offer Details Source: https://docs.ventrata.com/capabilities/offers Details package availability including offer information, comparisons, and pricing. ```json { "// ...rest of package availability object": "...", "offerCode": "SUMMER25", "offerTitle": "Summer Promotion", "offerIsCombination": true, "offerComparisons": [ { "offerCode": "SUMMER25", "offerTitle": "Summer Promotion", "pricing": { "original": 2300, "retail": 2300, "net": 1610, "currency": "EUR", "currencyPrecision": 2, "includedTaxes": [ { "name": "10%", "shortDescription": null, "original": 209, "retail": 209, "net": 146 } ] }, "offer": { "id": "89fe0192-ddcd-430a-b285-e1396a4725d2", "title": "Summer Promotion", "code": "SUMMER25" } } ], "offer": { "id": "89fe0192-ddcd-430a-b285-e1396a4725d2", "title": "Summer Promotion", "code": "SUMMER25" }, "offers": [ { "id": "89fe0192-ddcd-430a-b285-e1396a4725d2", "title": "Summer Promotion", "code": "SUMMER25" } ] } ``` -------------------------------- ### Get Campaigns Catalog Source: https://docs.ventrata.com/capabilities/campaigns Retrieves the campaigns catalog. This endpoint is part of the Campaigns capability, which can be enabled by adding `octo/campaigns` to the `Octo-Capabilities` header. ```APIDOC ## GET /campaigns ### Description Retrieves the campaigns catalog. ### Method GET ### Endpoint /campaigns ### Parameters #### Query Parameters - **ask** (string) - Optional - Used to query the documentation dynamically. ### Response #### Success Response (200) - The response schema is defined in the OpenAPI specification linked in the source. ### Request Example ``` GET https://docs.ventrata.com/capabilities/campaigns.md?ask= ``` ``` -------------------------------- ### WebhookDeleteByUrlRequest Example Source: https://docs.ventrata.com/capabilities/webhooks Represents a request to delete a webhook subscription using its URL. This is a simple object containing only the URL of the webhook to be removed. ```json { "// ...rest of webhook delete by url request object": "...", "url": "https://hooks.example-partner.com/octo/webhook" } ``` -------------------------------- ### Booking Object with Gift Payment Source: https://docs.ventrata.com/capabilities/gift-vouchers Example of the Booking object including the `giftPayment` field, used when a gift voucher is applied to a booking. ```json { "// ...rest of booking object": "...", "giftPayment": { "giftCode": "GIFT-2026-0001", "code": "SUMMER25", "amount": 220.0, "currency": "USD" } } ``` -------------------------------- ### GET /bookings Source: https://docs.ventrata.com/octo-core/bookings Retrieves a list of bookings. This endpoint supports filtering by various criteria such as references, dates, availability, and status, as well as pagination. ```APIDOC ## GET /bookings ### Description Retrieves a list of bookings with support for filtering and pagination. ### Method GET ### Endpoint /bookings ### Parameters #### Query Parameters - **resellerReference** (string) - Optional - Filter by reseller reference. - **supplierReference** (string) - Optional - Filter by supplier reference. - **localDate** (string) - Optional - Filter by local date (YYYY-MM-DD). - **localDateStart** (string) - Optional - Filter by start of local date range (YYYY-MM-DD). - **localDateEnd** (string) - Optional - Filter by end of local date range (YYYY-MM-DD). - **availabilityId** (string) - Optional - Filter by availability ID. - **utcCreatedAtStart** (string) - Optional - Filter by start of UTC creation timestamp. - **utcCreatedAtEnd** (string) - Optional - Filter by end of UTC creation timestamp. - **utcUpdatedAtStart** (string) - Optional - Filter by start of UTC update timestamp. - **utcUpdatedAtEnd** (string) - Optional - Filter by end of UTC update timestamp. - **utcRedeemedAtStart** (string) - Optional - Filter by start of UTC redeemed timestamp. - **utcRedeemedAtEnd** (string) - Optional - Filter by end of UTC redeemed timestamp. - **utcNoshowedAtStart** (string) - Optional - Filter by start of UTC noshowed timestamp. - **utcNoshowedAtEnd** (string) - Optional - Filter by end of UTC noshowed timestamp. - **utcRebookedAtStart** (string) - Optional - Filter by start of UTC rebooked timestamp. - **utcRebookedAtEnd** (string) - Optional - Filter by end of UTC rebooked timestamp. - **utcCancelledAtStart** (string) - Optional - Filter by start of UTC cancelled timestamp. - **utcCancelledAtEnd** (string) - Optional - Filter by end of UTC cancelled timestamp. - **contactEmailAddress** (string) - Optional - Filter by contact email address. - **contactPhoneNumber** (string) - Optional - Filter by contact phone number. - **contactLastName** (string) - Optional - Filter by contact last name. - **status** (string) - Optional - Filter by booking status. Supported values: REDEEMED, NO_SHOW, ON_HOLD, CANCELLED, EXPIRED, PENDING, REJECTED, REBOOKED, QUOTE, CONFIRMED. - **page** (integer) - Optional - The page number for pagination. - **perPage** (integer) - Optional - The number of items per page for pagination. ### Response #### Success Response (200) - (Array of booking objects) - The response contains a list of booking objects matching the filter criteria. #### Response Header - **Octo-Total-Pages** (integer) - The total number of pages available for the given query. ### Pagination Notes - `page` and `perPage` query parameters are supported for pagination. - The `Octo-Total-Pages` header indicates the total number of pages. - If `page` is omitted, the API may aggregate all pages internally and return one combined array. ``` -------------------------------- ### List Products Source: https://docs.ventrata.com/octo-core/products Retrieves a list of all available products. This endpoint can be used to import the product list into your system. ```APIDOC ## GET /products ### Description Retrieves a list of all available products. ### Method GET ### Endpoint /products ### Parameters #### Query Parameters - **capability** (string) - Optional - Allows filtering products by capability. ### Response #### Success Response (200) - **products** (array) - A list of product objects. - **productId** (string) - Unique identifier for the product. - **name** (string) - The name of the product. - **description** (string) - A description of the product. - **price** (object) - Pricing information for the product. - **currency** (string) - The currency of the price. - **amount** (number) - The price amount. - **imageUrl** (string) - URL of the product image. - **attributes** (object) - Key-value pairs of product attributes. #### Response Example { "products": [ { "productId": "prod_123", "name": "Example Product", "description": "This is a sample product.", "price": { "currency": "USD", "amount": 100.00 }, "imageUrl": "https://example.com/image.jpg", "attributes": { "color": "blue", "size": "M" } } ] } ``` -------------------------------- ### Pricing Object with Offer Discount Source: https://docs.ventrata.com/capabilities/offers Represents pricing details, including an offer discount with retail, net amounts, and associated taxes. ```json { "// ...rest of pricing object": "...", "offerDiscount": { "retail": 2000, "net": 2000, "includedTaxes": [ { "name": "Sales Tax", "shortDescription": "Local sales tax", "retail": 200, "net": 200 } ] } } ``` -------------------------------- ### Order Update Request with Gifts Source: https://docs.ventrata.com/capabilities/gift-vouchers Example of an Order Update Request object, including a `gifts` array to specify gift details for the order. ```json { "// ...rest of order update request object": "...", "gifts": [ { "amount": 100.0, "currency": "USD" } ] } ``` -------------------------------- ### Booking Write Request with Gift Payment Source: https://docs.ventrata.com/capabilities/gift-vouchers Example of a Booking Write Request object that includes the `giftPayment` field to apply a gift voucher. ```json { "// ...rest of booking write request object": "...", "giftPayment": { "code": "GIFT-2026-0001" } } ``` -------------------------------- ### Request Localized Product Content Source: https://docs.ventrata.com/getting-started/localization Use the product operation with the `Accept-Language` header to request localized content for a specific product. ```APIDOC ## GET /products/{productId} ### Description Retrieves details for a specific product, with content localized based on the `Accept-Language` header. ### Method GET ### Endpoint /products/{productId} ### Parameters #### Path Parameters - **productId** (string) - Required - The unique identifier of the product. #### Headers - **Accept-Language** (string) - Optional - A list of preferred languages, e.g., `en-US,en;q=0.9`. The API will attempt to match this with available translations. ### Response #### Success Response (200) - **Content-Language** (string) - Indicates the language of the returned content. For example, `en` if no other translation is available. #### Headers - **Octo-Available-Languages** (string) - Lists all languages translated by the supplier, e.g., `en,es,fr`. ``` -------------------------------- ### Product Pricing Configuration Source: https://docs.ventrata.com/capabilities/pricing Defines product-level pricing settings, including available currencies, tax inclusion, and pricing strategy (per unit or multiplier). ```json { "// ...rest of product object": "...", "availableCurrencies": [ "USD", "EUR" ], "defaultCurrency": "USD", "includeTax": true, "includedTaxes": [ { "name": "Sales Tax", "shortDescription": "Local sales tax", "original": 2000, "retail": 1800, "net": 1600 } ], "hidePricingFrom": true, "pricingPer": "UNIT", "pricingMultiplier": 10.0 } ```