All pages
Powered by GitBook
1 of 1

Availability

Room for one more?

Get realtime availability & pricing.

Prioticket provides two distinct endpoints to support accurate availability and pricing:

  • Availability & Pricing Variations API – Returns detailed pricing rules and logic, ideal for advanced UI behavior or transparency in pricing explanations.

  • Availability & Calculated Pricing API – Returns real-time availability and final calculated pricing, optimized for booking flows and calendar rendering.

Each serves a different purpose in the booking journey. To implement them correctly and avoid common pitfalls (e.g. mismatched prices, missing availability, performance issues), please refer to the full documentation on GitBook.

Get Availability & Pricing Variations

get

Returns detailed pricing rules, variations, and conditions for the selected product.

Use this endpoint to understand why and how prices change, based on rules such as date-based pricing, quantity discounts, time-of-day rules, and other dynamic configurations.

Ideal for building advanced UIs that explain pricing logic to end users or trigger specific behaviors based on rule conditions.

📘 View full documentation on GitBook

Authorizations
Query parameters
distributor_idstringOptional

[FILTER] on distributor_id.

Example: 501
product_idstring[]Optional

[FILTER] on product_id.

Example: ["PRODUCT_ID_123"]
from_datestring · dateRequired

[FILTER] From which date availability is requested. If supplied with to_date , then availability request is for a date range. If supplied without to_date, then for a single date availability is requested.

to_datestring · dateOptional

[FILTER] Till which date availability is requested. If this is empty, availability will be searched for the given from_date only.

include_disabledbooleanOptional

[FILTER] Include disabled / closed (availability_active:false) entries.

Default: falseExample: true
availability_capacity_idstringOptional

[FILTER] on availability_capacity_id.

spots_open_minintegerOptional

[FILTER] The minimum remaining availability_spots_open.

sub_products_depthintegerOptional

[FILTER] The iteration depth of the included entries of the sub-products in the response. This will not apply to sub-products which have shared capacity linked to the main product.

Example Setup:

Product 101 (Main)
  Product 201 (Sub)
    Product 301 (Nested)
    Product 302 (Nested)
  Product 202 (Sub)
    Product 401 (Nested)
    Product 402 (Nested)
  • sub_products_depth:0 will return Product 101.
  • sub_products_depth:1 will return Product 101, 201 and 202.
  • sub_products_depth:2 will return Product 101, 201, 202, 301, 302, 401 and 402.
Default: 0Example: 1
Header parameters
If-Modified-SincestringOptional

[CACHE] The If-Modified-Since request HTTP header makes the request conditional: the server will send back the requested resource, with a 200 status, only if it has been modified after the given date.

If the resource has not been modified since, the response will be a 304 without any body; the Last-Modified response header of a previous request will contain the date of last modification.

Note that if a single resource has changed, all records matching your request will be returned, not just those changed after the given date. This provides you with an efficient caching method.

Example: Wed, 21 Jan 2022 07:28:00 GMT
Responses
200
Product Availability Response
application/json
400
Invalid Request The HyperText Transfer Protocol (HTTP) 400 Bad Request response status code indicates that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
application/json
401
Authentication Failed The access token provided is expired, revoked, malformed, or invalid for other reasons. The resource SHOULD respond with the HTTP 401 (Unauthorized) status code. The client MAY request a new access token and retry the protected resource request.
application/json
403
Forbidden The request requires higher privileges than provided by the access token. The resource server SHOULD respond with the HTTP 403 (Forbidden) status code and MAY include the `scope` attribute with the scope necessary to access the protected resource.
application/json
405
Method Not Allowed The HyperText Transfer Protocol (HTTP) 405 Method Not Allowed response status code indicates that the request method is known by the server but is not supported by the target resource. A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource.
application/json
406
Not Acceptable The HyperText Transfer Protocol (HTTP) 406 Not Acceptable client error response code indicates that the server cannot produce a response matching the list of acceptable values defined in the request's proactive content negotiation headers, and that the server is unwilling to supply a default representation.
application/json
422
Unprocessable Entity The HyperText Transfer Protocol (HTTP) 422 Unprocessable Entity response status code indicates that the server understands the content type of the request entity, and the syntax of the request entity is correct, but it was unable to process the contained instructions.
application/json
429
Too Many Requests The HTTP 429 Too Many Requests response status code indicates the user has sent too many requests in a given amount of time ("rate limiting").
application/json
500
Internal Server Error The HyperText Transfer Protocol (HTTP) 500 Internal Server Error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.
application/json
501
Not Implemented The HyperText Transfer Protocol (HTTP) 501 Not Implemented server error response code means that the server does not support the functionality required to fulfill the request. The server either does not recognize the request method, or it lacks the ability to fulfil the request. Usually this implies future availability (e.g., a new feature of a web-service API).
application/json
502
Bad Gateway The HyperText Transfer Protocol (HTTP) 502 Bad Gateway server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server. The HTTP 502 Bad Gateway error is exclusively returned in case of problems during communication with the supplier or third-party system.
application/json
503
Service Unavailable The HyperText Transfer Protocol (HTTP) 503 Service Unavailable server error response code indicates that the server is not ready to handle the request. The HTTP 503 Service Unavailable error is exclusively returned in case of problems during internal communication.
application/json
504
Gateway Timeout The HyperText Transfer Protocol (HTTP) 504 Gateway Timeout server error response code indicates that the server, while acting as a gateway or proxy, did not get a response in time from the upstream server that it needed in order to complete the request. The HTTP 504 Gateway Timeout error is exclusively returned in case of problems during communication with the supplier or third-party system.
application/json
get
GET /v3.8/distributor/availability HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "api_version": "3.8.0",
  "data": {
    "kind": "location",
    "current_item_count": 10,
    "items_per_page": 10,
    "start_index": 1,
    "total_items": 200,
    "page_index": 1,
    "total_pages": 20,
    "items": [
      {
        "availability_id": "20191026090010006526",
        "availability_capacity_id": "43525235",
        "availability_capacity_shared_id": "435252453",
        "availability_label": "Morning",
        "availability_product_id": "3532",
        "availability_admission_type": "TIME_PERIOD",
        "availability_active": true,
        "availability_duration": 3600,
        "availability_from_date_time": "2025-07-05T02:53:29.870Z",
        "availability_to_date_time": "2025-07-05T02:53:29.870Z",
        "availability_booking_window_start": "2025-07-05T02:53:29.870Z",
        "availability_booking_window_end": "2025-07-05T02:53:29.870Z",
        "availability_spots": {
          "availability_spots_total": 100,
          "availability_spots_reserved": 15,
          "availability_spots_booked": 10,
          "availability_spots_open": 75
        },
        "availability_created": "2025-07-05T02:53:29.870Z",
        "availability_modified": "2025-07-05T02:53:29.870Z"
      }
    ]
  }
}
Beta

Get Availability & Calculated Pricing

post

Returns up-to-date availability and pre-calculated pricing based on the selected configuration and party size.

This endpoint provides simplified access to final pricing, ideal for rendering calendars and booking flows. For advanced use cases and detailed logic (e.g. price variations, rule-based conditions), refer to our extended documentation.

📘 View full documentation on GitBook

Authorizations
Path parameters
product_idstringRequired

Unique identifier for the product assigned by Prio.

Query parameters
distributor_idstringOptional

[FILTER] on distributor_id.

Example: 501
from_datestring · dateRequired

[FILTER] From which date availability is requested. If supplied with to_date , then availability request is for a date range. If supplied without to_date, then for a single date availability is requested.

to_datestring · dateOptional

[FILTER] Till which date availability is requested. If this is empty, availability will be searched for the given from_date only.

include_disabledbooleanOptional

[FILTER] Include disabled / closed (availability_active:false) entries.

Default: falseExample: true
availability_capacity_idstringOptional

[FILTER] on availability_capacity_id.

spots_open_minintegerOptional

[FILTER] The minimum remaining availability_spots_open.

sub_products_depthintegerOptional

[FILTER] The iteration depth of the included entries of the sub-products in the response. This will not apply to sub-products which have shared capacity linked to the main product.

Example Setup:

Product 101 (Main)
  Product 201 (Sub)
    Product 301 (Nested)
    Product 302 (Nested)
  Product 202 (Sub)
    Product 401 (Nested)
    Product 402 (Nested)
  • sub_products_depth:0 will return Product 101.
  • sub_products_depth:1 will return Product 101, 201 and 202.
  • sub_products_depth:2 will return Product 101, 201, 202, 301, 302, 401 and 402.
Default: 0Example: 1
availability_modifiedstring · date-timeOptional

[FILTER] Only show entries modified after the given date.

Fetch incremental updates through this endpoint.

items_per_pageinteger · min: 1 · max: 200Optional

[PAGING] Items Per Page - Allows user's to configure the items_per_page value. For example, to load 100 items per page, the developer may point the user to a url with the query string ?items_per_page=100.

This parameter is mainly usefull to manage response times, higher values result in longer response times and therefore it is recommended to keep this value as low as possible. We do allow to adjust this value so it can be used to batch/cache/update inventory at once.

Clients should anticipate that the value of this parameter may not be honored by the API, and should rely exclusively on the contents of the items_per_page response element in calculating actual page size.

Default: 10Example: 5
start_indexinteger · min: 1 · max: 10000Optional

[PAGING] Index-based paging - Allows user's to jump directly to a specific item position within a list of items. For example, to load 10 items starting at item 200, the developer may point the user to a url with the query string ?start_index=200.

Default: 1Example: 1
pageinteger · min: 1Optional

[PAGING] Page-based paging - Allows user's to jump directly to a specific page within the items. This is similar to index-based paging, but saves the developer the extra step of having to calculate the item index for a new page of items. For example, rather than jump to item number 200, the developer could jump to page 20. The urls during page-based paging could use the query string ?page=1 or ?page=20. The page_index and total_pages properties are used for this style of paging.

Default: 1Example: 1
Header parameters
If-Modified-SincestringOptional

[CACHE] The If-Modified-Since request HTTP header makes the request conditional: the server will send back the requested resource, with a 200 status, only if it has been modified after the given date.

If the resource has not been modified since, the response will be a 304 without any body; the Last-Modified response header of a previous request will contain the date of last modification.

Note that if a single resource has changed, all records matching your request will be returned, not just those changed after the given date. This provides you with an efficient caching method.

Example: Wed, 21 Jan 2022 07:28:00 GMT
Body

Request for availability & pricing.

api_versionstringRead-onlyRequired

Represents the version of the service API that's served in the response.

Example: 3.8.0
Responses
200
Product Availability Response
application/json
400
Invalid Request The HyperText Transfer Protocol (HTTP) 400 Bad Request response status code indicates that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
application/json
401
Authentication Failed The access token provided is expired, revoked, malformed, or invalid for other reasons. The resource SHOULD respond with the HTTP 401 (Unauthorized) status code. The client MAY request a new access token and retry the protected resource request.
application/json
403
Forbidden The request requires higher privileges than provided by the access token. The resource server SHOULD respond with the HTTP 403 (Forbidden) status code and MAY include the `scope` attribute with the scope necessary to access the protected resource.
application/json
405
Method Not Allowed The HyperText Transfer Protocol (HTTP) 405 Method Not Allowed response status code indicates that the request method is known by the server but is not supported by the target resource. A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource.
application/json
406
Not Acceptable The HyperText Transfer Protocol (HTTP) 406 Not Acceptable client error response code indicates that the server cannot produce a response matching the list of acceptable values defined in the request's proactive content negotiation headers, and that the server is unwilling to supply a default representation.
application/json
422
Unprocessable Entity The HyperText Transfer Protocol (HTTP) 422 Unprocessable Entity response status code indicates that the server understands the content type of the request entity, and the syntax of the request entity is correct, but it was unable to process the contained instructions.
application/json
429
Too Many Requests The HTTP 429 Too Many Requests response status code indicates the user has sent too many requests in a given amount of time ("rate limiting").
application/json
500
Internal Server Error The HyperText Transfer Protocol (HTTP) 500 Internal Server Error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.
application/json
501
Not Implemented The HyperText Transfer Protocol (HTTP) 501 Not Implemented server error response code means that the server does not support the functionality required to fulfill the request. The server either does not recognize the request method, or it lacks the ability to fulfil the request. Usually this implies future availability (e.g., a new feature of a web-service API).
application/json
502
Bad Gateway The HyperText Transfer Protocol (HTTP) 502 Bad Gateway server error response code indicates that the server, while acting as a gateway or proxy, received an invalid response from the upstream server. The HTTP 502 Bad Gateway error is exclusively returned in case of problems during communication with the supplier or third-party system.
application/json
503
Service Unavailable The HyperText Transfer Protocol (HTTP) 503 Service Unavailable server error response code indicates that the server is not ready to handle the request. The HTTP 503 Service Unavailable error is exclusively returned in case of problems during internal communication.
application/json
504
Gateway Timeout The HyperText Transfer Protocol (HTTP) 504 Gateway Timeout server error response code indicates that the server, while acting as a gateway or proxy, did not get a response in time from the upstream server that it needed in order to complete the request. The HTTP 504 Gateway Timeout error is exclusively returned in case of problems during communication with the supplier or third-party system.
application/json
post
POST /v3.8/distributor/availability/{product_id} HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 23

{
  "data": {
    "pricing": []
  }
}
{
  "api_version": "3.8.0",
  "data": {
    "kind": "location",
    "current_item_count": 10,
    "items_per_page": 10,
    "start_index": 1,
    "total_items": 200,
    "page_index": 1,
    "total_pages": 20,
    "items": [
      {
        "availability_id": "20191026090010006526",
        "availability_capacity_id": "43525235",
        "availability_capacity_shared_id": "435252453",
        "availability_label": "Morning",
        "availability_product_id": "3532",
        "availability_admission_type": "TIME_PERIOD",
        "availability_active": true,
        "availability_duration": 3600,
        "availability_from_date_time": "2025-07-05T02:53:29.870Z",
        "availability_to_date_time": "2025-07-05T02:53:29.870Z",
        "availability_booking_window_start": "2025-07-05T02:53:29.870Z",
        "availability_booking_window_end": "2025-07-05T02:53:29.870Z",
        "availability_spots": {
          "availability_spots_total": 100,
          "availability_spots_reserved": 15,
          "availability_spots_booked": 10,
          "availability_spots_open": 75
        },
        "availability_created": "2025-07-05T02:53:29.870Z",
        "availability_modified": "2025-07-05T02:53:29.870Z",
        "availability_pricing": [
          {
            "pricing_total": {
              "total_sales_price": "18.50",
              "total_distributor_price": "16.40",
              "total_reseller_price": "15.40",
              "total_market_price": "14.40",
              "total_supplier_price": "12.00",
              "total_fees": [
                {
                  "fee_type": "SERVICE",
                  "fee_amount": "0.50",
                  "fee_percentage": "25.00",
                  "fee_tax_amount": "0.65",
                  "fee_included": true
                }
              ]
            },
            "product_type_pricing": [
              {
                "product_type": "ADULT",
                "product_type_id": "PRODUCT_TYPE_ID_123",
                "product_type_price_type": "INDIVIDUAL",
                "product_type_sales_price": "18.50",
                "product_type_distributor_price": "16.40",
                "product_type_reseller_price": "15.40",
                "product_type_market_price": "14.40",
                "product_type_supplier_price": "10.00",
                "product_type_quantity_min": 1,
                "product_type_quantity_max": 10,
                "product_type_fees": [
                  {
                    "fee_type": "SERVICE",
                    "fee_amount": "0.50",
                    "fee_percentage": "25.00",
                    "fee_tax_amount": "0.65",
                    "fee_included": true
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  }
}