Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Two Generals' Problem
The Prio API supports idempotency, which ensures that repeated requests do not result in duplicate actions. This is especially useful when you need to retry a request due to failures or errors, such as a timeout.
For example, if you encounter a timeout error while making a Create Order request, you can safely retry the request multiple times. The API will ensure that the order is only created once, regardless of how many times the request is retried.
Idempotency is supported for POST requests. Other HTTP methods like GET, DELETE, and PUT are idempotent by definition, so retries on those requests will also not result in unintended duplicate actions.
Keep it fair
Currently, we do not implement active rate limiting measures on the API. Instead, we follow a fair-use policy, evaluating whether the API is being used appropriately based on usage patterns.
We analyze API calls to identify any excessive usage, such as:
Incorrect caching practices
Improper chaining of requests
Unnecessary API calls
In addition to this, we have strong DDoS prevention mechanisms to protect against malicious attacks and ensure the availability and reliability of our services.
The guidelines for acceptable usage are outlined during the API certification process. If we identify any integration issues or patterns of misuse, we will proactively communicate with our partners via email, providing recommendations to improve the integration and optimize the connection.
Manage email & vouchers
Prioticket Distributor API
This document describes the Prioticket API, powered by a platform through which products can be distributed for services and venues. This API allows to obtain information about our inventory, check real-time availability and make bookings. Every booking will result in valid tickets with which users have access to the services and venues. Access is allowed when a valid passcode gets scanned and redeemed by the supplier.
Our API is designed to help manufacturers, wholesalers, and suppliers seamlessly connect with their distribution partners, enabling faster transactions, real-time data exchange, and complete process automation. Built with flexibility in mind, it integrates effortlessly into existing systems, ensuring minimal disruption and maximum value.
We developed our Distributor API based on extensive market research and a detailed analysis of competing solutions. The result? An API that offers one of the most extensive feature sets available today, tailored specifically to the needs of modern distribution networks.
"As CTO of Prioticket, I can confidently say our API isn’t just a tool, it’s a testament to what’s possible when technology meets innovation. We designed our system to be limitless, adaptable, and built for the future." - Raoul van Woerkom
Comprehensive Product Data Access Distributors can pull up-to-date product information, including pricing, availability, and specifications, directly into their own systems.
Real-Time Inventory Visibility Give your partners instant access to your latest stock levels, minimizing backorders and improving order accuracy.
Streamlined Ordering Process From order placement to confirmation, the entire order lifecycle is automated, reducing manual touchpoints and human error.
Flexible Pricing Models Support for custom pricing agreements, volume discounts, and contract-specific pricing ensures every distributor gets accurate, personalized data.
Secure, Scalable, and Reliable Engineered for high performance, our API handles large volumes of requests without compromising on speed or reliability.
Built for Developers Comprehensive documentation, intuitive endpoints, and clear examples make onboarding fast and painless, for both your internal teams and your external partners.
Manage product availability and capacity
This guide explains how to manage product availability and capacity for booking experiences such as tours, events, and activities.
Understanding availability and capacity is essential to ensuring your customers can book products at the right time without overbooking. This documentation covers:
Tell us who you are
To ensure no spooky stuff happens.
Defining Your Terms and Handling Statuses
Our API allows you to cancel bookings based on a predefined cancellation policy. As the merchant of record, you have the flexibility to either adopt the default cancellation terms provided or create your own customized terms.
For example, you can:
Label all products as non-refundable.
Extend the full-refund period to 72 hours, instead of the standard 24-hour window.
However, it’s important to note that regardless of the cancellation policy you set, you will still be invoiced according to the original cancellation terms defined via the API.
Yes, while cancellations are typically processed instantly, there are edge cases where the cancellation may not be confirmed immediately.
For example, if a third-party supplier system experiences a timeout or takes longer than expected to process the cancellation, the initial API response will indicate that the cancellation is still being processed.
In such cases, the booking_status
returned in the cancellation response will be:
To ensure you always receive the final status of the booking, we recommend implementing the "Cancel Order" webhook, which will notify you once the cancellation has been fully processed and confirmed.
Sell more than just activities
Merchandise stock.
BOOKING_PROCESSING_CANCELLATION
Complex pricing made simple
Prioticket offers a powerful and flexible pricing engine designed to support a wide range of business models, from simple fixed pricing to advanced real-time dynamic pricing. This documentation will guide you through all pricing concepts, configuration methods, and integration patterns supported within the platform.
Whether you're a distributor, reseller, or working with both roles in a hybrid setup, Prioticket helps you optimize your pricing structure to align with your sales strategy.
Prioticket supports multiple pricing strategies, allowing businesses to set rules and respond to market changes. These are the three pillars:
Base Pricing
The starting price defined for a product. Often based on ticket type (adult, child, etc.) and season.
Variable Pricing
Predefined price variations based on criteria like date, time, quantity, or booking window. It’s structured and rule-based, not reactive.
Dynamic Pricing
Real-time price adjustments based on external factors like demand, inventory, or competitor prices—applied via seamless third-party integrations.
This documentation is divided into the following sections:
Who Are You? Identify your role in the sales chain (distributor or reseller) and how pricing applies to your model.
Pricing Configurations Understand how base prices, age groups, quantity rules, and seasonal logic are combined and calculated within the API responses.
Variable Pricing Learn how to set up rule-based price variations (e.g., by time slot, day of the week, quantity, or advance booking period).
Dynamic Pricing Explore how Prioticket enables real-time pricing through third-party integrations for responsive, demand-based pricing strategies.
See how each component, from configuration to real-time calculation, works together in a unified pricing flow across all stages of the customer journey.
Rule-based pricing
Variable pricing is a flexible strategy where product prices are adjusted based on predefined rules. This model is particularly useful for applying strategic price differentiation without requiring real-time updates.
Variable pricing refers to changes in pricing based on structured, rule-based conditions. These changes are not calculated dynamically but follow logic that has been set in advance. This allows for transparent and predictable pricing strategies.
Prioticket supports a wide range of variable pricing options:
Day of the Week (DOW): Different prices can be applied depending on the day (e.g., higher prices on weekends).
Date-Based Pricing: Unique prices set for specific dates.
Time Period Pricing: Applies different rates during defined hours (e.g., 4 PM – 5 PM).
Time Slot Pricing: Specific pricing for certain time slots.
Quantity-Based Pricing: Pricing changes based on the number of tickets or products selected.
Advance Booking Period: Adjust prices based on how far in advance the booking is made.
Increase or Decrease: Prices can be raised or discounted.
Types of Adjustments: Adjustments may be a fixed monetary amount or a percentage.
Targeted Scope: Variations may apply to all tickets or only specific ticket types (e.g., adult or child).
Season Duration: Price rules typically apply to entire seasons and are not changed frequently (usually not more than once per month).
Offering discounts for early bookings.
Charging premium rates on weekends.
Encouraging bulk purchases with tiered pricing.
Lowering prices for low-demand time slots.
Clearly define seasonal windows before setting variable rules.
Apply different pricing rules gradually to avoid over-complication.
Test and monitor API results to confirm that pricing logic behaves as expected.
Understand Your Pricing Role
Prioticket supports a variety of pricing strategies depending on your business role and sales channels. Understanding your role is key to configuring and managing pricing effectively.
Your pricing approach may vary based on your business role:
Distributor on a Commission/Net Model Work with fixed commissions or negotiated net pricing.
Distributor or Reseller on a Revenue Share Model Collaborate with suppliers to share revenues transparently.
Reseller on a Cost-Plus Model Operate using cost-based calculations with clear markup strategies.
Perfect for B2B setups with clear commission or fixed net pricing.
How it works:
You receive a cost price from the reseller admin.
You can configure your own agent fee or discounts.
The guest pays the final price, which includes any applied fees.
Best for partnerships where revenue is shared between parties.
How it works:
A revenue share percentage is agreed between distributor and reseller (e.g., 30/70).
The margin between cost and selling price is split accordingly.
Ideal for centralized pricing with reseller flexibility.
How it works:
The supplier provides a net cost.
The market admin applies a markup to set the resale price.
Resellers use this resale price as their cost and can set guest prices independently, increase or descreasing their margin.
INDIRECT SALES → Distributor Channel Example: Rubens Hotel (Distributor) sells Evan Evans tickets.
DIRECT SALES → Direct Channel Example: Guest books directly via web POS or app.
INDIRECT SALES → Reseller Channel Example: Booking via platforms like Viator.
Manage multi-product carts
The Cart functionality allows you to group multiple bookings (from one or more suppliers) under a single order, enabling flexible checkout, centralized payment, and promotional logic. The key to managing a shared cart is the order_reference
, which is created once and reused across all related operations.
Group bookings from multiple suppliers into a single order.
Apply promotions and cart-level discounts.
Centralize payment under one transaction.
Fully compatible with real-time availability and POS/web workflows.
Order Reference: A unique identifier representing the cart. All bookings associated with this order_reference
are grouped together.
Booking Aggregation: Multiple bookings can be added to the same cart by referencing the existing order_reference
.
Real-time Cart Management: Bookings can be added or removed dynamically, with the cart reflecting the current state.
Promotions and Discounts: Apply various promotional codes or discounts, which can affect individual items or the entire cart.
Payment Integration: Once all desired bookings are in the cart, a single payment transaction can be initiated for the entire order.
Multi Language Support
Our API fully supports multilingual content, allowing you to provide content in multiple languages for your products.
The translatable content for each product is stored within the product_content
object. By default, the API returns content in the default language of the product, which is typically English.
If you'd like to retrieve the content in a different language, you can find the available languages for a specific product within the product_content_languages
array. This array contains the language codes for all supported languages for that product.
To request content in a specific language, simply include one of the language codes from the product_content_languages
array in your request. Add the language code to the URL as follows:
&product_content_language={language_code}
This will allow you to retrieve product content in the desired language.
Never stop improving
We’ve established a versioning strategy to manage updates to our API, ensuring smooth transitions and backward compatibility for our partners. When a new version is released, you can continue using the current version or migrate to the updated version at your convenience.
Deprecated Methods: Some methods are marked as deprecated due to limitations in our interactive documentation. These methods are not actually deprecated but are planned for future release. You can ignore these parameters as they relate to features outside the scope of your current integration.
Continuous Updates: We are constantly improving and adding new functionalities to the API. As long as updates are backward-compatible and non-breaking, they will be incorporated into the current version. If any breaking changes are needed, a new version will be released. Please note that syntax for upcoming features may change before release.
New Versions: New API versions are released as needed. Any breaking changes will trigger a version increment. All endpoints will be updated to the latest version when a new release occurs.
Notifications: Partners will be notified of version releases, including new features and any breaking changes.
Deprecation Period: Once an API version is deprecated, partners will have a minimum of 18 months to update their systems. After this period, requests to deprecated versions may result in a 400 Bad Request response.
Backward-Compatible Changes: Some changes do not require a version increment and are fully backward-compatible. These include:
Introduction of new API endpoints.
Addition of non-required properties to request/response schemas.
Addition of new HTTP methods (POST, GET, PUT, PATCH, DELETE).
Addition of new key values in existing fields (without changing operational logic).
Unexpected HTTP redirects (301, 302) may be handled as part of normal operations.
Breaking Changes: Any changes that break compatibility with existing implementations will result in a version increment. These include:
Addition or removal of required properties in request/response schemas.
Change in data type or format of fields (e.g., changing date formats).
Alteration or removal of HTTP status codes in responses.
Modifying the Content-Type on existing endpoints.
Modification or removal of field key values in a set.
Changes to the operationId of an endpoint.
Information Overload
Please be aware that some datasets can be larger than others, as the size of your inventory depends on the specific configuration of your catalogue. For endpoints where potentially thousands of records are expected, pagination is available to manage the volume of data efficiently.
To ensure optimal performance and avoid timeouts or excessive data loads, we highly recommend implementing pagination when retrieving large datasets. This is particularly important for partners who are processing considerable volumes of data, as it helps ensure smoother and more manageable requests. By following the pagination rules, you can easily retrieve the full dataset without overloading your system or encountering errors.
Admission Types Explained
When booking certain products, guests may be required to choose a specific day or time for their booking. Depending on the type of admission, the calendar or date-time picker may have different restrictions. Below, we outline the most common types of admission and how each one functions during the booking process.
With this admission type, customers can arrive anytime between the start and end time of the availability slot. There can be multiple time periods within a single day, so both a date picker and a time picker will be necessary for this selection.
Amusement Park with Multiple Shifts: Guests can choose between a morning shift (e.g., 09:00 - 12:00) or an afternoon shift (e.g., 14:00 - 22:00).
Afternoon Admission: A ticket valid from 1pm to 9pm at an amusement park.
This is a variation of the TIME_PERIOD type, but in this case, there’s only one period per day. The guest only needs to select a date (no need to choose a time). If the availability spans across midnight (over two days), the start date is used to determine the valid day.
Museum Ticket: Valid for any time during the chosen day.
Public Transport Ticket: Can be used anytime during the whole day.
For TIME_POINT admission, customers must arrive at the start time of the availability slot but are free to leave whenever they wish. The start time is critical, as it defines the time the customer needs to be present.
Museum Timed Entry: A ticket with a 10am entry time. The guest must arrive by 10am but can leave any time afterward.
This type of admission allows customers to arrive at any time within a valid period, there are no time restrictions or availability checks.
Museum Entry Voucher: Valid for entry at any time during the year.
With this type, customers must be present at the start time and are expected to stay until the end time. This is typically used for events or services that have a specific duration, such as a tour, class, or appointment.
Tour Reservation: A tour starting at 9am and ending around 12pm.
Haircut Appointment: A reserved time at 3pm for a 30-minute session.
Fitness Class: A class from 6pm to 8pm.
True dynamic runtime pricing
Dynamic pricing enables real-time price adjustments based on live variables such as demand, supply, time, customer behavior, or external market conditions. This strategy empowers businesses to respond to market fluctuations and maximize revenue.
Dynamic pricing adjusts prices on the fly using data inputs and intelligent algorithms. It’s commonly used in industries where supply and demand fluctuate frequently.
Airlines & Hotels: Prices vary with seat or room availability.
E-commerce: Rates shift based on inventory or competitor pricing.
Ride-Sharing: Peak hours result in higher prices due to demand.
Prioticket integrates with third-party pricing engines to ingest real-time pricing data. This allows the platform to reflect dynamic prices across:
Web POS
Agent Portal
APIs (Reservation and Order)
These integrations ensure that pricing stays competitive and optimized without manual intervention.
Configure products to accept external pricing input.
Connect third-party pricing providers via API.
Prioticket will use the incoming pricing data during the booking process.
Maximizes revenue during high-demand periods.
Enables promotional pricing in response to market events.
Reduces manual pricing management.
Price transparency for users must be maintained.
Thorough testing is recommended to validate real-time updates.
Each product in our system contains product types, which can vary in their configuration. These types can include age-based ticketing (such as Adult and Child), as well as other flexible variations like group pricing, business vs. economy seating, or different car configurations. Since different products may behave differently, each product type is grouped into a product class, a category that defines how the product behaves.
Products in the Standard class are the most common and are supported by almost all systems. These product types are typically age-restricted, allowing for variations in pricing based on the customer’s age. For example, adults may pay full price, while children or seniors might receive discounts. Some products may also have special rules, such as requiring at least one adult for every group of children.
When customers proceed through the checkout process, they will be asked to select the number of individuals from each age group. The common age categories are:
ADULT – Adult
CHILD – Child
SENIOR – Senior
YOUTH – Youth
INFANT – Infant
Products in the Individual class are less common and usually have fewer supported systems. These product types are not age-restricted. Instead, they are typically focused on specific individual categories such as:
PERSON – Person
STUDENT – Student
RESIDENT – Resident
MILITARY – Military
IMPAIRED – Impaired
The Item class includes product types that do not refer to people, but rather other items or packages. These could include things like:
A specific item or package (e.g., Regular, Silver, Diamond)
Merchandise (e.g., souvenirs)
Private tours or event types
Class identifiers (e.g., Economy, Business)
Products in the Group class are designed for multiple people. These types are useful for bookings where several individuals are included in a single transaction. For example:
GROUP – A group of people
FAMILY – A family (e.g., 2 adults, 2 children)
Custom class products are dynamic and fully configurable. They are used when a product requires specific integration with external systems. These products don’t have a fixed product type but instead can take any form based on the external system's needs.
CUSTOM – A custom product (e.g., a special package that requires explicit mapping with an external system)
By categorizing products into these classes, we provide flexibility and precision in how products and their types are structured, ensuring a smooth and intuitive experience for both customers and integration partners.
Supplemental Data
To allow secure data transmission between Suppliers and Distributors all API requests require HTTPS.
The API Key Token information for the staging and production environment will be sent in a separate mail.
If the request lacks any authentication information (e.g., the client was unaware that authentication is necessary or attempted using an unsupported authentication method), the resource server should not include an error code or other error information.
Authorization: Bearer JWT Token
The Content-Type
should be application/json
.
This API is equipped to support gzip compression. By including "gzip" in the Accept-Encoding header parameter of your request, the API will reply with a compressed response using gzip format.
Application info consists of data elements that identify the software that you use for making requests to the Prio platform. When you include application info in your requests, we can analyze and troubleshoot more efficiently, and provide a better support experience.
Application info includes:
App-Name
- Name of your application.
App-Version
- Version of your application.
App-Flavor
- Flavor of your application.
App-Package-Name
- Package name of your application.
App-Build-Number
- Build number of your application.
App-Platform
- Platform of your application (e.g Web, iOS, Android).
App-Flavor
- Flavor of your application.
App-Reference
- Unique request reference from your application.
App-Machine-ID
- Identifier of your machine.
Above values can be sent in the headers of any request and we recommend sending them if you have multiple applications directly interacting with this API. Custom headers can be sent as well, as long as they have the "App-" prefix attached.
Seamless Integration, Maximum Flexibility
At Prioticket, we are proud supporters of OCTO, one of the most recognized and widely adopted API standards in the travel industry. In fact, if you’re already an OCTO-compliant supplier, connecting to Prioticket is effortless, no additional development required.
We’re also actively working on supporting OCTO for resellers, so stay tuned for updates on that front.
It’s a great question, and the answer is simple: we believe in flexibility. Whether you choose to work with OCTO or leverage the Prioticket API, the choice is entirely yours. Every partner is different, so we leave it up to you to decide what fits your needs best.
To make your decision easier, we’ve created a detailed comparison of the Prioticket API vs OCTO, highlighting the key differences, capabilities, and benefits of each option.
The Distributor API V3.8 allows authorized distributors to:
Access product inventory
Check real-time availability
Create bookings
Generate valid tickets for services and venues
Each successful booking returns a ticket containing a valid passcode. This passcode can be scanned and redeemed by the supplier at the venue to grant access to the service.
Version: 3.8
- Latest
This version is currently in Beta.
Beta products and features are stable and supported for production use and are covered by our SLAs and technical support commitments.
However, some capabilities might not yet be fully documented or consistently available across the platform.
Feedback is highly encouraged to help us refine the final GA release.
To view previous version please visit our specifications page.
If you're viewing the latest version, continuous amendments to both the documentation and the API can be expected.
We are constantly adding new functionalities and parameters to the same API version, as long as these are non-breaking and backwards compatible.
If any breaking changes are required, a new version will be introduced.
Note: The syntax of upcoming (not yet released) functionalities might be subject to change.
Prioticket Confidential This documentation is protected by law from any form of duplication unless prior permission is obtained from the officers of Prioticket.
Keep your contacts in sync
View and Manage Contacts.
Please note that this API does not amend order contacts. To amend order details, please call the Update Order API instead.
Only applicable for partners using the Contacts Module (Returning guests). For regular transactions these endpoints can be safely ignored.
Stay in the loop
Asynchronous notifications of events.
Supported Events:
Product creation, amendment or removal.
Order creation, amendment or cancellation.
Payment creation, refund or amendment.
Voucher release or revocation.
Redemption.
Explore our content
Manage and retrieve all your products.
View your inventory.
Get tax information.
Extensive search and filter.
Retrieve availability and capacity.
Get product ratings and reviews.
In most cases, this content is periodically cached on the partner end, but these API endpoints are also optimized for direct front-end use.
Capture payments
Manage and settle payments using the API.
Not applicable to B2B resellers / purchases (Indirect sales / SettlementType:EXTERNAL
).
Discounts & Offers
Manage your reservation
Reserving a product is only mandatory in case the product has managed capacity. Although we also recommend to implement it in the following cases:
When holding customer products inside a shoppingcart.
Lock a slot while waiting for a confirmed payment.
High demand / low availability tickets (concert/events).
Adding promocodes to an order.
Managing combi- and cart-discounts.
Cross-client order process.
Reservations can be confirmed by passing the reservation_reference
to the Create Order API. One or more products can be reserved at once. We highly recommend implementing the Cart flow for maximum functionality.
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.
Manage timeslots
Availability defines the specific time slots or periods during which a product can be booked or accessed. It is essential for scheduling reservations for products with fixed sessions or operating hours.
Open Products These products are available during general opening hours without specific time slots. Customers can visit at any point during the open window.
Reservation Products These require selection of a defined time slot. Often used for tours, events, or activities with limited capacity per session.
Seasonal or Date-Based Availability Products may only be available during specific seasons, date ranges, or recurring patterns (e.g., only on weekends or public holidays).
Sub-Product Availability (Combi Products) Each sub-product in a combi product must have its own independent availability settings. For example, a museum visit and a dinner may have different available times.
When booking combi products, the system must gather and validate availability for each sub-product.
If one sub-product is unavailable, the overall product may be considered unbookable unless alternative configurations are in place.
Some configurations support selecting the number of participants first, which then loads availability based on seasonal or capacity rules. This enhances usability but can introduce errors if not carefully managed.
Sequential Dependencies You can configure the order in which products are used (e.g., you must complete a tour before you can attend the dinner).
Time Constraints The time between sub-products can be fixed (e.g., 30-minute buffer after activity A before activity B).
Optional vs. Mandatory Dependencies Some sub-products may be optional and have flexible availability, while others must be booked in sequence.
Define availability per sub-product first before linking in combi logic.
Use the system’s dependency configuration tools to control flow and prevent conflicting schedules.
Audit availability regularly, especially after importing or duplicating product configurations.
Offer fallback options (e.g., suggest alternative time slots) when preferred availability is not found.
Use consistent naming and descriptions for time slots (e.g., "Morning Tour", "Evening Cruise").
Manage your orders
Manage the complete order lifecycle:
Confirm reservations.
Make direct bookings.
Amend existing orders.
List all orders and bookings.
(Partial) cancel orders.
Get pre-generated vouchers.
Ensure no spooky stuff happens
To interact with the Prio API, you must authenticate using OAuth 2.0. Upon onboarding, you will receive a client_id
and client_secret
, which you will use to obtain an access token.
Use the client_credentials
grant type to request an access token. Once obtained, the token must be included in the Authorization
HTTP header for all subsequent API requests:
If the Authorization
header is missing or the token is invalid, the request will be rejected with an appropriate error message. A 400 Bad Request
or 403 Forbidden
response will be returned depending on the scenario.
Important: Access tokens have an expiration time. Once expired, a new token must be requested. Multiple tokens can be active at the same time. To minimize unnecessary traffic and latency, only request a new token when the current one has expired.
We strongly recommend using a reputable OAuth 2.0 library for your programming language to handle token management and HTTP header injection automatically. Avoid implementing this logic manually.
HTTPS Required: All API requests must be made over HTTPS. Requests over plain HTTP will be rejected.
Authentication Required: All API requests must include a valid access token. Requests without authentication will fail.
Token Revocation: If a token is deactivated or otherwise invalidated, the API will return a 403 Forbidden
response.
Key Management: Your API credentials (client_id
and client_secret
) must be kept confidential. You are fully responsible for all activity conducted using your credentials.
Compromised Keys: If you suspect your credentials have been exposed or misused, immediately contact us to revoke access and regenerate credentials.
Multi-time-slot Tour
Product offers 10:00, 12:00, and 14:00 sessions; users must choose one
Combi Product (Tour + Meal)
Tour is available at 11:00, 13:00; dinner available at 17:00, 19:00
Free-flow Entry
Product is open from 09:00 to 17:00 with no slot selection
Seasonal Attraction
Product is only available from April to September, weekends only
Authorization: <token_type> <access_token>
Smart Logistics for Your Experiences
Many tours and attractions rely on pickup logistics, whether you’re offering hotel transfers, bus pickups, or a meeting point at a central location. Our Pickup Points system makes it easy to define, display, and manage pickup options for your products.
Pickup Points can be mandatory, optional, or not used at all. They're linked to locations and times, and can even restrict availability depending on the booked time slot.
Multiple Pickup Points: Products may offer several pickup points, each with its own location, available times, and duration.
Time Selection: Guests choose a pickup time from pickup_point_times
. The selected time must respect availability constraints.
Availability Dependency: When pickup_point_availability_dependency
is true
, the available pickup times are dynamically filtered to ensure the pickup fits within the overall booking slot.
Pickup Points are returned on the product level. A product can:
Require the guest to choose a pickup (MANDATORY
)
Offer pickup optionally (OPTIONAL
)
Not offer pickup at all (NOT_SET
)
"product_pickup_point": "MANDATORY"
If pickup is available (MANDATORY
or OPTIONAL
), the actual pickup points are listed under product_pickup_point_details
.
Each pickup point provides all the relevant information for display and processing during checkout.
{
"pickup_point_id": "PICKUP_POINT_ID_123",
"pickup_point_name": "Walkingtour at the Wyndham Apollo Hotel",
"pickup_point_description": "Meet at the Wyndham Apollo hotel.",
"pickup_point_type": "MEETING_POINT",
"pickup_point_location": "LOCATION_ID_123",
"pickup_point_time": "10:00",
"pickup_point_times": ["10:00", "10:30", "11:00"],
"pickup_point_duration": 30,
"pickup_point_availability_dependency": true
}
If pickup_point_availability_dependency = true
, only pickup times that fit within the booked availability slot will be shown.
If the product starts at 11:00 and pickup takes 30 minutes, only pickup times ending before 11:00 will be allowed.
This ensures a consistent and logical experience for guests and avoids overlaps.
Hotel Pickup A guest must choose one of 5 listed hotels. Pickup is at 10:00, takes 30 mins. The tour starts at 11:00.
Meeting Point Only
Set pickup_point_type: MEETING_POINT
, and provide a clear location and description, e.g., “Look for the red umbrella.”
Dynamic Availability Based on the tour’s availability, pickup times adjust automatically to ensure guests arrive on time.
Validate Locations: Ensure pickup_point_location
maps to a valid entry in product_locations
.
Avoid Conflicts: Respect availability dependency when rendering selectable times.
Pre-fill Times: If there’s only one time per point, pre-fill to simplify UX.
Localize: Pickup names and descriptions should be translatable for better guest experience.
Advanced capacity management
This section explains advanced capacity control mechanisms within the Prioticket platform that allow precise management across products and distribution channels.
Shared capacity allows multiple products to draw from the same capacity pool, preventing overbooking when they rely on a common resource (e.g., tour bus, room, guide).
Multiple tours using the same vehicle
Language variants of the same experience
Combi products reusing sub-product time slots
Products reference a shared capacity_id
.
Each product has its own availability calendar, pricing, and logic.
Booking any product deducts from the same shared capacity pool.
Capacity is updated in real time across all linked products.
Only use shared capacity when there's an operational overlap.
Ensure all linked products operate on the same time logic (start time, duration).
Use descriptive capacity_id
s (e.g., bus_30_seats_morning
).
Allocated capacity reserves a portion of available capacity for a specific reseller, channel, or distributor. This ensures availability for priority partners or campaigns.
Configuration
Managed via the Allocations Manager in the control panel.
Set by:
Distributor/Reseller ID
Time range (specific dates or recurring days)
Product or capacity ID
Allocation rules may optionally:
Exclude existing bookings
Block dates fully
Reclaim canceled capacity
Behavior & Sync
Allocated capacity is enforced at booking time.
Cancellations or modifications restore capacity to the correct allocation.
Fully auditable; all changes logged.
Real-time syncing ensures distributors don’t see outdated capacity.
Tips for Managing Allocations
Allocate based on historical demand or sales targets.
Combine with combined capacity rules to allow soft fallbacks.
Monitor capacity leakage (e.g., allocations going unused).
Name allocation rules clearly (alloc_OTA_may2025_peak
, etc.)
Scope
Multiple products sharing same limit
Reserved slots for specific resellers
Use Case
Resource overlap
Channel prioritization
Control Level
Product-level
Distributor-level
Content Discovery with the API
Building great customer journeys starts with helping users find exactly what they’re looking for, quickly, intuitively, and with minimal friction. That’s why we provide a suite of powerful content discovery endpoints to help you deliver personalized and well-organized travel experiences across any platform.
Whether you're creating a travel booking app, a city tourism portal, or a B2B reseller platform, our Destinations, Locations, and Categories APIs help structure and filter content so your users can explore effortlessly.
GET /products/destinations
Returns a list of destinations where your connected products are available. A destination typically refers to a high-level geographic area, a city, region, or tourist hub.
A homepage travel search where users start by choosing a city like “Paris” or “Amsterdam”.
Building a landing page like www.mytravelapp.com/rome/
that shows all activities in that city.
Displaying destination filters in a search form or sidebar.
A reseller platform wants to offer "Travel by City" navigation. By calling this endpoint, the platform dynamically populates a list of available cities tied to products in their portfolio, without any hardcoding. Once a guest selects a city, they’re instantly shown relevant offers within that region.
GET /products/locations
Returns a list of more granular locations where experiences take place. Think individual attractions, museums, venues, or parks.
Displaying exact location info on product detail pages.
Enabling “near me” searches for mobile users using GPS-based filtering.
Showing products on a map view or geo-based clustering feature.
Imagine a mobile travel app where a user enables geolocation. You can use /locations
to fetch all venues within a certain radius of the user's current coordinates, allowing spontaneous bookings like “Skip-the-Line at the Van Gogh Museum – 100m away”.
GET /products/categories
Returns a structured list of categories that group your product offerings into themes like “Museums”, “Boat Tours”, or “Day Trips”.
Adding category filters to product listings or search UIs.
Organizing catalog pages, such as /categories/tours
.
Letting users browse products by interest.
Let’s say a user visits your app and filters by “Outdoor Activities”. Behind the scenes, you’re using the categories endpoint to populate these options dynamically, making your UI easier to maintain and future-proof as more experiences are added.
Let’s say a user lands on your travel website looking for things to do in Barcelona. Here’s how you can help them:
List Destinations Fetch and display destinations so they can select "Barcelona".
Filter by Location
After choosing Barcelona, show popular places, museums, parks, attractions, using /products/locations
.
Refine by Category
The user is interested in history and museums. Use /products/categories
to let them drill down to relevant products like "Barcelona City History Tour" or "Skip-the-Line Sagrada Familia".
These endpoints are ideal for:
Faceted search interfaces (Destination + Category + Price Range)
Autocomplete search suggestions
Map-based exploration
Custom itinerary builders
Localized or themed landing pages
Apply Discounts Effortlessly
The Promocode module allows customers to apply promotional codes to their reservations, unlocking discounts and special offers seamlessly.
This module supports adding and removing promocodes on existing reservations via API calls.
Add a promocode to apply a discount to the reservation/cart.
Remove a promocode to revoke the discount.
Validation ensures promocodes are valid, active, and applicable.
Detailed error messages guide the front-end UX for failed promocode attempts.
Add a Promocode: When a customer enters a promocode (like "SUMMER20"), it’s checked and applied to their reservation if valid.
Update Prices: Once added, the reservation’s price updates immediately to show the discount.
Remove a Promocode: If a customer changes their mind or enters the wrong code, they can easily remove it.
Clear Messages: If a promocode can’t be used (expired, already used, or not applicable), a friendly message explains why.
To run special promotions like holiday sales, seasonal discounts, or exclusive offers.
To reward loyal customers with personalized discount codes.
To encourage larger bookings by offering percentage or fixed amount discounts.
The name and description of the promotion (e.g., “Christmas Sale: 20% off”).
The updated price after the discount is applied.
Helpful messages if the promocode can’t be accepted, like “This code has expired” or “You’ve already used this promocode.”
The customer enters their promocode during or after making a reservation.
The system checks if the code is valid and can be used.
If everything is good, the discount is applied, and prices update immediately.
If the code isn’t valid, the customer gets an easy-to-understand message explaining why.
If needed, the customer can remove a promocode anytime, and the price will update to reflect the change. Also, if the promocode was used and then cancelled, it will become available for future use again.
It gives your customers control over applying discounts.
Promocodes help increase sales by encouraging customers to buy.
Clear, friendly messages improve customer satisfaction and reduce confusion.
Ensures your pricing stays accurate and transparent.
Keep it synchronized
We recommend implementing a timeout duration of 60 seconds due to dependencies on external supplier systems that are beyond our direct control. While most booking requests are processed promptly, there are rare instances where response times may exceed this duration.
It is important to note that even if the Confirm Booking endpoint encounters a timeout or returns an HTTP 500 error, the booking may still be successfully created. To ensure system resilience and maintain consistency, we strongly recommend implementing the following methods.
The Prio API supports idempotency, allowing multiple retries of the same request while ensuring the action is performed only once.
This mechanism prevents duplicate bookings in case of failures or retries.
Idempotency is supported for POST requests, whereas GET, DELETE, and PUT requests are inherently idempotent.
The Distributor API supports webhooks to track state changes efficiently.
Subscribers receive notifications whenever there is a change in order status.
While the booking status remains uncertain, the order is marked as "PROCESSING."
Webhooks serve as a reliable means of reconciling the booking state. In the event of a timeout, they provide updates once the order has been successfully processed or failed.
If no webhook notification is received, it is likely that the request was not received or processed successfully. In such cases, we recommend contacting our API support team for further investigation.
If webhooks or idempotency cannot be implemented, an alternative poll-based approach can be used to reconcile the booking state. This involves making periodic requests to the GET Order Details endpoint at fixed intervals until a final order state (such as confirmed or failed) is received.
Perform 1 call per minute for the first 5 minutes (5 calls in total).
If no response is received, continue polling once every 15 minutes for the next hour (4 additional calls).
If no final status is received after this period, abandon further attempts.
To fully prevent duplicate bookings, we recommend implementing a combination of these methods. The use of idempotency tokens, webhooks, and polling mechanisms will significantly enhance the reliability and consistency of the booking process.
For further assistance or troubleshooting, please reach out to our API support team.
Built for the Future, Engineered for Excellence
At Prioticket, technology isn’t just a tool, it’s our playground. We push the boundaries of what’s possible, embracing the latest advancements and pioneering industry-leading solutions. Our cloud-native architecture ensures high availability, unmatched speed, and resilience, making our platform the backbone of seamless integrations worldwide.
We never settle for conventional solutions. Instead of rigid constraints, we build dynamic, tailor-made architectures that adapt to real-world demands. Unlike platforms that impose arbitrary limits, we believe in pushing performance to its limits and beyond. If a tool enhances efficiency, security, or scalability, we master it and make it part of our ecosystem.
Our high-performance API thrives on cutting-edge technologies like:
Cloud-Native Scaling – Kubernetes, Cloud Run, Dockerized Microservices
Ultra-Fast Data Processing – Redis, ElasticSearch, Firebase
Resilient Infrastructure – Load Balancing, Auto-Scaling, Failover Nodes, Sharding, Replication
Asynchronous Processing – Message Queues, Event-Driven Architecture
Optimized Network Performance – Multi-Region Hosting, Content Delivery Networks (CDN), Shielded VPN Access
We operate on millisecond response times because speed is everything. Our caching infrastructure handles tens of millions of requests per day with a 99.6% cache hit ratio and a staggering 99.995% uptime, numbers that outperform industry leaders.
But raw performance is just one piece of the puzzle. True scalability requires architectural resilience, and that’s why we:
Implement hot and cold data storage strategies for instant data retrieval
Ensure zero downtime deployments with rolling updates and blue-green deployment strategies
Use intelligent traffic routing to dynamically distribute workloads across optimal regions
Leverage predictive analytics to auto-scale resources based on demand
Security is not just a checkbox, it’s the foundation of everything we build. We enforce:
Zero Trust Architecture – Strict authentication & authorization using IAM, RBAC, and MFA
End-to-End Encryption – AES-256 at rest, TLS 1.3 in transit, OAuth2, OpenID Connect
Defense-in-Depth – IDS, WAF, VPNs, firewalls, network segmentation
Immutable Data Storage – Write-once, read-many (WORM) storage, cryptographic logging
Advanced Threat Detection – AI-powered monitoring, intrusion detection, anomaly detection
24/7 Automated Security Audits – SOC 2, GDPR, ISO 27001 compliance
We undergo continuous penetration testing and collaborate with external security experts like NCC Group and Accenture to ensure our platform remains unbreakable.
Our infrastructure is built to withstand any failure scenario. We employ:
Multi-Region Failover – Automatic rerouting in case of regional downtime
Geo-Redundant Data Storage – Ensuring data sovereignty and regulatory compliance
Automated Disaster Recovery – Instant failover to backup environments with near-zero RTO
Layered Redundancy – Active-active database clusters, high-availability load balancers
Real-Time Monitoring & Self-Healing – Cloud-native remediation mechanisms
We don’t just mitigate risk, we eliminate it before it ever becomes a problem.
Our platform follows:
GDPR, ISO 27001, PCI-DSS, SOC 2 – Ensuring the highest level of data protection
Strict Data Residency Policies – Supporting region-specific storage regulations
Advanced Role-Based Access Controls – Over 200+ granular permissions with IAM governance
We collaborate with government institutions and multinational enterprises, proving that security, performance, and flexibility can coexist at the highest levels.
Because we don’t just build APIs, we engineer ecosystems that power global-scale businesses. From handling millions of transactions to integrating with leading payment providers like Adyen, Payfort, and Hyperpay, our platform is built to outperform, outscale, and outlast.
But what truly sets us apart is adaptability. Every business has unique needs, and we don’t force a one-size-fits-all approach. Instead, we work hand-in-hand with our customers to craft bespoke API solutions that fit their exact operational demands, whether it’s:
Custom data exports & integrations for BI tools like Tableau & Google Data Studio
Role-based access control with 200+ granular permissions
Tailored multi-tenancy options for optimized data sovereignty & compliance
Automated workflows, webhooks, and real-time event triggers
We design our API to be future-proof, meaning as your business grows, so does your system—without limits.
We set the gold standard for modern API ecosystems.
Would you like to push boundaries with us? Let’s build something extraordinary together.
Manage resources
Capacity limits how many participants can book a product within a time slot, preventing overbooking and managing resource allocation.
Unlimited Capacity
No maximum limit; bookings are always accepted.
Common for virtual experiences or events without physical constraints.
Fixed (Limited) Capacity
A hard limit on how many participants can book a slot.
Once full, no additional bookings can be made.
Product-Dependent Capacity
Specific to an individual product.
Even if multiple products are similar, each has its own separate capacity pool.
Shared Capacity
Several products draw from the same capacity pool.
Example: A tour and a museum ticket share the same 30-seat bus.
Combined Capacity
A hybrid setup where multiple capacities (shared, fixed, or new) are merged for a product.
Used for custom reseller rules or group packages.
Allocated Capacity
Reserved capacity segments for specific distributors or channels.
Ensures availability for high-priority partners even when general capacity is exhausted.
Per Sub-Product
Each sub-product in a combi setup must have its own capacity setting.
Bookings fail if one sub-product lacks capacity, even if others have availability.
Combi-Level Capacity
Can reflect the lowest capacity among sub-products or be configured independently.
Example: A "Tour + Meal" product can have its own 20-person limit, even if the meal supports 50.
Capacity IDs
Unique identifiers used to track capacity pools.
Helpful for linking shared and allocated capacities across APIs and systems.
Booking Validation
Capacity checks are enforced during the booking request.
Must ensure the requested number of people or tickets doesn’t exceed the limit.
Often displayed as color-coded slots:
🟢 Green: High availability
🟡 Yellow: Limited slots remaining
🔴 Red: Fully booked or blocked
Be aware of UI discrepancies across systems or resellers.
Use shared capacity only where operationally justified (e.g., same room, guide, or equipment).
Regularly audit capacity usage to spot bottlenecks or over-allocations.
Configure fallback logic (e.g., alternate time slots) to improve booking success rates.
Keep capacity ID naming clear and consistent.
Simulate edge cases (e.g., near-full or last-minute bookings) in staging environments.
Explore Our Most Popular Products
With access to over 400,000+ products across the globe, our platform is built to support every reseller's needs, whether you're looking for iconic attractions, immersive experiences, or local hidden gems.
Below is just a small selection of our top-selling suppliers, giving you a glimpse of the high-quality, high-demand inventory available through our system.
We offer free supply advice to all resellers considering integration, providing tailored guidance and building a well-rounded supply strategy to ensure your success from day one.
Explore Leading Aggregators with Global and Local Reach
With connections to top supply aggregators worldwide, our platform gives you access to diverse inventory. Whether you are seeking global attractions, destination-specific experiences or niche local offerings, these aggregators help streamline your access to high-demand products through a single integration with Prioticket.
Below is just a small selection of our featured aggregators, giving you a glimpse of the breadth and flexibility available when sourcing supply through our system.
Need help selecting the right aggregator? We offer free supply advice to all resellers considering aggregation partners. Our team helps you identify the best fit based on your business model, target markets and sales goals.
Building Blocks of Products
This page will serve as a central hub, explaining the various aspects of a product within our system and linking to detailed subpages that explore each feature in-depth. From product types to pricing options, and everything in between, this guide will help you navigate the core structure of our API.
A product in the Prioticket system represents an individual tour, activity, or experience that you can sell. Products are the foundation of the system, and understanding how they are structured is essential for successful integration. A product's structure encompasses various attributes that define its pricing, availability, product types, and other key features.
Below are the main features and components that make up a product in the Prioticket API. Each of these elements plays a role in defining what a product is, how it’s priced, how availability is handled, and how it’s presented to the user.
Product types define the nature of the product (e.g., tickets, tours, events). This category helps determine what kind of product is being booked and its associated features.
Admission types define the way users gain entry to an event or experience (e.g., standard, VIP, child ticket). These can impact pricing and availability.
Pricing includes the base price of a product as well as any dynamic pricing or seasonal pricing adjustments. This feature is essential for calculating the total cost of a product.
Some products, like tours or activities, may have pickup points for the guests. These are predefined locations where guests can meet the service provider.
Availability determines whether a product is available for booking on a given date and time. This feature helps ensure that you only offer products that are actually available for sale.
Many products have a limited capacity, and this component tracks how many spots are available for a given date, time, or product instance.
Product options are additional customizable elements that can be offered with a product, such as extra services or add-ons.
Currency defines the local currency for each product, which is essential for proper pricing and display.
Products in the Prioticket API are organized into categories and destinations. This structure ensures that each product is appropriately categorized and easy to find.
Categories: Products are grouped into various categories based on type, location, or experience (e.g., Adventure Tours, Sightseeing, etc.).
Destinations: Products are also associated with destinations to help users search and filter by location.
When working with the Prioticket API, understanding how to retrieve, manage, and integrate products is essential. Below are some high-level actions that you can perform using the API:
Get Product Information: Retrieve the details of any product, including its type, price, availability, and other components.
Check Availability: Ensure that a product is available for a given date and time.
Book Products: Once availability is confirmed, proceed to book the product and complete the transaction.
Reserve Products: Temporarily hold inventory while completing payment.
Throughout this section, you’ll find detailed documentation on each aspect of product structuring, as well as how these features are used in our API. Make sure to explore the subpages to get more in-depth knowledge of each feature and how it fits into the larger product structure.
How to Book with the Prioticket Distributor API
With the Prio Distributor API, connecting to our platform and processing bookings couldn’t be easier. Whether you’re looking to browse product content, check live availability, or confirm bookings in real-time, our API offers a streamlined process designed for travel resellers, marketplaces, and OTAs.
This page explains the end-to-end booking flow, giving you a clear roadmap to building your integration, from retrieving content to issuing tickets.
The Distributor API is divided into four core areas, each designed to handle a key part of the booking journey:
To book a product through this API, you generally need to follow these steps:
Check availability and pricing: Use the Get Products and Get Availabilities endpoints to verify if tickets for the desired tour or activity are available for a specific date, time, and quantity.
Request a booking hold: If tickets are available, request a pricing / availability hold for the booking using the Create Reservation endpoint.
Collect payment: Once a booking hold is requested, collect payment either through the provided payment endpoints or via your own payment service provider.
Confirm the booking: Finalize the booking by confirming it using the confirm order endpoint.
How to show availability on your calendar
The Prioticket platform provides two key APIs that deliver true real-time availability and pricing data for products and services, ensuring the most accurate and up-to-date booking experience:
Availability & Calculated Pricing API — provides real-time availability and final calculated pricing for booking flows. It is recommended for all products and mandatory for products with managed capacity.
Pricing Variations & Rules API — returns detailed pricing rules, variations, and conditions that explain how prices change in real time, enabling transparent and dynamic pricing presentations.
Depending on the product_availability
parameter defined in the product feed, availability must be requested via these APIs before making a booking to guarantee accuracy and prevent overbooking or pricing errors.
Together, these APIs ensure efficient, reliable, and user-friendly booking and pricing experiences with up-to-the-second data.
Timezone & DST: Dates and times are relative to the supplier’s timezone and automatically adjusted for Daylight Saving Time.
Date Range Limits: Maximum 90 days per query. For longer periods, split requests into smaller date ranges.
Performance:
Response times depend on product source: Prioticket-sourced products generally respond faster than third-party systems.
Avoid requesting availability/pricing for multiple products across very long date ranges in a single call to maintain performance.
Caching:
Avoid long-term caching of availability and pricing data as they are dynamic and change in real time.
For detailed caching guidelines and best practices, see the full in our technical documentation.
Booking Logic: Both APIs reflect the system’s managed capacity, partial availability, and grouped availability rules.
You’ll receive:
Availability & Pricing per time slot
Total capacity
Remaining inventory
Refer to the response schema for full details.
Returns real-time availability and calculated final pricing based on the product configuration and party size.
Simplified Pricing: Returns the exact final price for a booking without requiring client-side price calculations.
UI Friendly: Combines availability and pricing in a single call, making it ideal for rendering calendars and booking flows.
Efficient Booking Flow: Reduces client-side complexity and minimizes errors during booking validation.
To get both availability and pricing with minimal overhead, we suggest calling this endpoint twice in your flow:
Make a call without a request body to fetch:
All time slots
Default pricing per ticket type (usually for quantity = 1)
Day or time-based pricing if applicable
Use this response to render your calendar and timeslot UI with pricing.
Make a second call including:
Party size
Ticket selections or quantities
This returns the final calculated price for the configured booking.
Returns detailed pricing rules, variations, and conditions explaining how prices change for a product.
Detailed Pricing Insights: Provides granular breakdowns of pricing rules and conditions.
Transparency: Enables you to explain complex pricing logic clearly to end users.
Advanced UI Support: Supports building interfaces that dynamically respond to pricing rules (e.g., discounts, time-based pricing).
Business Logic Integration: Allows triggering custom behaviors based on pricing conditions, improving flexibility.
Customized checkout flow
Booking Questions (also known as Custom Checkout Fields) empower businesses in Prioticket to collect precise, product-specific guest information during the booking process. This enables personalized experiences, streamlined operations, and improved data accuracy across all sales channels.
Booking Questions are customizable fields displayed during the checkout process. They allow you to ask guests for specific information related to a product or experience, such as:
Dietary preferences
Group names or participant info
Pickup details
Custom inquiries
These fields are essential for operational readiness and personalization.
Navigate to Marketing → Booking Fields
Create a new template or edit an existing one
Add Fields
From the Custom Fields tab, define:
Field Name
Input Type (text, dropdown, etc.)
Placeholder Text
Help Text
Required toggle
Apply the Template
Go to Product Overview
Assign the template to one or multiple products
This setup allows the same set of questions to be reused, adapted, and maintained across different products or experiences.
This feature supports Prioticket’s mission to provide flexible and dynamic booking flows for a wide range of use cases:
Tour Operators needing participant names or age groups
Experience Providers managing hotel pickups
Resellers requiring unique partner-specific info
It also aligns with partner expectations for external API compatibility, especially as integrations like Viator and others evolve.
Enhanced support for third-party API syncing
Future plans for conditional logic, multi-language support, and field grouping
The Booking Questions and Custom Checkout Fields feature is a cornerstone of customized, efficient checkout experiences in Prioticket. It provides businesses with powerful tools to collect the right information at the right time, ensuring operational readiness, reducing manual effort, and improving the guest experience.
Spotlight the Best Products
Use Recommendations to highlight themed, seasonal, or top-selling products in a curated way. Whether you're boosting "Winter Favorites", promoting a "Local's Pick", or featuring a "Family Bundle", this module helps you deliver smarter suggestions to your users.
A Recommendation groups together one or more products under a shared label and time window. This allows you to:
Promote specific products on your landing pages.
Guide users to relevant content.
Schedule featured products based on seasons or campaigns.
Use recommendation_start_date
and recommendation_end_date
to schedule when a recommendation should be shown.
Omit both to show the recommendation always.
Set future dates to preload campaigns.
Expired recommendations will automatically stop showing.
All dates follow the ISO 8601 format (
YYYY-MM-DDTHH:MM:SSZ
) and are in UTC.
Let’s say you want to create a recommendation titled “Amsterdam Winter Picks”, showing three products from December through January.
Localize Titles & Descriptions for international audiences.
Avoid Clutter: Limit each recommendation to 3–8 products for visual clarity.
Use Descriptions to hint at urgency, value, or context (e.g., “Popular with families”).
Respect Date Logic: Don’t forget to end expired campaigns.
1
Core Transactional Systems
Bookings, real-time availability, product search
2
Secondary Transactions
Cancellations, amendments, activity overviews
3
Non-Critical Features
Reporting, financial overviews
Recovery Time Objective (RTO)
8 business hours (standard) — up to 48 hours for hardware-related issues (e.g., on-site POS replacement)
Recovery Point Objective (RPO)
Maximum 24 hours (usually much lower for critical systems)
Retrieve products, destinations, categories, and other key product details to populate your platform.
Check real-time availability, capacity, and time slots for the products you want to sell.
Temporarily hold reservations while you collect payment or manage a shopping cart.
Confirm reservations, create direct bookings, and retrieve barcodes/tickets for your guests.
Secure your connection using OAuth-based credentials.
Use Prioticket’s Payment Service Provider integrations (optional) or handle payments yourself.
Manage guest profiles (only needed for recurring guests).
Set up webhooks to receive real-time updates on external booking changes.
Monitor API uptime and system health.
Dynamic Field Creation
Create and manage custom fields via the Channel Manager
Product & Channel Specificity
Tailor booking questions per product or sales channel
Field Types
Support for text input, dropdowns, dates, and more
Validation Controls
Mark fields as required or optional
Help Text & Placeholders
Add guidance for users
Reusable Templates
Apply booking field templates across multiple products
Improved Customer Experience
Ask only relevant, targeted questions for a smoother checkout
Operational Efficiency
Capture essential info upfront, reducing follow-up and manual tasks
Error Reduction
Structured input minimizes incorrect or missing data
Channel Personalization
Customize fields per sales channel for local or partner-specific needs
{
"recommendation_id": "3743",
"recommendation_title": "Christmas Special",
"recommendation_description": "Hot selling",
"recommendation_start_date": "2025-12-01T00:00:00Z",
"recommendation_end_date": "2025-12-31T23:59:59Z",
"recommendation_products": [
"PRODUCT_ID_123",
"PRODUCT_ID_456"
]
}
{
"recommendation_id": "WINTER2025",
"recommendation_title": "Amsterdam Winter Picks",
"recommendation_description": "Cozy up with these bestsellers!",
"recommendation_start_date": "2025-12-01T00:00:00Z",
"recommendation_end_date": "2026-01-31T23:59:59Z",
"recommendation_products": [
"PRODUCT_ID_CANALTOUR",
"PRODUCT_ID_ICEBAR",
"PRODUCT_ID_LIGHTFESTIVAL"
]
}
Thematic Promo
"recommendation_title": "Spring Adventures"
Flash Sale
"recommendation_description": "48h only!"
Localized Curation
"recommendation_title": "Top Picks in Paris"
Recurring Campaign
Same title & products, different date ranges
Availability & Calculated Pricing
Real-time availability + final price
Booking flows, calendar rendering, booking validation
Pricing Variations & Rules
Detailed pricing rules & logic
Pricing transparency, advanced UIs, business logic
A'DAM Lookout
ADAM VR
Amsterdam Light Festival
ATG Entertainment
Australia Zoo
Burj Al Arab Dubai
Burj Khalifa
Bustronomy Dubai
Chelsea FC Stadium Tours & Museum
City Sightseeing Worldwide
De Efteling
Disneyland Paris
Evan Evans
Flagship Amsterdam
Fotografiska Berlin
Fotografiska Stockholm
Go City
Gray Line
Grupo Xcaret
Historic Royal Palaces
iAmsterdam City Card
IKONO Global
Jewish Cultural Quarter
Johan Cruyff Arena
Louvre Abu Dhabi
Mercedes-Benz Offroad Experience Dubai
Merlin Entertainment
Monopoly Lifesized
Museum of the Future
New York Mets
Liverpool FC Stadium Tour & Museum
Rockefeller Center
Papillon Helicopter Tours
Royal Coster Diamonds
SeaWorld
Spyscape
Stadion Feijenoord
Stedelijk Museum Amsterdam
Stromma Nederland
The Liverpool Pass
The Paddington Bear Experience
This is Holland
Tivoli Gardens
Universal Studios
Waddesdon Manor
Walt Disney World® Resort
Warner Bros Studios
Attraction World
Global
Axis & Globe
United Kingdom
Evan Evans Tours Limited
United Kingdom
Experienza
Global
Headout
Global
Horse Country
Ireland
Priohub
Unired Arab Emirates
Tiqets
Global
Viator
Global
Visit Oman
Oman
Xplorie
United States
Combine activities
Combi Products are bundled offerings that combine two or more activities or items into a single package. They are ideal for businesses offering multi-part experiences, such as tours, attraction combos, or event packages. While they provide significant value to customers, they require careful setup and management to function correctly across all systems and sales channels.
A Combi Product:
Contains at least two sub-products or activities
Requires separate tickets for each sub-product
May allow or require different booking dates for each component
Each sub-product in a combi:
Has its own quantity, availability, and ticket type
Can have individual booking rules, such as allowed date ranges or time slots
Reservations are generated for:
The main combi product
Each sub-product
This ensures accurate tracking of availability, revenue, and booking dates
Combi products have independent capacity settings
Care must be taken to avoid overlapping or double-booking
Dependencies (e.g., shared start times or mutual exclusivity) must be managed at both the combi and sub-product level
Dependencies can include:
Shared start times
Linked ticket types
Mandatory booking of certain sub-products with others
The booking interface for combi products should:
Allow users to select quantities for each sub-product
Dynamically update available time slots based on selection and dependencies
The system must:
Validate input quantities against allowed minimums and maximums
Ensure selections are consistent with product rules and availability
Combi products must support cascading logic across all sales channels:
Direct (e.g., website, POS)
Agent portals
Reseller tiles
Combi products can be integrated with platforms like Fareharbor or Global Ticket
Proper mapping is required to:
Pull real-time availability
Push booking data and updates
When mapping a combi product:
Ensure each sub-product is correctly linked to its external counterpart
Verify that pricing, capacity, and timing align across systems
In reports, combi products count as a single unit
However, the total number of tickets is higher, reflecting each sub-product
Invoices must reflect:
Each sub-product’s price and tax
Currency conversion if applicable
Allocation to the correct supplier or channel
Combi products can be distributed through:
Direct sales: Webshops, POS, mobile apps
Distributors: OTAs (e.g., GetYourGuide, Viator), agent portals
Once configured, combi products can be activated for resellers
Ensure mapping and pricing align before enabling
Combine transport (e.g., bus, bike, canal cruise) with multiple attractions
Bundle entry tickets, activities, and dining for a complete experience
Combi products enable flexible, high-value offerings by bundling multiple experiences into a single package. They are ideal for both tourism and events but require detailed configuration in the following areas:
Reservations and capacities
Sub-product dependencies
Third-party integrations
Financial and sales reporting
With the right setup, combi products can significantly enhance customer satisfaction while driving more complex, higher-value sales.
One solution, many possibilities
The introduction of API version 3.8 marks a significant step forward in pricing transparency and granularity across the Prioticket ecosystem. This page brings everything together, describing how prices flow across the full booking lifecycle, what each parameter means, and how pricing logic adapts based on distribution scenarios.
1
Recommended retail price (RRP)
product_type_list_price
product_type_list_price
2
End-customer sales price
product_type_sales_price
product_type_sales_price
3
Distributor price
product_type_resale_price
product_type_distributor_price
4
Reseller price
Not available
product_type_reseller_price
5
Market admin price
Not available
product_type_market_price
6
Supplier cost price
product_type_supplier_price
product_type_supplier_price
product_type_list_price
: Supplier's public price, used as the "From Price" in displays. Unaffected by discounts or fees.
product_type_sales_price
: Final price seen by the end-customer. It includes applied discounts.
product_type_distributor_price
: Price paid by distributor to the reseller. Formerly resale_price
.
product_type_reseller_price
: Price the reseller pays to the market administrator. New in v3.8.
product_type_market_price
: Price paid by the market admin to the supplier. New in v3.8.
product_type_supplier_price
: Optional internal benchmark cost defined by supplier. Present in all versions.
Granular Pricing Levels: Explicit pricing tiers reveal each stakeholder's costs.
Improved Field Naming: Pricing keys now align with distribution roles (distributor, reseller, market admin).
Complete Margin Visibility: Enables precise margin and commission calculation.
Creator = Seller
100% margin goes to merchant
Reseller/distributor fees optional
Creator ≠ Seller
Prioticket routes payouts between merchant and supplier
Reseller and distributor fees mandatory
Feature
Own product
Resale product
Margins
All to merchant
Split by rules
Fees
Optional
Mandatory
Catalog
Marked "own"
Marked "resale"
Pricing Control
Merchant
Supplier + Margin rules
Discount Model: Apply promotions to reduce checkout total.
Bundle Model: Offer product combinations at lower prices.
Commission Model: Sales price - resale price = agent fee.
Discount Model: Promo sales price vs list price.
Nett Model: External sales price
Cost+ Model: Resale price = supplier cost + markup.
Margin Share: Platform splits margins between parties.
Upgrade to API V3.8
Parse availability_pricing fields
Rely on system-calculated pricing (no manual markups)
Certify logic in staging
Launch dynamic pricing
Benefit
Description
Transparency
Price at every level (distributor, reseller, etc.)
Control
Margin per stakeholder
Reporting
Financial clarity and traceability
Consistency
Uniform pricing from product to order
This unified pricing structure ensures all stakeholders, whether supplier, reseller, distributor, or market admin, from consistent pricing, margin control, and full transparency. The 3.8 API is not just a technical update but a strategic foundation for scalable distribution and financial clarity.
When a basic product is not enough
Not every booking is created equal. Some travelers want sparkling wine. Others prefer a vegetarian lunch. Some want a fast-track upgrade, while others just want a printed souvenir. To serve these diverse needs, Extra Options in the Prioticket API let you configure flexible, powerful, and fully translatable enhancements to your products.
Extra Options give your users more control, and your platform more upsell opportunities.
Extra Options represent configurable add-ons or input fields tied to a product or product type. They can range from selectable extras like drinks or equipment, to form fields where guests provide input like dietary restrictions or preferred visit times.
Each option is configurable by:
Selection logic (manual or auto-added)
Input type (checkboxes, dropdowns, text fields, etc.)
Pricing model (flat rate, per person, included)
Applicability scope (once per product or per guest type)
Quantity logic (flexible or restricted)
VIP Package: Add a “VIP upgrade” radio button that includes perks like priority entry and a welcome drink.
Meal Preferences: "Choose your lunch option: Chicken / Veg / Gluten-free."
Drink Add-on: Let guests choose between wine, beer, or juice. Charge €6 for adults, €4 for children.
Optional Merchandise: "Add a souvenir T-shirt for €10."
These are all made possible with ExtraOptions
.
Extra options are returned as part of the product data and are selectable when creating a reservation. Each option can have one or more option values (e.g., “Red wine”, “White wine”) with separate pricing, limits, and types of selection.
FLEXIBLE
: Total option quantities can vary, e.g., 1 drink for 3 guests.
RESTRICTED
: Quantities must match the product type count (e.g., 2 guests = 2 drink selections).
Selection Types:
MANUAL
: Guests choose their own options.
AUTO
: Automatically applied to the cart (advanced use case for default upsells).
Each option can have multiple values (e.g., Red Wine, White Wine, Water). These include:
These let you control availability and pricing at a granular level.
You're building a wine-tasting tour product. Here’s how you'd structure your options:
Meal Choice
option_type
: RADIO
option_values
: Pasta / Fish / Vegetarian
option_selection_type
: MANUAL
option_count_type
: RESTRICTED
(1 per guest)
Souvenir Bottle
option_type
: CHECKBOX
value_price
: €12.00
option_count_type
: FLEXIBLE
{
"option_id": "EXTRA_DRINKS",
"option_name": "Drinks",
"option_description": "Choose your welcome drink.",
"option_type": "RADIO",
"option_selection_type": "MANUAL",
"option_count_type": "RESTRICTED",
"option_price_type": "PRODUCT_TYPE",
"option_mandatory": true,
"option_values": [
{
"value_id": "WINE",
"value_name": "Glass of Wine",
"value_price": "6.00",
"value_cost_price": "2.00",
"value_product_type_id": "ADULT"
},
{
"value_id": "JUICE",
"value_name": "Fresh Juice",
"value_price": "4.00",
"value_product_type_id": "CHILD"
}
]
}
PRODUCT
Same price, regardless of guest type.
PRODUCT_TYPE
Pricing varies by guest type (adult
, child
, etc.).
INCLUDED
Price included in base product. Display only.
option_list_type:PRODUCT
Display once per product (global option).
option_list_type:PRODUCT_TYPE
Display once per guest type (e.g., adult vs child).
option_count_visible
Show quantity in cart or as bundled price.
option_quantity_min / max
Required selection count across all values.
option_booking_quantity_min / max
Option is only available for bookings of this size.
value_quantity_min / max
Specific limits per value (e.g., max 5 wines).
option_mandatory
True = must be filled to complete checkout.
value_name
Translatable name (e.g., “Wine”)
value_price
Upsell price for this value
value_cost_price
Internal cost (optional)
value_percentage
Percentage-based price (optional)
value_product_type_id
If only applicable to a certain pax type
value_quantity_min/max
Quantity bounds per value
SINGLE + AUTO + RESTRICTED
Mandatory fixed-price additions (e.g., fees)
RADIO + MANUAL + RESTRICTED
Meal choices, upgrades with 1 selection per pax
CHECKBOX + FLEXIBLE
Optional extras (e.g., gear, souvenirs)
PRODUCT_TYPE + PRODUCT_TYPE
Different prices per guest type (e.g., child drink)
Package multiple experiences
Bundle Products in Prioticket allow you to group multiple existing standalone products into one cohesive offer. Unlike Combi Products, bundles maintain the individuality of each sub-product while enabling flexible packaging, pricing, and tax handling. This makes bundles ideal for marketing purposes and promotional configurations.
A Bundle Product is a composite product consisting of two or more independent products combined into one package. Customers purchase the entire bundle as a single transaction, but each sub-product retains its own:
Price and availability
Voucher
Reporting and invoicing attributes
Tax and commission rules
Use Cases:
Marketing products that resell combinations of tours or experiences
Promotions or seasonal packages
Voucher-driven product bundles
Go to the Product Overview
Click Create Product
Choose Bundle Product
Select the Supplier
Add existing products from the same supplier
Bundle List Price: The sum of all linked sub-products’ prices
Sale Price: Reflects discounts applied at the bundle level (percentage or fixed)
Seasonal Pricing: Active season on the bundle applies; price variations are defined per sub-product
Settings like cancellation rules, ticket types, or code layouts must be configured at the sub-product level
Bundles do not inherit global product settings
Each sub-product supports dynamic and seasonal pricing
Adjust pricing based on demand, seasons, or promotions
Supports multiple tax rates, applied individually at the sub-product level
Ensures accurate financial reporting and compliance
Each sub-product generates its own voucher
Supports flexibility in redemption, check-in, and reporting
Apply bundle-level discounts in:
Percentage
Fixed amounts
Available in: Prioticket Full Website Point of Sale
Not available in: External resellers, Mobile POS, Self-service kiosks
Promo codes are not yet supported in bundle products
Cannot include: Cluster products or Combi products
No dependencies between sub-products (e.g., shared time slots)
Can be used in bundles but must be added as standard custom by the Prioticket backend team
Sales & Purchase Rows: Each sub-product is recorded independently
Tax & Commissions: Calculated per sub-product based on catalog or product-specific rules
Exports & Reports: Show breakdowns per product, maintaining accuracy across systems
Product Dependencies
Sub-products cannot have dependency logic (e.g., sequential bookings)
Product Options
Currently, additional product options are not supported
Promo Integration
Promo codes not usable with bundles
Tax Complexity
Multiple tax rates must be carefully configured per sub-product
🚀 Feature
🎁 Bundle
🤝 Combi
Product Structure
Group of standalone products
Single product with multiple activities
Vouchers
One per sub-product
Single voucher per combi
Pricing
Flexible per product + bundle-level discounts
Single price for the entire combi
Tax Handling
Per sub-product
Global or shared tax rate
Availability
Independent per sub-product
Must coordinate availability across all items
POS Compatibility
Full Website POS only
Supported across POS, Reseller, API, etc.
Dependencies
Not supported
Some dependency logic supported (e.g., shared timeslots)
Modifications
More flexible due to separate vouchers
Harder to amend individual sub-products
Choose Bundle Products when:
You need flexibility in pricing, vouchers, and tax per item
Products can be redeemed or consumed independently
You want to create a marketing package using existing products
Choose Combi Products when:
You need a single ticket or experience that includes multiple activities
You want shared availability or capacity logic
You prefer consolidated bookings and reporting
Bundle Products are a powerful tool for creating flexible, value-packed offers that combine multiple existing products while maintaining their individual identity. Ideal for promotional campaigns, gift packages, and upselling strategies, bundles provide:
Dynamic pricing
Voucher-level control
Accurate financial reporting
Independent availability and tax handling
Proper configuration is key to ensuring a seamless experience for both operators and end-customers. While bundles offer advanced flexibility, they also come with limitations in terms of dependencies and supported sales channels.
Oh no!
The API returns the appropriate HTTP status code for each request, which can be used to categorize the most common types of errors. Some of the supported status codes include:
400 (Bad Request)
401 (Unauthorized)
402 (Payment Required)
403 (Forbidden)
404 (Not Found)
405 (Method Not Allowed)
406 (Not Acceptable)
409 (Conflict)
418 (I'm a teapot – yes, really!)
422 (Unprocessable Entity)
429 (Too Many Requests)
500 (Internal Server Error)
502 (Bad Gateway)
503 (Service Unavailable)
504 (Gateway Timeout)
For additional details, you can refer to the error, error_description, and errors fields in the response for a deeper understanding of the issue.
HTTP 400 errors: These typically occur when a request is missing a required parameter, includes an unsupported parameter or value, repeats the same parameter, or has a malformed structure. Most of these errors return the INVALID_REQUEST code, with additional details in the errors array.
HTTP 422 (Unprocessable Entity): This error is often caused by a semantic (logical) issue, indicating a problem within your integration (e.g., a mismatch in expected values or business logic).
As the API evolves, we may introduce more specific error and status codes. For now, treat all status codes in the 200-299 range as successful responses, and any codes in the 400+ or 500+ range as errors.
Given that our API has over 1000 unique error codes grouped by HTTP status, we recommend avoiding the implementation of individual error codes in your customer-facing interface. Instead, we suggest handling them with a catch-all clause for each HTTP status code.
Capture guests payments
The Prioticket API supports optional payment processing for guest transactions via a wide variety of integrated Payment Service Providers (PSPs). This functionality is typically used in direct sales scenarios and is not applicable to B2B resellers or partners that handle their own payments and settle via invoice.
You do not need to use our payment API if:
You're a B2B reseller or partner
You are the merchant of record
You collect the guest payment independently
You settle with Prioticket via invoice or other external arrangements
In this case, set SettlementType
to EXTERNAL
, and the guest payment flow is handled completely outside our platform.
You should use our payment API if:
You're handling guest-facing payments
You require real-time reservation confirmation
You’re using SettlementType: DIRECT
or VENUE
You want to process payments through a connected PSP or generate a hosted payment link
Once a payment is completed using the API, the reservation becomes locked and cannot be amended.
The API manages:
Initiating guest payments
Redirects for 3D Secure 2 (3DS2)
Confirming and capturing funds
Generating payment links for HPP (Hosted Payment Pages)
Triggering refunds when applicable
Choose from a broad range of integrated PSPs:
ADYEN
Adyen
CYBERSOURCE
CyberSource
HYPERPAY
Hyperpay
ADDONPAYMENTS
Addon Payments
NGENIUS
Network International
MULTISAFE
MultiSafePay
STRIPE
Stripe (coming soon)
GOOGLE
Google Pay
PAYONEER
Payoneer
SMARTPAY
Smart Pay (Bank Muscat)
MOKA
Moka POS
EXTERNAL
Payment settled externally
—
OTHER
Unlisted or custom provider
—
NONE
No payment provider used
—
SettlementType
determines how the transaction is settled:
DIRECT
: Payment is made using the API and a PSP before confirming the reservation.
VENUE
: Payment is made in person at the venue.
EXTERNAL
: Partner collects the payment and settles externally. Used in most reseller integrations.
INVOICE
: Payment is settled later via invoicing. Used in B2B partner flows.
Default: EXTERNAL
PaymentMethod
specifies how the guest initiated the payment:
ONLINE
– Guest pays via card, wallet, or local method on web/mobile
TERMINAL
– Payment made through a physical POS terminal
LINK
– Hosted Payment Page (HPP) sent to guest
CASH
– Payment made in cash
GUEST_BILL
– Charged to a guest account
RECURRING
– Subscription or repeating charge
EXTERNAL
– Payment made entirely outside the Prio system
VOUCHER
– Voucher used as payment
BANK_TRANSFER
– Funds transferred via bank, usually for invoicing
OTHER
– Any unlisted payment method
These values allow tracking and reporting of how a transaction was completed.
PaymentType
describes the stage or purpose of a transaction:
AUTHORIZATION
– Funds are verified and reserved, but not yet captured
CAPTURE
– Funds are officially transferred from the guest
REFUND
– A completed payment is returned to the guest
This supports more advanced flows where authorization and capture happen separately (e.g., in fraud-sensitive environments or ticketing hold scenarios).
If returned by the PSP, PaymentScheme
gives the specific card or network used:
Examples include:
VISA
, MASTERCARD
, MAESTRO
, AMERICAN_EXPRESS
PAYPAL
, SOFORT
, IDEAL
, ALIPAY
, GOOGLE_PAY
, APPLE_PAY
, SEPA
KLARNA_NOW
, AFTERPAY
, TRUSTLY
, UNIONPAY
, etc.
UNSPECIFIED
, OTHER
(when no detail is available)
This allows you to track, analyze, or display what the guest used to pay.
In cases where immediate payment isn’t required or you want to send a checkout page to the guest:
Use the Payment Link functionality to generate a URL
Guest is redirected to a secure Hosted Payment Page (HPP)
Reservation is confirmed once the payment completes successfully
Useful for:
Manual bookings
Follow-up payments
Call center flows
Health Checks
Information on the system.
Prioticket API vs. OCTO Spec
Prioticket Distributor API V3.8: A full-featured API specification designed to provide distributors access to a wide range of tourism-related products, including real-time availability, booking management, pricing, content management and customization.
OCTO API 1.0: An industry-standard API specification focused on creating a common data format for exchanging availability and booking details among suppliers and distributors.
More extensive booking management with full order modifications and cart-based functionality.
AI-driven localization for automated translations and currency handling.
Dynamic pricing and discount flexibility beyond standard base pricing.
Strong content management tools including bulk updates and media handling.
Channel management tools for better inventory allocation.
Advanced recommendations and bundling for better customer experiences.
Dependency-based booking system ensuring required prerequisites for specific services.
Direct integration with multiple Payment Service Providers (PSPs).
Fully capable of powering a complete booking website without the need for an intermediary reservation system.
More complex integration due to the vast number of features.
Potentially higher setup time for developers unfamiliar with its extensive functionality.
Industry-wide adoption due to its standardized data structure.
Easier integration for distributors working with multiple suppliers following OCTO standards.
Simplified structured approach to booking and availability, reducing complexity.
Greater interoperability between various platforms using the same schema.
Limited customization options for pricing, booking flows, and product modifications.
Lacks support for multi-day products and itineraries.
Does not support seating management or advanced booking dependencies.
No direct integrations with payment providers, requiring external handling.
No official support for content listing, filtering, locations & pickups, or categories, making it unsuitable for a fully functional booking website.
OCTO is still a young initiative, and while some of these features are under review, widespread adoption could take significant time.
Both APIs provide robust solutions for distributing tourism-related products, but they cater to different needs. Prioticket API excels in customization, dynamic pricing, and cart-based booking, making it ideal for companies needing more flexibility. OCTO API offers a standardized, widely adopted structure, which simplifies integrations for distributors working with multiple suppliers.
For developers, both API specifications provide strong documentation and resources, but Prioticket API offers more hands-on support, interactive tools, and SDKs, while OCTO API focuses on clear structure and industry compliance.
OCTO API, while promising as an industry-wide standard, currently lacks key features required to build a fully functional booking website. Prioticket API is a complete, enterprise-ready solution, allowing direct website development without the need for an intermediary system. OCTO provides basic booking and availability capabilities but does not compare in terms of feature support.
The choice depends on whether the priority is deep feature customization (Prioticket API) or broad interoperability (OCTO API).
Explore Leading Aggregators with Global and Local Reach
Prioticket seamlessly connects with leading reservation systems, enabling you to onboard supply from virtually any type of operator. This includes museums, theme parks, sightseeing tours and activity providers. Our integrations reduce complexity and make it easy to scale your supply network.
Below is just a selection of reservation systems integrated with Prioticket, showcasing the powerful connections available to help you build a rich and varied inventory.
Need guidance on connecting supply via reservation systems? Our team provides free advice to help you make the most of our integrations. We ensure smooth onboarding and optimal configuration for your supply partners.
Feature
Distributor API V3.8
OCTO API 1.0
Product Content
Detailed product descriptions, pricing, images, and media assets.
Not supported.
Filtering & Search
Advanced filtering by category, location, tags, and attributes.
Not supported.
Availability Checks
Real-time availability with advanced slot-based rules.
Provides real-time availability retrieval.
Booking Management
Full booking lifecycle: create, modify, cancel, retrieve vouchers.
Supports essential booking operations with standardized workflows.
Pricing & Discounts
Supports dynamic pricing, custom discounts, early-bird pricing, and tiered pricing.
Provides structured base pricing options.
Multilingual & Multicurrency
AI-powered translation for product listings, automatic currency conversion.
Supports multilingual product descriptions and multi-currency transactions.
Webhooks & Notifications
Customizable webhooks for booking status changes, cancellations, and updates.
Supports event-driven notifications for key booking and availability updates.
Cart & Order Handling
Multi-product bookings, ability to add items to existing orders.
Focuses on single transaction per order but supports structured modifications.
Direct Booking
Supports instant booking without reservation.
Not supported.
Runtime Pricing
Supports final quote of the price before making a booking.
Supports final quote of the price before making a booking.
Pickup & Logistics
Pickup location management.
Not supported.
Customization & Add-ons
Supports extras, product options, group pricing, family pricing, and product add-ons.
Not supported.
Seating & Allocations
Configurable seating charts, flexible allocations.
Not supported.
Cancellations & Refunds
Advanced cancellation policies, automatic refunds, and rules-based handling.
Supports structured cancellation terms but relies on supplier policies.
Reporting & Analytics
Detailed sales, performance tracking, and customer insights.
Basic reporting, relies on external data processing.
Product Recommendations
AI-driven recommendations based on customer preferences and booking patterns.
Not supported.
Dependency Management
Ensures proper sequencing of bookings, such as requiring an entry ticket before an add-on.
Not supported.
Combi & Cluster Products
Allows bundling of multiple products together, creating unique packages.
Limited to individual product bookings.
Itineraries & Multi-Day Tours
Fully supports complex, multi-day travel plans and custom itineraries.
Not supported.
Category & Destination Management
Organizes products by themes, destinations, and interest-based categories.
Not supported.
Direct Payment Provider Integrations
Supports multiple PSPs like Stripe, PayPal, Adyen, and more.
No direct PSP integrations; handled externally.
Promotional Codes & Discounts
Fully supports promo codes, discount campaigns, and seasonal offers.
Not supported.
Favorites & Wishlists
Allows customers to favorite products for easier access.
Not supported.
Aspect
Distributor API V3.8
OCTO API 1.0
API Documentation
Comprehensive and feature-rich documentation with examples.
Well-structured, standardized industry documentation.
Postman Collections
Available for easy testing and onboarding.
Available for streamlined API testing.
SDKs & Libraries
Some SDKs available for faster implementation.
Mostly relies on third-party community implementations.
API Playground
Interactive API testing tools available.
API reference tools included.
Developer Support
Dedicated support team with onboarding assistance.
Community-driven with some direct support.
Code Samples & Guides
Extensive examples for various use cases.
Limited examples but clear documentation structure.
Anchor
Live
At The Top
Live
AudienceView (ATG Tickets)
Live
Boddy
Live
Bokun
Live
Bovertis (T&T/TicketHub)
Live
BurbleSoftware
Live
Buyagift
Live
City Expert
Live
CityCard
Live
Connexxion
Live
Convious
Live
DerbySoft
Live
Dubai Autodrome
Live
Dubai Parks & Resorts
Live
Enviso (Gantner)
Live
EZticket
Live
Falcon
Live
Farah Experience
Live
FareHarbor
Live
Fever
In progress
Galaxy Connect
Live
Global Ticket (CM.com)
Live
Go City
In progress
GVB
Live
Highland Explorer
Live
iVenture Smart Visit
Live
Louvre Abu Dhabi
Live
Merlin
Live
Ingresso
Live
Intersolve
Live
iTicket (Visit)
Live
OCTO
Live
On The Stage
Live
OpenPass
Live
Palisis (TourCMS)
Live
Papillon Helicopters (Grand Canyon Group)
In progress
Paula Deen's Lumberjack Feud Supper Show
In progress
Platinum Group
In progress
Rayna Tours
In progress
RET
Live
Rezdy
Live
Roller
Live
Seven Rooms
Live
SmartOrder
Live
Sports Fusion
Live
Sports Fusion (Liverpool FC)
Live
Sports Where I Am
In progress
Ticket Team
Live
Ticket-counter
Live
Ticketer
Live
TMB
Live
TodayTix (Encore)
Live
TravelBox
Live
Trekksoft
Live
Ventrata
Live
VGS
Live
VivaTicket
Live
World Choice Investment
Live
Yas Marina Circuit
Live
ZAUI
Live
Zenchef
In progress
Staying Fresh
Prioticket seamlessly integrates with a variety of third-party supplier systems, each with its own caching capabilities. To ensure consistent availability data across all integrations, our platform uses a unified caching strategy designed to maximize performance while reducing the load on third-party systems.
Prioticket's Availability API is designed to provide real-time availability and pricing data for products with managed capacity. Unlike traditional systems that rely heavily on caching and synchronization intervals, Prioticket takes a different approach.
Where most third-party systems require you to implement caching strategies to avoid performance issues or outdated availability, Prioticket is built for real-time access by design. Our platform ensures that every availability request returns the most accurate, up-to-date information, without the need for local caching on your end.
We achieve this by:
Direct proxying of real-time availability APIs where supported.
Sub-second API responses, even when third-party systems are slower.
Smart request collapsing to reduce system load while maintaining real-time accuracy.
Continuous optimization of our internal caching and synchronization layers to minimize discrepancies.
Use of stale while revalidate to eliminate origin latency which allows us to serve responses instantly from cache while asynchronously refreshing them in the background, ensuring speed without sacrificing accuracy.
With Prioticket, there's no need to build your own cache, worry about staleness, or implement aggressive refresh strategies. You can confidently call our API in real time, even just before checkout, and receive reliable data every time.
In situations where a third-party system has caching limitations or lacks flexibility, Prioticket maintains a temporary cache to ensure uninterrupted access. We use a Last-Modified or If-Modified-Since approach for integrations that support it. This method helps reduce bandwidth usage while ensuring consistency between the actual and cached availability. When this approach is implemented, you will not experience discrepancies between live and cached data.
For scenarios where full consistency between cached and real-time data is not possible, we continuously improve our caching mechanisms to minimize mismatches. Our team works regularly to enhance this process and provide availability data that is as close to real-time as possible.
Our team continuously collaborates with third-party reservation systems to refine our caching logic. We are actively working to improve accuracy by decreasing the caching interval where feasible.
For products with limited third-party caching capabilities, our caching interval is typically set to the lowest possible value. For many other products, caching frequencies are under 60 minutes or fully synchronized, depending on the specific integration.
Prioticket’s system is designed to provide sub-second response times, while third-party systems often require several seconds to return availability data. As part of our ongoing commitment to system optimization, we work with our partners to ensure that our caching layer strikes the right balance between system performance and real-time accuracy.
This approach minimizes discrepancies and ensures that you receive the best possible data with minimal delays. Our team is continuously refining our caching strategy to improve real-time availability and provide a seamless experience for all users.
If you're more comfortable implementing some level of caching, for example, when loading availability for multiple products on a general overview page, you may still apply a light caching policy:
Before each order: Always re-check availability for the most up-to-date price and capacity.
Every hour: Refresh availability for the next 7 days.
Once per day: Refresh availability for the coming month.
Once per week: Refresh availability for the next 90 days.
Refinements: Adjust caching frequency based on product popularity or remaining capacity (e.g., update more often if remaining capacity < 100).
This fallback strategy is based on our legacy guidance and may be used if you're integrating with older systems or prefer a hybrid approach. However, for the best experience and most accurate availability, we encourage you to rely on real-time calls whenever possible.
Keep it consistent
Character Set: All data should be in the UTF-8 character set to ensure consistency and compatibility.
Currency Codes: Currency codes must be in the ISO-4217 format.
Language: Language must be specified using the ISO-639-1 format.
Amounts and Values: Follow international standards for amounts and values. Rounding may be required to adhere to these standards.
Case Sensitivity: All data fields are case-sensitive, meaning that capitalization matters.
Optional Parameters: If optional parameters are not set or are left empty, they will not be included in the response. These parameters are nullable to support serialization.
Points in time are expressed as strings using the RFC 3339 datetime format. We always expect the local time with its UTC offset.
Burj Khalifa entrance Ticket in Dubai for 12th of May 2016 at 14:00 (local time).
2020-05-12T14:00:00+04:00
2020-05-12T10:00:00+08:00
2020-05-12T18:00:00+00:00
Note 1: Although the above examples express the same point in time, we consider only the first one as valid because we always require the date and time in reference to the location of the activity.
Note 2: Although mentioned in RFC 3339, due to technical restrictions we do not support the Z suffix. Please send +00:00
to denote a zero UTC offset instead.
Note 3: All offsets are automatically adjusted based on daylight saving time (DST).
Getting Started with the Prioticket API
At Prioticket, we want to make integration as easy and developer-friendly as possible. That’s why our API is fully documented using OpenAPI, the world’s most widely adopted standard for API definitions. Whether you prefer to explore the API through interactive documentation, generate your own client libraries, or test calls directly in Postman, we’ve got you covered.
For the latest version of our API definition, please visit: ()
This definition gives you a complete, machine-readable blueprint of our entire API, including:
Endpoints
Request/response schemas
Parameter details
Authentication requirements
Prefer to work with Postman? No problem!
Because our definition is publicly available, you can use powerful open-source tools like OpenAPI Generator to automatically generate client libraries in your preferred programming language, from Python and JavaScript to PHP, Java, and many more.
Important Note: These libraries are auto-generated and should be considered experimental. While we cannot guarantee backward compatibility and do not provide support for these third-party tools, we do use these SDKs internally in our own product and highly recommend them as a starting point if you prefer working with SDKs.
Want to experience our API hands-on without writing any code? Our documentation is interactive, meaning you can send actual API calls directly from your browser.
Throughout the documentation, you’ll also find sections labeled Advanced Functionality. These features are intended for more complex use cases and deep integrations. Implementing advanced functionality is optional and not required for basic API connectivity.
If you’re interested in exploring these advanced capabilities, simply reach out to your Account Manager for guidance and best practices.
To keep things efficient, some schemas are reused across multiple endpoints, for both requests and responses. This means:
Some properties are read-only (included in responses but not in requests).
Other properties are write-only (sent in requests but not returned in responses).
Since all responses use JSON format, the order of fields may vary and might also change over time. Rest assured, the actual content and structure remain compliant with the OpenAPI specification.
Configurable pricing
Prioticket provides powerful configuration options for implementing detailed pricing strategies across a wide range of business models. These configurations let you define base prices, apply rules, and manage price variations for different audiences.
You can set pricing logic based on the following dimensions:
Product Type: Define base prices per ticket type (e.g., Adult, Child).
Age Group: Tailor pricing for different age brackets.
Booking Quantity: Apply bulk discounts or quantity-based changes.
Seasonal Pricing: Adjust prices based on season (e.g., peak vs. off-peak).
Daily Pricing: Set different prices for specific days.
Custom or Dynamic Pricing: Use real-time integrations to override default pricing.
Base Price: Retrieved based on product type and optionally seasonal context.
Variations: Any applicable surcharges or discounts are applied.
Dynamic Price: Delivered through the Reservation API and Order API.
You can check which pricing features are enabled by inspecting these parameters in the product metadata:
product_seasonal_pricing
Product Seasonal Pricing
Whether pricing differentiates between specific date ranges (product types may repeat with different settings).
product_quantity_pricing
Product Quantity Pricing
Different pricing based on the booking quantity.
product_daily_pricing
Product Daily Pricing
Whether pricing differentiates between specific days.
product_dynamic_pricing
Product Dynamic Pricing
Whether pricing differentiates between specific availability slots (e.g., peak hours).
To ensure accuracy of pricing:
Always test changes using the API.
Verify price breakdown in the Reservation response.
Compare API results with expected calculations for each product configuration.
Group similar pricing rules together using templates.
Use consistent naming for tickets and pricing tiers.
Document all custom pricing logic for internal audits.
Everything You Need, In One Place
At Prioticket, we understand that every partner’s needs are different. That’s why our API offers a flexible, layered set of functionalities, allowing you to start simple and expand when needed. Whether you’re looking for a quick connection to power core bookings or a deep integration that leverages advanced capabilities, our API has you covered.
This extensive catalog showcases the extend of our API capabilities, demonstrating the depth and flexibility of our platform.
Standard, advanced, and custom product types
Bundles, add-ons, combi tickets, clusters
Timed-entry, multi-day, and itinerary-based tickets
Real-time availability by date, location, and time
Manage product routes and location-based mapping
Product list, detail, and search endpoints
Highlights, tags, categories, includes, excludes
Route descriptions, durations, and itineraries
Define redemption and travel date configurations
Basic and advanced product options
Dependency handling and required/optional settings
Turnout time, seating, and duration controls
Age group pricing
Quantity-based price rules
Seasonal and daily calendars
Partner-based pricing flexibility
Rule-based modifiers (e.g. time slot, advance purchase, day of week)
Control price variation through logic layers
Real-time third-party pricing integrations
Demand/availability-based pricing
Group pricing and group codes
Partner-level discounts, sales fees
Advanced promocode engine (apply, validate, remove)
Promo usage tracking and reporting
Bundle & combi discounts, with override logic
Tax breakdowns and calculations
Multi-currency display and guest currency logic
Exchange rates (Fixer.io integration)
Create, amend, and cancel bookings
Auto recovery, booking versioning, support for past dates
Overbooking handling and confirmation flows
Booking quantity limits and timeout configuration
Redemption windows and date-based booking rules
Dynamic reservation timeout management
Display: booking list, subtotal, total price, price result
Skip payment if total is zero
Confirmation required on price changes
Support for partial cancellations at booking and transaction level
Graceful fallback and recovery flows
Add multiple guests per booking or order
Edit guest information dynamically
Collect basic and advanced guest data
Create, update, delete, and retrieve contacts
Link multiple contacts to a single order
Support for advanced contact fields and metadata
Create and manage multi-booking orders
View subtotal, total, and per-booking payment status
Order metadata, contacts, and options
Manual payment support
Guest pay later feature
Auto-skip payment if amount is zero
Enable test mode for order flow testing
Integrate with third-party PSPs
Retry logic on failed payment attempts
Flexible gateway configuration
Full and partial refund workflows
Cancellation handling with recovery paths
Categories, highlights, tags, and cancellation policies
Sort by travel, invoice, or redemption date
Routes, itineraries, and descriptions
Product filtering, flagging, and favorites
Pagination, notification jobs
API key management interface
API rate limiting and monitoring endpoints
Supplier, distributor, and reseller roles
Role-based permissions across API usage
ElasticSearch integration for order queries
Advanced filtering and tag-based search
GDPR consent tracking
Secure API key control and 2FA support
HTTP caching with If-Modified-Since
support
Webhooks for booking and payment events
Support for external PSPs and pricing providers
Always stay up to date
Our API provides robust webhook functionality to deliver asynchronous notifications for key system events, enabling seamless integration and real-time synchronization.
Product Events: creation, amendment, removal
Order Events: creation, amendment, cancellation
Payment Events: creation, refund, amendment
Voucher Events: release, revocation
Redemption Events
Real-time Synchronization: Automatically keep your system up-to-date with product, order, payment, and voucher changes.
Booking Status Recovery: Track and respond to booking updates and cancellations instantly.
Third-Party Integration: Easily trigger workflows in external systems or services through webhook callbacks.
Cache Management: Enable cache purging or refresh operations asynchronously to ensure data freshness.
Voucher Management: Handle voucher releases and revocations promptly to maintain accurate voucher states.
Asynchronous Processing: Offload processing tasks triggered by events, improving application responsiveness and scalability.
A step-by-step guide to help you connect and start using the Prioticket API effectively.
Below, you’ll find a complete overview of the functionalities available through our API, starting with essential mandatory features for a basic integration, followed by optional (recommended) advanced functionalities for partners who want to unlock even more flexibility and customization.
Under each section in this guide, you will find a detailed list of the certification cases designed to guide your integration testing in our staging environment. These cases help ensure your implementation meets all requirements.
The certification cases are categorized as follows:
Mandatory – Required for successful certification and go-live
Recommended – Strongly encouraged for a smooth user experience
Optional – Additional tests that apply to specific scenarios or features
Alongside these cases, we provide test products that you can use to validate each configuration and workflow.
Important Note: Mandatory cases may vary depending on the suppliers or clients you plan to work with.
Our API supports a wide range of product configuration types used by different suppliers, covering everything from simple date-based tickets to complex time-slotted or bundled offerings. These configurations ensure a flexible and accurate booking experience (reference).
Third-Party Connected Product
62564 & 62551
Seasonal Product
62526
All Ages Ticket Type (Person)
62522
Custom Ticket Type
70316
Group Ticket Type
62545
Booking Quantity Limit
62525
62523
- with reservation subproducts
62532
- with open subproducts
62533
62535
62524
- Optional
62701
- Mandatory
62702
- Mix Optional & Mandatory
62653
When booking a product, guests may be required to select a specific date, time, or time slot. This behavior is determined by the admission type and the availability settings configured for the product. Together, these define how the booking calendar or time picker behaves—whether it’s open-ended, limited to specific days, or tied to scheduled time slots (reference).
Freesale
62519
Time Point
62520
Time Period
62521
Time Slot
76038
Time Date
76039
Our API supports flexible pricing models to accommodate different product and supplier needs:
Base Pricing: The standard price per ticket. It can vary based on quantity, season, day of the week, or age category.
Variable Pricing: Fixed price variations are applied to the base price depending on specific days, dates, or time ranges. Useful for weekend surcharges, peak days, or evening time slots.
Dynamic Pricing: Prices are adjusted in real time by the supplier based on factors like demand, availability, or timing. This ensures optimized pricing and inventory management.
These pricing types can be combined to create highly customizable and responsive pricing strategies (reference).
Flex pricing per ticket
62542
Flex pricing per group
62544
Variable Pricing - based on day
62548
Variable Pricing - based on date
74998
Variable Pricing - based on time range
74999
The Reservation API is designed to hold availability while a customer completes their booking. This prevents overbooking and ensures the selected time slot or ticket remains available during checkout. It's especially useful when:
Waiting for payment confirmation
Holding items in a shopping cart
Booking high-demand or limited-availability tickets
For maximum flexibility, including support for cart-based bookings and amendments, we recommend using the Cart flow (reference).
To finalise the reservation, proceed with creating an order.
Create a reservation
Pick by choice
Update a reservation (e.g. add another product, update the booking travel date, etc.)
Pick by choice
Cancel a reservation
Pick by choice
Amend an order (e.g. product type count)
Pick by choice
Our API provides flexible cancellation options to suit different booking scenarios:
Full Order Cancellation: Cancel the entire order and all associated tickets.
Partial Order Cancellation: Cancel specific guests or bookings within the order.
Extra Options Cancellation: Cancel only the selected add-ons/extra options without affecting the main tickets.
These options help ensure a smooth post-booking experience for both partners and customers (reference).
Full Order Cancellation
Pick by choice
Partial Order Cancellation
Pick by choice
Partial Cancellation - Extra Options
62524
Our API supports flexible voucher setups to match supplier requirements:
Voucher Code Allocation: You can configure vouchers to be issued per order (one code for the whole order) or per person (a unique code for each individual).
Supplier PDF Vouchers: Some suppliers require the use of their own branded PDF vouchers. These can be retrieved using the Get Voucher API, which returns the URL to download the supplier-provided PDF (reference).
Customer Email Delivery: Prioticket can send the confirmation email and voucher directly to the customer using our standard branding. Custom branding is also available upon request for an additional fee.
Voucher code allocation level - one per order
62528
Voucher code allocation level - one per person
62529
PDF Voucher URL
Pick by choice
PDF Voucher in different languages URL - Tiqets products (FR, IT, ES, DE, NL only)
62531
Confirmation email & voucher sent from Prioticket to the customer
Pick by choice
Customer name required on every voucher - selected suppliers
62551
Our API supports webhook-based notifications to keep you updated on key events such as order status changes and product updates. These notifications help you stay in sync with order processing, booking confirmations, and product changes in real time (reference).
Our system supports two main types of order processing flows: ONLINE and OFFLINE, depending on the capabilities of the supplier's third-party reservation system.
When a product is updated by a supplier (e.g., price change, new season, availability update), a webhook notification is automatically triggered and sent to your configured webhook URL with the updated product details.
Order confirmation - ONLINE Process
Pick by choice
Order processing & confirmation - OFFLINE Process
62536
Order cancellation - ONLINE Process
Pick by choice
Order cancellation processing & confirmation - OFFLINE Process
62536
Need Help?
If you have questions while preparing your scope, reviewing advanced functionalities, or during development, please raise a support ticket to our API Support Team.
Response Time: Within 4 business days
With access to over 400,000+ products globally, Prioticket offers resellers a robust and diverse inventory, from world-famous attractions to immersive experiences and local favorites. Whether you're building a marketplace, travel platform, or want to expand your tour offerings, our system supports your growth with proven, high-demand supply.
Below you'll find a detailed breakdown in the Middle East, showing the suppliers that are actively being sold via Prioticket today.
Middle East
3d World Selfie Museum
United Arab Emirates
Aa Cruises
United Arab Emirates
Abra Marine Tours Operation
United Arab Emirates
Actionflight Aviation
United Arab Emirates
Air Maniax
United Arab Emirates
Al Shindagha Museum (Talents UAE)
United Arab Emirates
Amazon Tours
United Arab Emirates
Arabian Adventures
United Arab Emirates
Arte Museum Laser & Lights Shows L.L.C
United Arab Emirates
At The Top Burj Khalifa
United Arab Emirates
At. Mosphere Burj Khalifa L.l.c
United Arab Emirates
Atlantis The Palm
United Arab Emirates
Atlantis the Palm Food and Beverage
United Arab Emirates
Aura Skypool Dubai
United Arab Emirates
Aventura Park
United Arab Emirates
Balloon Adventures Dubai
United Arab Emirates
Balloon Flights
United Arab Emirates
Bassata Village
United Arab Emirates
Blue Safari Water Sports
United Arab Emirates
Bustronomy Dubai
United Arab Emirates
Bustronomy Transporting Passengers Via Tourists vehicles LLC
United Arab Emirates
CE LA VI
United Arab Emirates
Centaurus Charter
United Arab Emirates
City Sightseeing Dubai
United Arab Emirates
Conrad Abu Dhabi Etihad Towers
United Arab Emirates
Deep Dive Dubai
United Arab Emirates
Desert Adventures Tourism
United Arab Emirates
Desert Gate
United Arab Emirates
Desert Rose Tourism Llc
United Arab Emirates
Dmc Arabia Llc ( Gray Line )
United Arab Emirates
Dream Journey
United Arab Emirates
Dubai Aquarium and Underwater Zoo
United Arab Emirates
Dubai Autodrome Llc
United Arab Emirates
Dubai Crocodile Park
United Arab Emirates
Dubai Dolphinarium
United Arab Emirates
Dubai Frame
United Arab Emirates
Dubai Garden Glow
United Arab Emirates
Dubai Miracle Garden
United Arab Emirates
Dubai Opera
United Arab Emirates
Dubai Parks and Resorts
United Arab Emirates
Dubz
United Arab Emirates
Dutch Oriental
United Arab Emirates
Escape Hunt
United Arab Emirates
Explorer Tours
United Arab Emirates
Expo City Dubai Fzco
United Arab Emirates
Falcon Aviation
United Arab Emirates
Farah Experiences Llc
United Arab Emirates
Ferrari World
United Arab Emirates
Global Village
United Arab Emirates
Grayline UAE
United Arab Emirates
Gulf Tours
United Arab Emirates
Hatta Adventures
United Arab Emirates
Hatta Honey Bee Asal Hatta Trading
United Arab Emirates
Helidubai
United Arab Emirates
Husaak Adventures Abu Dhabi
United Arab Emirates
Hyperspace
United Arab Emirates
Ice Rink
United Arab Emirates
iFly
United Arab Emirates
IGNITE Sport Services
United Arab Emirates
IMG Worlds of Adventure
United Arab Emirates
Inside Burj Al Arab
United Arab Emirates
Jubail Mangrove Park
United Arab Emirates
Jumeirah Emirates Towers
United Arab Emirates
Kidzania
United Arab Emirates
La Perle by Dragone
United Arab Emirates
Louvre Abu Dhabi Department Of Culture And Tourism
United Arab Emirates
Madame Tussauds Museum Llc
United Arab Emirates
Match Play Recreational Playground 3d Blacklight
United Arab Emirates
Mercedes-Benz Offroad Experience
United Arab Emirates
Musandam Adventure Travel And Tourism Llc
United Arab Emirates
Museum of Illusions, Dubai
United Arab Emirates
Museum Of The Future
United Arab Emirates
Nayak Travels
United Arab Emirates
Nemo Diving Center
United Arab Emirates
Nemo Watersports
United Arab Emirates
Oceanair Travels
United Arab Emirates
Orient Tours
United Arab Emirates
Platinum Heritage Desert Safari
United Arab Emirates
Qasr Al Hosn
United Arab Emirates
Qasr Al Watan
United Arab Emirates
Roll Sports & Amusement Tracks L.l.c
United Arab Emirates
Royal Adventure Off Road Motorcycles Rental Llc
United Arab Emirates
Royal Shaheen Events
United Arab Emirates
Sea Mocean Leisure Yachts And Boats Rental
United Arab Emirates
SeaWorld
United Arab Emirates
Ski Dubai
United Arab Emirates
Sky Views
United Arab Emirates
Sky Walker Yachts
United Arab Emirates
Skydive Dubai
United Arab Emirates
Snow Abu Dhabi
United Arab Emirates
TeamLab Phenomena
United Arab Emirates
The Black Boats
United Arab Emirates
The Dubai Balloon at Atlantis
United Arab Emirates
The Green Planet
United Arab Emirates
The National Aquarium Abu Dhabi
United Arab Emirates
The Palm Monorail
United Arab Emirates
The Smash Room
United Arab Emirates
The View
United Arab Emirates
The Yellow Boats
United Arab Emirates
Topgolf
United Arab Emirates
Tour Dubai
United Arab Emirates
Trampo Extreme, Dubai Mall
United Arab Emirates
Trampo Extreme, Nakheel Mall
United Arab Emirates
Travel Partners
United Arab Emirates
Ultimate Experience Tourism
United Arab Emirates
Warner Bros World
United Arab Emirates
Wild Wadi
United Arab Emirates
Xclusive Yachts
United Arab Emirates
XLine Dubai Marina
United Arab Emirates
Yas Marina Circuit
United Arab Emirates
Yas Waterworld
United Arab Emirates
Al Hamra Tour
Al Hamra - Oman
Al Hoota Cave Properties and Management
Bawshar - Oman
Al Mirani Fort
Muscat - Oman
Al Mirani and Muttrah
Muscat - Oman
Al Sharqiya Aviation
Bousher - Oman
Alia Gallery
Seeb - Oman
Fly Fishing Oman
Hasik - Oman
FunZone
Muscat - Oman
GeoAstro
Muscat - Oman
Infinite Tours
Muscat - Oman
Marhaba Dhofar
Salalah - Oman
Masarat
Bahla - Oman
Nizwa Tourism Carts
Nizwa - Oman
Oman Adventure Centre
Khasab - Oman
Oman Air Holidays Stopover
Oman
Oman Air Stopover
Muscat - Oman
Oman Aquarium
Al Seeb - Oman
Royal Balloon LLC
Sharqiya Sands - Oman
Sea Oman
Muscat - Oman
Sidab Sea Tours
Muttrah - Oman
Snow Oman
Muscat - Oman
Star of the Sea
Muscat - Oman
The National Museum
Muscat - Oman
Top Adventures
Al Jabal Al Akhdar - Oman
Travel Point
Muttrah - Oman
Visit Oman
Muscat - Oman
Wadi Adventure
Al Amarat - Oman
Wave Summit
Muscat - Oman
Wizard Land
Muscat - Oman
Zaree Khasab
Khasab - Oman
Step-by-step overview of the integration process
To ensure a smooth and successful integration, we strongly recommend following the structured process outlined below. This ensures that both your development team and Prioticket’s integration specialists are fully aligned, allowing us to offer the best possible support tailored to your specific needs.
Before development begins, you’ll need valid credentials for our staging environment. These can be obtained by submitting a request through our .
API documentation
Access credentials to the staging environment
A certification script template
Documentation and credentials will be provided within 5 business days.
During this process, we’ll ask for details about your interested suppliers' product portfolio. This allows us to provide customized certification guidance tailored to your business needs.
Important Note:
The certification script outlines both mandatory and optional test cases.
Mandatory cases may vary depending on the suppliers or clients you plan to work with.
Before diving into development, it's important to prepare your integration approach based on your specific business needs. Our API is designed to be flexible, allowing for partial implementations and minimal viable requests where needed.
Familiarize yourself with our API documentation, including best practices and sample requests. Understanding how our platform works will help you design a cleaner, faster integration.
Our API offers an extensive set of capabilities & features, but not every feature needs to be implemented. By clearly defining your scope upfront based on the certification template provided to you, you can:
Focus on the features that matter to your business
Avoid unnecessary development effort
Reduce time-to-market
To show how flexible our API can be, here’s an example of a fully valid order using just a handful of required fields — no unnecessary complexity:
Once you’ve defined your integration scope based on your business needs, you can begin building your integration using the selected API features.
Need Help?
If you have questions while preparing your scope, reviewing advanced functionalities, or during development, please raise a to our API Support Team.
Response Time: Within 4 business days
Once development is complete, you’ll need to initiate the certification process by submitting an API Certification Request through our .
This triggers our end-to-end verification process, during which Prioticket will evaluate your integration to ensure:
Requests are correctly formed
Data flows smoothly between systems
Mandatory requirements are met
A new set of certification credentials (distinct from development credentials but with access to the same products). These credentials can continue to be used for staging tests post-production.
A customized certification script based on your interested suppliers' product portfolios. You must complete all mandatory test cases.
Recommendation: We encourage completing additional recommended & optional cases to broaden your supported feature set. This can help avoid the need for future re-certification when onboarding new suppliers or features.
Certification script and credentials will be provided within 5 business days.
Each round of certification review will be completed within 5 business days. If you fail any case, you must re-certify only the failed cases before moving forward.
Credential Management: Some suppliers may require you to utilise separate credentials tied to their admin environments (e.g. when using supplier-branded voucher templates).
You may need to manage multiple credential sets depending on the suppliers' product portfolios you plan to distribute.
After successfully completing the certification process, you’ll be required to fill out a brief post-certification questionnaire. This helps us understand how you intend to use the API and ensures we configure your production environment appropriately.
If the questionnaire responses are valid and complete, we will issue your production credentials, which include your Distributor ID.
Share this ID with the suppliers you’ve entered into commercial agreements with.
Suppliers will enable access to their products for your distributor account based on these agreements.
Once you are in production, live testing will be carried out directly with the suppliers you have partnered with to verify end-to-end connectivity and real-time order handling.
Post-Launch Monitoring: After your integration goes live, Prioticket will closely monitor the initial error rates and overall system behavior during your first weeks in production.
Issue Escalation: If any issues are identified, Prioticket will contact the API support contact you provided in the post-certification questionnaire to ensure timely resolution.
"order": {
"order_distributor_id": "{{order_distributor_id}}",
"order_language": "{{order_language}}",
"order_external_reference": "{{order_external_reference}}",
"order_bookings": [
{
"booking_option_type": "DIRECT_BOOKING",
"product_id": "{product_id}",
"product_type_details": [
{
"product_type_id": "{{product_type_id}}",
"product_type_count": "{{product_type_count}}"
}
]
}
],
"order_contact": {
"contact_email": "{{contact_email}}"
}
}
With access to over 400,000+ products globally, Prioticket offers resellers a robust and diverse inventory, from world-famous attractions to immersive experiences and local favorites. Whether you're building a marketplace, travel platform, or want to expand your tour offerings, our system supports your growth with proven, high-demand supply.
Below you'll find a detailed breakdown in the Americas, showing the suppliers that are actively being sold via Prioticket today.
Abraham Tours
Las Vegas - United States
Amadeo Travel
United States
American Dream
United States
Attractions4us
United States
Beautiful Barbados (USD)
Florida - United States
Big Bus Tours - Las Vegas
United States
Big Bus Tours - Miami
United States
Big Bus Tours - San Francisco & Alcatraz
United States
Big Bus Tours(USD)
United States
Bike and Roll Miami
United States
Bliss Wedding Chapel
United States
Blue Man Group
United States
Boggy Creek Airboats
United States
Caicos Dream Tours
United States
Chicago 360
Chicago - United States
City Experiences (USD)
United States
Coral crater
Honolulu - United States
Delta Air Lines
Atlanta - United States
Delta Airlines inflight
Atlanta - United States
Discova Thailand
United States
Disneyland Resort California
United States
Eat and Play NYC
New York - United States
Elevate DMC (USD)
Dubai - United States
Empire State Building
New York - United States
Extranomical Tours
United States
Florida Dolphin Tours
United States
FlyOver Las Vegas
United States
Fotografiska NY
United States
Fun Spot of Florida Inc. (FSA)
United States
Gatorland
United States
GoCity - USA Central
United States
GoCity - USA East Coast
United States
GoCity - USA West Coast
United States
Gray Line New Orleans
United States
Gray Line San Francisco
San Francisco - United States
Grayline Las Vegas
United States
Grayline Mayaland
Mexico
Grayline Mayaland Mayan Riviera & Playa del Carmen
Mexico
Grayline Miami
United States
GrayLine Orlando
United States
Grayline UAE
United States
Grupo Xcaret
Mexico
Halloween Horror Nights
United States
Halloween Horror Nights Tickets
United States
Hard Rock Cafe (USD)
United States
Hard Rock Cafe Hollywood
United States
Hard Rock Cafe Las Vegas
United States
Hard Rock Cafe Memphis
United States
Hard Rock Cafe New York
United States
Hard Rock Cafe Niagara Falls USA
United States
Hard Rock Cafe Orlando
United States
Hard Rock Cafe San Francisco
United States
Hard Rock Cafe Universal California
United States
HeliNY
United States
Hollywood Hikes
Los Angeles - United States
Hornblower - Entertainment Cruises
United States
Hub Town Tours
Boston - United States
Hudson Yards
United States
I Love NY Gifts
New York - United States
I Love Seoul Tour USD
United States
I Ride Trolley Orlando
United States
I-Drive NASCAR
United States
ICON PARK
United States
IFLY Indoor Skydiving Orlando
United States
Inside Out Tours
United States
Interliv
Mexico
Interliv (USD)
United States
Intrepid Urban Adventures
New York - United States
Island Experiences (USD)
United States
Island H20 Water Park
Kissimmee - United States
Kennedy Space Center
United States
Legoland Florida Resort
Winter Haven - United States
Like A Local
United States
Lip Smacking Foodie Tours
Las Vegas - United States
Machine Guns Vegas
United States
Madame Tussauds Orlando
Orlando - United States
Maverick Helicopters
United States
Maverick Helicopters Hawaii
United States
Maverick Helicopters Las Vegas
United States
MaxTours
Las Vegas - United States
Medieval Times Florida
United States
Merlin North America (Central)
United States
Merlin North America (East Coast)
United States
Merlin North America (West Coast)
United States
Museum of Illusions
Orlando - United States
Nexus Tours
Punta Cana - United States
NY Yankees Game Tickets
United States
Old Town Kissimmee
United States
On Location Tours
United States
One World Observatory
New York - United States
Orlando Balloon Rides
United States
Orlando Magic
United States
Papillon Helicopters
United States
Paradox Museum USA
Las Vegas - United States
Photo Tours Vegas
Las Vegas - United States
Pirates Dinner Adventure
Orlando - United States
Pirates Town Orlando
United States
Planet Hollywood Las Vegas
United States
Planet Hollywood Orlando
United States
Real Florida Adventures
Orlando - United States
Revolution Adventures
United States
Reykjavik Excursions Manual Book (USD)
United States
San Francisco Dungeons
United States
Sawgrass Recreation Park
Fort Lauderdale - United States
SEA Parks & Entertainment - California
United States
Sea Spray Tours
United States
Seaplane Adventures
United States
SeaWorld Parks & Entertainment - Florida
United States
SeaWorld Parks Florida – Extras
United States
ShoretoShore
United States
Sightseeing Pass
New York - United States
Sightseeing Pass - Orlando
United States
Sightseeing Pass New York
United States
Skyline Sightseeing
San Francisco - United States
Sleuths Mystery Dinner Shows
United States
Smart SIM USA
United States
Sports Where I Am USD
Las Vegas - United States
Starline Tours
United States
SUMMIT One Vanderbilt
New York - United States
The Land of Legends
United States
The Ride/The Tour NYC
United States
Top of the Rock
United States
Ultimate Island Circle Tours
Hawaii - United States
Universal Orlando All Park Tickets
Orlando - United States
Universal Orlando Epic Park to Park Tickets
Orlando - United States
Universal Orlando Epic Tickets
Orlando - United States
Universal Orlando Resort
United States
Universal Orlando Resort - Express Pass
United States
Universal Orlando Resort - Express Pass Tickets
United States
Universal Orlando Resort - VIP Experience Tickets
Orlando - United States
Universal Orlando Resort Explorer
United States
Universal Orlando Resort Explorer Tickets
United States
Universal Orlando Resort Tickets
United States
Universal Parks & Resorts - California
United States
Unlimited Biking
United States
USA Guided Tours
United States
USA Virgin Experience Days
United States
USD USH GENERAL ADMISSION UK
United States
USH EXPRESS PASS UK
LA - United States
USH GENERAL ADMISSION UK
Los Angeles - United States
USH GENERAL ADMISSION UK
United States
USH HOLLYWOOD PLUS PASS UK
United States
USH VIP EXPERIENCE UK
United States
Vision Tours Grenada
New York - United States
Vue Orleans
New Orleans - United States
Walt Disney World Florida - Non UK
United States
Walt Disney World Florida - UK
United States
Walt Disney World Florida – US
United States
Walt Disney World Florida Special Events
United States
Wandering Heart Adventure
United States
Warner Bros Studios Tour Hollywood
United States
Wild Florida Airboats
United States
WonderWorks
United States
Xavage Park
Mexico
Xcaret Park
Mexico
Xel-Há Park
Mexico
Xenotes Tour
Mexico
Xenses Park
Mexico
Xoximilco
Mexico
Xplor Fuego
Mexico
Xplor Park
Mexico
Tailored additions
Add-ons are optional items or services that customers can purchase alongside a main product. They serve as valuable upselling tools that enrich the customer experience and drive additional revenue. From guidebooks and cakes to parking passes and private experiences, add-ons can be tailored to suit a variety of business models.
An add-on is an ancillary item linked to a main product. Customers can choose to include it during the purchase process.
Examples include:
🎧 Audio guides
🎂 Birthday cakes
📕 Guidebooks
🅿️ Parking tickets
🛥️ Optional experiences (e.g., boat upgrades)
Add-ons are primarily used to:
Upsell core products
Offer more customized customer experiences
Drive increased average order value (AOV)
Support promotional campaigns and seasonal offerings
Go to the Channel Manager
Select the relevant catalog
Search for the add-on by name or ID
Link it to the desired product — the relationship is automatically saved
Add-ons are linked to main products via the product catalog
These relationships define when, where, and how add-ons are offered during the purchase flow
Add-ons can be part of campaigns that apply discounts automatically
Discounts are triggered when specific products are added to the cart
Campaigns can apply percentage or fixed-price discounts
Discounts can be based on:
Product type
Quantity thresholds
Booking frequency
Add-ons in campaigns can display labels on:
Product cards
Widgets
Checkout pages
This improves visibility and conversion rates
Add-ons integrate with booking systems to:
Sync booking details
Update order references
Ensure accurate reservation handling
Some add-ons share booking dates with the main product
Others follow custom sort orders or availability windows
Add-ons should be automatically removed from the cart if their parent product is deleted
Offer guidebooks with museum tickets
Sell priority access upgrades with general admission
Add souvenir packages to attraction entries
Add free coffee with morning tour bookings
Offer discounted parking for family ticket holders
Launch seasonal add-ons like holiday kits
Add-ons are essential tools for enhancing the value of main products while boosting revenue through upselling and promotional strategies. With the right setup, they enable:
Customizable customer experiences
Seamless integration with booking systems
Data-driven promotional campaigns
However, success with add-ons depends on clear configuration, dependency management, and consistent updates across catalogs and sales channels.
Group and explore
A Cluster Product is a powerful way to group related products under a single category. This structure simplifies product organization and enhances the user experience by offering clearly categorized, easily accessible options.
Cluster products are commonly used to:
Organize offerings by supplier and product type
Facilitate product discovery based on filters such as date, availability, and capacity
Present a flexible and user-friendly booking experience
One of the most prominent examples of cluster product usage is the Amsterdam Light Festival website. Users can:
Select the number of people and a preferred date
View all available product options for that day, such as Canal Cruises or Open Boats
Each of these categories is managed under separate cluster products, allowing streamlined availability checks and booking workflows.
Cluster products group multiple related offerings under one logical unit. This allows:
Easier navigation and discovery
Centralized management of similar products
Example:
A “Canal Cruises” cluster may include several cruise providers and boat types.
A “Supplier ABC” cluster may include all their seasonal tours.
To improve the visual experience, sub-products within a cluster can be reordered using a drag-and-drop interface. This helps:
Prioritize featured products
Customize the frontend display for different audiences
When a user attempts to book a cluster product:
The system checks real-time availability across all sub-products in the cluster
Only relevant and available products are shown to the user
This minimizes confusion and increases conversion rates
Adding a new product to a cluster requires it to be:
Included in the main cluster product
Added to the supplier-specific cluster
Linked to other relevant supplier clusters (e.g., for seasonal offerings)
This ensures that the new product is fully integrated into the user experience and can appear in all appropriate places.
Cluster products offer a flexible, scalable way to manage related product offerings. They allow for:
Enhanced product discovery
Centralized availability checks
Custom display logic
Simplified management of seasonal and supplier-specific offerings
Using cluster products correctly ensures a better customer experience and improves operational efficiency.
With access to over 400,000+ products globally, Prioticket offers resellers a robust and diverse inventory, from world-famous attractions to immersive experiences and local favorites. Whether you're building a marketplace, travel platform, or want to expand your tour offerings, our system supports your growth with proven, high-demand supply.
Below you'll find a detailed breakdown in Europe, showing the suppliers that are actively being sold via Prioticket today.
1e Klas Grand Café Restaurant
Amsterdam, Netherlands
A la Francaise - Provence Reservation
Paris - France
A'DAM LOOKOUT B.V.
Amsterdam, Netherlands
ABBA Voyage
London, United Kingdom
Acua Water Park
Spain
ADAM VR
Amsterdam, Netherlands
Algarving Tours
France
AMAZE Amsterdam
Amsterdam, Netherlands
Amsterdam & Partners
Amsterdam, Netherlands
Amsterdam Dungeon B.V.
Amsterdam, Netherlands
Amsterdam Light Festival
Amsterdam, Netherlands
Aqualava
Spain
Arbek (EUR)
Paris - France
ATG Entertainment
London, United Kingdom
Avi travel
Italy
Barcelona Boat Trips
Barcelona, Spain
Barcelona Holiday
Spain
Barcelona: Public Transport Tickets
Barcelona, Spain
Bateaux Mouches
France
Bateaux Parisiens
Paris, France
Beefeater Gin Distillery London
London, United Kingdom
Berlin TV Tower
Germany
Big Bus Tours - Paris
France
Big Bus Tours - Rome
Rome
Big Bus Tours (EUR)
Germany
Big Bus Tours London
London, United Kingdom
Blade Runner Mallorca
Spain
Blue Boat Company
Amsterdam, Netherlands
Blue Cruises Portugal
Portugal
Blue Xperiences
Portugal
Budapest Walking Tours
Budapest, Hungary
Buggy Pirates
Spain
CAF Tours (Grayline Florence)
Florence
Camaleon Tours
Barcelona, Spain
Captain Jack Amsterdam
Amsterdam, Netherlands
Carrani Tours
Italy
Chelsea FC PLC
London, United Kingdom
Choco Story Brussels
France
Choco Story FrietMuseum
France
Cinecitta & Roma World
Italy
City Cruises London
London, United Kingdom
City Experiences
Italy
City Sightseeing Algarve
Algarve, Portugal
City Sightseeing Amsterdam
Amsterdam, Netherlands
City Sightseeing Berlin
Berlin, Germany
City Sightseeing Budapest
Budapest, Hungary
City Sightseeing Cadiz
Cadiz, Spain
City Sightseeing Copenhagen
Copenhagen, Denmark
City Sightseeing Cordoba
Cordoba, Spain
City Sightseeing Dublin
Dublin, Ireland
City Sightseeing Edinburgh
Edinburgh, United Kingdom
City Sightseeing Glasgow
Glasgow, United Kingdom
City Sightseeing Greece
Athens, Greece
City Sightseeing Las Palmas
Las Palmas, Spain
City Sightseeing Lisbon
Lisbon, Portugal
City Sightseeing London
London, United Kingdom
City Sightseeing Madeira
Madeira, Portugal
City Sightseeing Madrid
Madrid, Spain
City Sightseeing Malaga
Malaga, Spain
City Sightseeing Norway
Oslo, Norway
City Sightseeing Oporto
Porto, Portugal
City Sightseeing Porto
Porto, Portugal
City Sightseeing Prague
Prague, Czech Republic
City Sightseeing Reykjavik
Reykjavik, Iceland
City Sightseeing Santander
Santander, Spain
City Sightseeing Segovia
Segovia, Spain
City Sightseeing Seville
Seville, Spain
City Sightseeing Sweden
Stockholm, Sweden
City Sightseeing Tenerife
Tenerife, Spain
City Sightseeing Toledo
Toledo, Spain
CITY WONDERS EUROPE
France
Cool Tours
Portugal
Crowded House Gallipoli
France
Crystal Maze London
London, United Kingdom
Crystal Maze Manchester
Manchester, United Kingdom
Cultival
Paris - France
DDR museum
Germany
De Efteling
Kaatsheuvel, Netherlands
Discover Cracow
France
Discovering Spain
Spain
Disneyland Paris
France
Dublin Discovered
Dublin, Ireland
Eating Europe
Rome, Italy
Edinburgh Castle
Edinburgh, United Kingdom
Edinburgh City Tours
Edinburgh, United Kingdom
Edinburgh Dungeon
Edinburgh, United Kingdom
EoloFLY
Spain
Euromast
Rotterdam, Netherlands
Excursion Market
France
Fado in Chiado
Portugal
Fat Tire Tours Europe
Paris, France
Flagship Amsterdam
Amsterdam, Netherlands
Fotografiska Berlin
Berlin, Germany
Fotografiska Stockholm
Stockholm, Sweden
Frameless London Limited
London, United Kingdom
Fun in Prague
Italy
Futuroscope
Poitiers - France
Giant's Causeway & Northern Ireland Day Trips from Dublin
Dublin, Ireland
Gifting SEA LIFE Manchester
Manchester, United Kingdom
GoCity - Europe
Multiple cities, Europe
Grayline France (Cityrama Paris CityVision)
France
Grayline Frankfurt
Germany
Grayline Hungary (Cityrama Budapest)
Budapest, Hungary
Grayline Iceland
Reykjavik, Iceland
Grayline Munich
Munich, Germany
Grayline Portugal
Lisbon, Portugal
Grayline Spain (Julia Travel)
Barcelona, Spain
Grevin paris
Paris - France
Guides in Portugal
Lisbon, Portugal
GVB Amsterdam
Amsterdam, Netherlands
Hacienda La Rekompensa
Spain
Hard Rock Cafe Barcelona
Spain
Hard Rock Cafe Berlin
Germany
Hard Rock Cafe Florence
Florence
Hard Rock Cafe Paris
France
Hard Rock Cafe Rome
Rome
Hard Rock Cafe Tenerife
Spain
Hard Rock Cafe Venice
Venice
Hard Rock Tenerife
Spain
Henri Willig
Amsterdam, Netherlands
Ibiza Rocks
Spain
IKONO - Barcelona
Barcelona, Spain
IKONO - Budapest
Budapest, Hungary
IKONO - Madrid
Madrid, Spain
IKONO BARCELONA
Barcelona, Spain
IKONO Berlin
Berlin, Germany
IKONO Copenhagen
Copenhagen, Denmark
IKONO Hungria
Budapest, Hungary
IKONO Italia
Rome, Italy
Ikono Madrid
Madrid, Spain
IKONO Vienna
Vienna, Austria
Inside Lisbon
Portugal
Iobus
Italy
Jamesons Distillary
Paris - France
Jewish Cultural Quarter
Amsterdam, Netherlands
Johan Cruijff ArenA
Amsterdam, Netherlands
Julia Travel Barcelona
Spain
Julia Travel Costa del Sol
Spain
Julia Travel Madrid
Spain
Julia Travel Seville
Spain
Jumbo Tours
Spain
Katmandu Park
Spain
La Pedrera
Spain
Land of Legends (EUR)
France
Lastminute.com London Eye
London, United Kingdom
Legoland Manchester
Manchester, United Kingdom
Lido Tours
Madeira
Lineas Romero
Spain
Liverpool FC
Liverpool, United Kingdom
Living Tours
Porto
London Hippodrome
London, United Kingdom
London Sightseeing Taxi Tours
London, United Kingdom
London Transport Museum
London, United Kingdom
Loro Parque
Spain
Loro Parque & Siam Parque
Spain
Madame Tussauds - Berlin
Berlin, Germany
Madame Tussauds Amsterdam
Amsterdam, Netherlands
Madame Tussauds London
London, United Kingdom
Meeting the French
France
Merlin (Europe)
Germany
Merlin Entertainments UK
United Kingdom
Moco Museum Barcelona
Spain
Moco Museum Barcelona
Barcelona, Spain
Monopoly Lifesized
London, United Kingdom
Montserrat Day Trips from Barcelona
Barcelona, Spain
Music Hall Tavern
Adeje - Spain
MyTour Italy
Florence
National Museum of Denmark (Nationalmuseet)
Copenhagen, Denmark
National Museums of Greenwich
London, United Kingdom
Naturanda
Spain
No Frills Excursions
Mallorca - Spain
North Sailing (EURO)
Paris - France
Opera Lirica di Napoli
Napoli
Opera Lirica di Roma
Roma
Original Berlin Walks
Berlin, Germany
Paddle Surf Sevilla
Spain
Paradis Latin
France
Paradox Museum Barcelona
Spain
Parc Astérix
Paris - France
Paris Authentic
Paris - France
Paris City Vision
Paris, France
Paris Hop-on Hop-off Tours
Paris, France
Paris Montparnasse
Paris - France
Paris Saint Germain
Paris, France
Park Viaggi
Italy
Path Entertainment
London, United Kingdom
Petros
France
Petros (EUR)
France
Phantom Peak London
London, United Kingdom
Pirates Mallorca
Mallorca - Spain
Planet Hollywood Disneyland Paris
France
Pompeii Day Trips from Rome
Rome, Italy
PortAventura
Spain
PortAventura World
Spain
Porto Cruz
Porto, Portugal
Porto River Cruises
Porto, Portugal
Prague River Cruises
Prague, Czech Republic
PSG Stadium Tour
France
Pukalani Country Club
Maui, Hawaii, USA
PUY DU FOU FRANCE
Les Epesses, France
Pyramids of Guimar
Spain
Radius Tours
Germany
Rembrandt Experience
Amsterdam, Netherlands
Reykjavik Excursions ISK
Reykjavik, Iceland
Rome Boat
Rome
Rome Hop-on Hop-off Tours
Rome, Italy
Rome Self-Guided Tours
Rome, Italy
Royal Coster Diamonds
Amsterdam, Netherlands
Royal Line
Italy
Royal Palace of Madrid
Madrid, Spain
Sardinha do Tejo
Portugal
Scotland City Tours - Somos Escocia
Scotland, United Kingdom
SEA LIFE London
London, United Kingdom
SEA LIFE London Aquarium
London, United Kingdom
SEA LIFE Manchester
Manchester, United Kingdom
See Krakow
Spain
See London by Night
London, United Kingdom
Shreks Adventure London
London, United Kingdom
Siam Park and Loro Parque M
Spain
Sightseeing Experience
Italy
Sightseeing Ride
Italy
Silverline Cruises
France
Simply France
France
SLCS SEA LIFE CENTRE SPAIN S.A.
Spain
Son Amar
Spain
Stadion Feijenoord
Rotterdam, Netherlands
Stedelijk Museum Amsterdam
Amsterdam, Netherlands
Stromma Nederland
Amsterdam, Netherlands
Tablao Cordobes
Spain
Tan Sail Fethiye
Paris - France
Tenerife First
Tenerife - Spain
Tenerife First Quads
Spain
Terra Natura
Benidorm - Spain
The Edinburgh Dungeon
Edinburgh, United Kingdom
The Liverpool Pass
Liverpool, United Kingdom
The London Dungeon
London, United Kingdom
The Paddington Bear Experience
London, United Kingdom
This is Holland
Amsterdam, Netherlands
Tivoli Gardens
Copenhagen, Denmark
Tootbus (EUR)
France
Tornado Rafting Antalya
France
Tour Altinkum
Rome
Tour de BonTon B.V.
Amsterdam, Netherlands
Touristation
Italy
Transportes Metropolitanos de Barcelona
Barcelona, Spain
Trequia
Spain
Tulip Experience Amsterdam
Amsterdam, Netherlands
Tur Turizm
France
Turisme Barcelona
Spain
USH EXPRESS PASS UK
United Kingdom
USH GENERAL ADMISSION UK
United Kingdom
UTG Experience
France
Utopia Parties
Tenerife - Spain
Videocosta
Spain
Vienna City Cards
Vienna, Austria
Vintage Tea trips.
France
VOX City
Italy
Waddesdon Manor
Buckinghamshire, United Kingdom
Wander in Italy
Italy
Water Park, Faliraki, South Aegean, Greece
Faliraki, Greece
White Tenerife
Tenerife - Spain
World Experiences
Spain
Yellow Bus
Portugal
A snapshot of leading resellers already connected to our platform.
Through our platform, your products can reach a vast global network of hundreds of resellers, including OTAs, airlines, hotel chains, gift platforms, and tour operators.
Below is just a small sample of trusted resellers we’re already connected to.
We help suppliers strategically expand their reach by offering distribution advice powered by AI, insights and direct access to our reseller ecosystem, no development work needed. Let us build your distribution strategy together.
1STicket
Powered by Prioticket
Abbey (UK) Travel
Powered by Evan Evans
Agendas Group
Powered by Prioticket
Arabian Adventures
Powered by Prioticket
Andaleeb Travel Agency
Powered by Prioticket
Angela Shanley Associates
Powered by Todaytix
Attraction World Group
Powered by Prioticket
Arabian Journeys
Powered by Priohub
Axis & Globe
Powered by Prioticket
AttractionTix
Powered by Attraction World
Avendi
Powered by Prioticket
Avoris Corporación
Powered by Prioticket
Barrhead Travel
Powered by Attraction World
BeMyGuest
Powered by Prioticket
Big Red Group
Powered by Prioticket
Bnbme Holiday Homes By Hoteliers
Powered by Prioticket
Buy a Gift
Powered by Prioticket
Bokun
Powered by Prioticket
Book My Show
Powered by Prioticket
Booking Bash
Powered by Prioticket
Booking.com
Powered by Prioticket
Ceetiz
Powered by Prioticket
City Sightseeing Worldwide
Powered by Prioticket
Charm Tours
Powered by Todaytix
Civitatis
Powered by Prioticket
City Expert
Powered by City Sightseeing
Crown Sightseeing
Powered by Prioticket
Charter Travel
Powered by Attraction World
Club Connect
Powered by Prioticket
Concierge Links
Powered by Prioticket
Coco-Moola
Powered by Prioticket
DNATA
Powered by Prioticket
Delta Airlines
Powered by Attraction World
Dagjeweg
Powered by Prioticket
Day Experience
Powered by Evan Evans
Dubai For You
Powered by Prioticket
Dnata Cruises
Powered by Priohub
DER Touristik Deutschland
Powered by Evan Evans
Debbie's Villas
Powered by Prioticket
Dutch Heights
Powered by Prioticket
Despagar
Powered by Experienza
Expedia
Powered by Prioticket
Emaar Entertainment
Powered by Priohub
Evan Evans
Powered by Prioticket
Experienza
Powered by Prioticket
Freetours
Powered by Prioticket
Flight Centre
Powered by Livn
Floridatix
Powered by Prioticket
Four Seasons Resort
Powered by Priohub
GetYourGuide
Powered by Prioticket
Globick
Powered by Prioticket
Globaltix
Powered by Prioticket
Groupon
Powered by Ingresso
Global City Cards
Powered by Prioticket
Globetrotters Travel & Tours
Powered by Blue Boat Company
Global.com
Powered by Prioticket
GOEUGO International Limited
Powered by Blue Boat Company
Golden Tours
Powered by Ingresso
Great Little Breaks
Powered by Prioticket
Guestlogix
Powered by Prioticket
Groundline Austria
Powered by Prioticket
Guide and Go
Powered by Prioticket
H.I.S - Miki Travel
Powered by Globick
Hays Travel
Powered by Attraction World
Headout
Powered by Prioticket
Hero Travel
Powered by Prioticket
Hotelbeds
Powered by Prioticket
Hellotickets
Powered by Globick
Holibob
Powered by Prioticket
Holitoor
Powered by Prioticket
HotelsPro
Powered by Prioticket
HTS Touristik
Powered by Evan Evans
Hurb
Powered by Prioticket
Ingresso
Powered by Prioticket
Ireland Wild Escapes
Powered by Globick
Isango!
Powered by Prioticket
IWelcomeGroup
Powered by Prioticket
JustGo Tour
Powered by Prioticket
Kidzapp
Powered by Prioticket
Klook
Powered by Prioticket
KKDay
Powered by Prioticket
Kaluah Tours
Powered by Prioticket
Keetoo
Powered by Attraction World
Kompas Express
Powered by Prioticket
Lovetovisit
Powered by Prioticket
Land van ANWB
Powered by Prioticket
Link2Ticket
Powered by Prioticket
Livn
Powered by Prioticket
Lotus Group
Powered by Prioticket
Lulutrip
Powered by Prioticket
Musement
Powered by Prioticket
Magic Breaks (Lateral Group)
Powered by Prioticket
Mandarina Travel
Powered by Prioticket
Marinalia
Powered by Prioticket
Marriot Hotel
Powered by Evan Evans
Nexus Cube - Juniper Experiences
Powered by Globick
Nextriper
Power by Attraction World
Oman Air
Powered by Prioticket
Priohub
Powered by Prioticket
Picniq
Powered by Ingresso
Platinum List
Powered by Prioticket
PA community
Powered by Prioticket
Povis
Powered by Prioticket
Pleasant Holidays
Powered by Evan Evans
Project Expedition
Powered by Prioticket
Pure Magic
Powered by Prioticket
Rezmytrip
Powered by Prioticket
Southwest Airlines
Powered by Attraction World
Shake to Win
Powered by Prioticket
Sightseeingo
Powered by Prioticket
SmartVisit
Powered by Prioticket
Stromma Netherlands
Powered by Prioticket
Tiqets
Powered by Prioticket
Smartbox Europe
Powered by Prioticket
TodayTix
Powered by Prioticket
Travel Curious
Powered by Prioticket
Trip.com (Ctrip)
Powered by Prioticket
Ticmate
Powered by Prioticket
TAMM
Powered by Prioticket
Thomas Cook
Powered by Attraction World
Thoroughbred Country
Powered by Prioticket
Thrillark (TripX Tours)
Powered by Prioticket
Thrillophilia
Powered by Prioticket
Ticketbar
Powered by Prioticket
Ticketmaster UK
Powered by Ingresso
TicketsToDo (DCM INC)
Powered by Prioticket
TopView Sightseeing
Powered by Prioticket
TourCMS (Google Reserve)
Powered by Prioticket
Tour2B.com
Powered by Prioticket
TourDesk
Powered by Prioticket
Tourism Group Holding
Powered by Prioticket
Tours and Tickets Denmark
Powered by Prioticket
Travel Boutique Online (TBO Holidays)
Powered by Prioticket
Transport For London
Powered by TodayTix
Travel Connection
Powered by Prioticket
Travel Stadium (Tick’nBox)
Powered by Prioticket
Travelcoup
Powered by Prioticket
Travel Republic
Powered by Prioticke
Travello
Powered by Prioticket
Travel Corporation Asia
Powered by Evan Evans
Tripadvisor
Powered by Viator
Turbo Pass
Powered by Prioticket
TripFactory
Powered by Prioticket
TripKonnect
Powered by Prioticket
Veltra
Powered by Prioticket & Globick
TripXOXO (Travelport)
Powered by Prioticket
Virgin Atlantic
Powered by Attraction World
Viator
Powered by Prioticket
Virgin Experience Days
Powered by Attraction World
Virgin Experience Gifts
Powered by Ingresso
Visit Dubai
Powered by Prioticket
Visit Oman
Powered by Prioticket
Vox City International
Powered by Prioticket
We Know London Group
Powered by Evan Evans
Wondergifts
Powered by Priohub
Xplorie
Powered by Prioticket
Yantra World
Powered by Prioticket
Get a valid voucher / ticket in PDF format.
Some third party reservation systems are unable to provide the voucher codes in a string format, instead you can obtain the PDF file using this API. This endpoint can also be used in case the voucher is not released directly upon booking confirmation.
Please note that by sending the correct Media Type header you can define whether to receive a download URL (
application/json
) or an encoded PDF file directly (application/pdf
).
A unique identifier got in response of booking API.
ORDRREF123456
A unique identifier got in response of booking API.
BOOKING_REFERENCE_123
Force release of the voucher if the booking is still pending.
true
GET /v3.8/distributor/orders/{order_reference}/voucher HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"url": "https://report.prioticket.com/order/voucher/MTU5HzAwODQBMzA5NzI4"
}
You will be provided with a client_id and a client_secret which you'll use to authenticate yourself in the system. The first thing you need to do is to get access token which you will then use for further requests. When it expires, you will need to request another one. Multiple tokens can be active at once.
Supported types:
client_credentials
Once you have a valid access token, you will need to use it to sign all requests made to the Prio API.
This is done by providing Authorization HTTP header along with each of your requests in the following format:
Authorization:
<token_type>
<access_token>
If this header is not present in the request, the service will reject the request by returning the HTTP error code 400 and respond with an appropriate error message.
Please do not manually perform this operation, we highly encourage you to use an existing OAuth library for your specific language.
Make sure to call this endpoint only in case your current token has expired to reduce roundtrips and overal latency.
The client sends HTTP requests with the Authorization header that contains the word Basic word followed by a space and a base64-encoded string username:password.
Value MUST be set to "client_credentials".
client_credentials
The scope of the access request.
https://www.prioticketapis.com/auth/distributor.booking
POST /v3.8/distributor/oauth2/token HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 101
{
"grant_type": "client_credentials",
"scope": "https://www.prioticketapis.com/auth/distributor.booking"
}
{
"access_token": "eyJhbGciOiJIUzI1NiJ9.e30.XmNK3GpH3Ys_7wsYBfq4C3M6goz71I7dTgUkuIa5lyQ",
"token_type": "Bearer",
"expires_in": 3600,
"scope": "https://www.prioticketapis.com/auth/distributor.booking"
}
This API returns all the stock items.
[FILTER] on stock_id
.
[FILTER] on stock_product_id
.
[FILTER] Include disabled / closed (stock_active:false
) entries.
false
Example: true
[FILTER] Only show entries modified after the given date.
[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.
Wed, 21 Jan 2022 07:28:00 GMT
GET /v3.8/distributor/products/stock HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"total_items": 10,
"items": [
{
"stock_id": "20191026090010006526",
"stock_active": true,
"stock_label": "Morning",
"stock_product_id": "3532",
"stock_spots": {
"stock_items_total": 100,
"stock_items_reserved": 15,
"stock_items_booked": 10,
"stock_items_available": 75
},
"stock_created": "2025-06-29T22:27:44.065Z",
"stock_created_name": "Demo Cashier",
"stock_created_email": "[email protected]",
"stock_modified": "2025-06-29T22:27:44.065Z",
"stock_modified_name": "Demo Cashier",
"stock_modified_email": "[email protected]"
}
]
}
}
This API allows to update the stock for merchandise items.
Identifier of the stock that is updated.
84534534
Updated stock quantity.
50
PUT /v3.8/distributor/products/stock/{stock_id} HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"total_items": 10,
"items": [
{
"stock_id": "20191026090010006526",
"stock_active": true,
"stock_label": "Morning",
"stock_product_id": "3532",
"stock_spots": {
"stock_items_total": 100,
"stock_items_reserved": 15,
"stock_items_booked": 10,
"stock_items_available": 75
},
"stock_created": "2025-06-29T22:27:44.065Z",
"stock_created_name": "Demo Cashier",
"stock_created_email": "[email protected]",
"stock_modified": "2025-06-29T22:27:44.065Z",
"stock_modified_name": "Demo Cashier",
"stock_modified_email": "[email protected]"
}
]
}
}
Get list of contacts.
[FILTER] on reseller_id
.
501
[FILTER] on distributor_id
.
501
Type of contact.
Some supplier systems do not support multiple contacts per orders. In that case we have the following policy:
contact_type:BOOKER
.contact_type:CONTACT
.BOOKER
- Main Booker details (End-consumer). Only a single main booker is recommended.
This is the most common type of contact, as it contains information about the person / entity who made the booking.
Any automated emails such as order confirmations will be sent to this contact type.
CONTACT
- General, non-specific contact.
Only use this type if a more specific classification is unknown.
GUEST
- Guest / End-consumer / Passenger linked to the booking.
Defining the guests per booking allows for advanced functionality such as Check-In and passenger management.
PARTNER
- Partner details.
STAFF
- General staff.
CASHIER
- Cashier performing the sales.
PAYMENT
- Billing / Financial contact.
Payment emails will be sent to this contact type by default.
AGENT
- Agent details.
EMERGENCY
- Emergency contact (Guest, host, family member etc.).
GUIDE
- Teacher / Instructor / Guide details.
SUPPLIER
- Supplier details.
VENUE
- Venue details.
HOST
- Host details.
COMPANY
- (Guest) company details.
DELIVERY
- (Guest) Delivery / Shipping contact / address details.
MANAGER
- (UPCOMING) Manager contact.
SUPPORT
- (UPCOMING) Support contact.
INSTRUCTOR
- (UPCOMING) Instructor contact.
OTHER
- Other type of contact, not mentioned above.
CONTACT
Example: GUEST
Possible values: [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.
10
Example: 5
[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.
1
Example: 1
[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.
1
Example: 1
[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.
Wed, 21 Jan 2022 07:28:00 GMT
GET /v3.8/distributor/contacts 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": [
{
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
}
]
}
}
Get contact details.
Unique Contact ID.
f44226c0-e142-11ea-86d2-83036af9991e
[CONFIG] Include all contact revisions.
false
Example: true
GET /v3.8/distributor/contacts/{contact_uid} HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"items": [
{
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
}
]
}
}
This API is called to update an existing contact.
Contact Functionality:
To amend an existing contact, please send the corresponding contact_uid
in both the path as well as the body parameter with the amended data. In this case the latest request takes precedence and therefore the data is always overwritten, not merged.
TIP: The contact details will be returned on every request. Therefore you are able to merge and combine all data on your side manually.
Please note that this API will not amend the contact details of individual orders by default. To amend the contact details of an order, please pass the corresponding order references as well.
Unique Contact ID.
f44226c0-e142-11ea-86d2-83036af9991e
By default, previous orders will not be amended. If you would like to update existing orders to the latest contact version, please include these here as well. If the contact was not linked to the order yet, it will be added.
["ORDRREF123456","ORDRREF12345678"]
Request for updating / amending an existing contact.
Represents the version of the service API that's served in the response.
3.8.0
PUT /v3.8/distributor/contacts/{contact_uid} HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1450
{
"data": {
"contact": {
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
]
}
}
}
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"items": [
{
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
}
]
}
}
List all webhooks.
Webhook ID.
cf3bf1c0-0123-11ed-bb92-8dd6d349e28e
[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.
10
Example: 5
[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.
1
Example: 1
[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.
1
Example: 1
GET /v3.8/distributor/webhooks 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": [
{
"webhook_id": "de1829d0-e144-11ea-bc09-f935c77bef95",
"webhook_status": "ENABLED",
"webhook_version": "3.8.0",
"webhook_events": [
"ORDER_CREATE"
],
"webhook_url": "https://myserver.com/send/callback/here",
"webhook_created": "2025-06-29T22:27:44.065Z",
"webhook_created_name": "Cashier Name",
"webhook_created_email": "[email protected]"
}
]
}
}
Add webhook to receive events.
Create webhook request model.
Represents the version of the service API that's served in the response.
3.8.0
POST /v3.8/distributor/webhooks HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 112
{
"data": {
"webhook": {
"webhook_events": [
"ORDER_CREATE"
],
"webhook_url": "https://myserver.com/send/callback/here"
}
}
}
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"webhook": {
"webhook_id": "de1829d0-e144-11ea-bc09-f935c77bef95",
"webhook_status": "ENABLED",
"webhook_version": "3.8.0",
"webhook_events": [
"ORDER_CREATE"
],
"webhook_url": "https://myserver.com/send/callback/here",
"webhook_created": "2025-06-29T22:27:44.065Z",
"webhook_created_name": "Cashier Name",
"webhook_created_email": "[email protected]"
}
}
}
Remove webhook.
Unique Webhook ID.
de1829d0-e144-11ea-bc09-f935c77bef95
DELETE /v3.8/distributor/webhooks/{webhook_id} HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
No content
Trigger sample notification. Only used for testing your integration.
Create notification request model.
Represents the version of the service API that's served in the response.
3.8.0
POST /v3.8/distributor/notifications HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 126
{
"data": {
"notification": {
"notification_event": "ORDER_CREATE",
"notification_item_id": "PRODUCT_ID/PAYMENT_ID/ORDER_REFERENCE"
}
}
}
No content
Retrieve a list of all available product locations linked to your account.
Locations represent physical or virtual places where products (such as tickets or experiences) are offered. These can include cities, landmarks, or specific venues, and help in organizing and filtering products geographically.
[FILTER] on distributor_id
.
501
[FILTER] on product_id
.
PRODUCT_ID_123
[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.
10
Example: 5
[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.
1
Example: 1
[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.
1
Example: 1
[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.
Wed, 21 Jan 2022 07:28:00 GMT
GET /v3.8/distributor/products/locations 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": [
{
"location_id": "LOCATION_ID_123",
"location_label": "Theaters",
"location_name": "Theater 1",
"location_description": "The largest theater in Amsterdam.",
"location_url": "text",
"location_type": "VENUE",
"location_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"location_contacts": [
{
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
}
],
"location_opening_times": [
{
"opening_time_valid_from": "2025-06-29",
"opening_time_valid_till": "2025-06-29",
"opening_time_details": [
{
"opening_time_day": "THURSDAY",
"opening_time_start": "09:00:00",
"opening_time_end": "17:00:00"
}
]
}
],
"location_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"location_products": [
"PRODUCT_ID_123"
]
}
]
}
}
Retrieve a list of all available product destinations linked to your account.
Destinations are high-level geographic or thematic groupings, such as cities, regions, or popular areas, used to categorize and organize products. They help users discover experiences based on broader travel intents or well-known travel hubs.
[FILTER] on distributor_id
.
501
Destination IDs.
["4"]
[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.
10
Example: 5
[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.
1
Example: 1
[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.
1
Example: 1
[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.
Wed, 21 Jan 2022 07:28:00 GMT
GET /v3.8/distributor/products/destinations 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": [
{
"destination_id": "3742",
"destination_parent_id": "3742",
"destination_name": "Paris",
"destination_slug": "paris-3742",
"destination_description": "City of Love",
"destination_images": [
{
"image_type": "BANNER",
"image_url": "https://test.prioticket.com/products/145/img_1445586351_test1445593536.jpg"
}
],
"destination_products": [
"PRODUCT_ID_123"
]
}
]
}
}
Retrieve a list of all available product categories associated with your account.
Categories represent thematic groupings, such as "Museums", "Tours", or "Outdoor Activities", used to classify products based on the type of experience they offer. They support intuitive browsing, filtering, and product discovery.
[FILTER] on distributor_id
.
501
Category IDs.
["4"]
[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.
Wed, 21 Jan 2022 07:28:00 GMT
GET /v3.8/distributor/products/categories HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"total_items": 10,
"items": [
{
"category_id": "3743",
"category_name": "Museums",
"category_description": "Art Museums",
"category_parent_id": "2393",
"category_type": "SYSTEM",
"category_slug": "museums-3743",
"category_icon": "https://prioticket.com/qrcodes/categoryupload/img_1438406614_museum.png",
"category_images": [
{
"image_type": "BANNER",
"image_url": "https://test.prioticket.com/products/145/img_1445586351_test1445593536.jpg"
}
],
"category_products": [
"PRODUCT_ID_123"
]
}
]
}
}
Retrieve product recommendations tailored to enhance user experience.
Recommendations help suggest related or popular products, often based on business rules, location, or user behavior.
[FILTER] on distributor_id
.
501
[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.
Wed, 21 Jan 2022 07:28:00 GMT
GET /v3.8/distributor/products/recommendations HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"total_items": 10,
"items": [
{
"recommendation_id": "3743",
"recommendation_title": "Christmas Special ",
"recommendation_description": "Hot selling",
"recommendation_start_date": "2025-06-29T22:27:44.065Z",
"recommendation_end_date": "2025-06-29T22:27:44.065Z",
"recommendation_products": [
"PRODUCT_ID_123"
]
}
]
}
}
Retrieve all available routes associated with your account.
Routes define the transportation or itinerary structure of a product, typically used in activities like hop-on hop-off buses, boat tours, or guided trips with fixed paths.
[FILTER] on distributor_id
.
501
[FILTER] on product_id
.
PRODUCT_ID_123
[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.
10
Example: 5
[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.
1
Example: 1
[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.
1
Example: 1
[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.
Wed, 21 Jan 2022 07:28:00 GMT
GET /v3.8/distributor/products/routes 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": [
{
"route_active": true,
"route_id": "ROUTEID123456",
"route_name": "Green Route",
"route_description": "text",
"route_color": "#FF0000",
"route_type": "DRIVING",
"route_start_time": "09:00:00",
"route_end_time": "20:00:00",
"route_duration": 90,
"route_frequency": 8,
"route_audio_languages": [
"en",
"jp",
"nl"
],
"route_live_languages": [
"en",
"jp",
"nl"
],
"route_products": [
"PRODUCT_ID_123"
],
"route_locations": [
{
"route_location_active": true,
"route_location_id": "LOCATIONID123456",
"route_location_name": "Paseo de Coln",
"route_location_description": "Route description.",
"route_location_url": "https://example.com",
"route_location_latitude": "37.383752",
"route_location_longitude": "-5.997302999999988",
"route_location_stopover": true
}
]
}
]
}
}
This API returns all the currency rates on a daily basis.
[FILTER] on currency_date
.
[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.
Wed, 21 Jan 2022 07:28:00 GMT
GET /v3.8/distributor/products/currency_rates HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"total_items": 10,
"items": [
{
"currency_base": "USD",
"currency_date": "2025-06-29",
"currency_rates": {
"CAD": "1.260046",
"CHF": "0.933058"
}
}
]
}
}
Retrieve tax configurations applicable to your products.
Taxes can be region-specific and vary by product type, helping ensure accurate pricing and compliance.
[FILTER] on distributor_id
.
501
[FILTER] on product_id
.
PRODUCT_ID_123
Country or State of the related tax authority.
India
[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.
10
Example: 5
[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.
1
Example: 1
[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.
1
Example: 1
[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.
Wed, 21 Jan 2022 07:28:00 GMT
GET /v3.8/distributor/products/taxes 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": [
{
"tax_id": "TAX_ID_123",
"tax_name": "VAT Regular 20%",
"tax_type": "VAT",
"tax_rate": "20.00",
"tax_region": "Netherlands"
}
]
}
}
Retrieve a comprehensive list of all products available via your distributor account. Each product includes core metadata like title, description, availability, and configuration details. Extensive filtering is available but do note that certain filters might affect performance.
By default only the latest revision will be returned.
[FILTER] on distributor_id
.
501
[CONFIG] content language to return in the response.
Languages are defined in ISO-639-1 format. If the defined language is not available, the product will be returned in the product_default_language
.
en
[FILTER] on product content.
Searches the fields:
product_id
(Upcoming)product_title
product_short_description
product_long_description
product_supplier_name
product_highlights
product_includes
Regex used: '(?is)^(?=.\b(query1.)\b)(?=.\b(query2.)\b).*'
tour museum amsterdam
[FILTER] on product_start_date
.
[FILTER] on product_end_date
.
[FILTER] on product_duration
. (Minutes)
90
[FILTER] on product_booking_quantity_min
.
1
[FILTER] on product_booking_quantity_max
.
3
[FILTER] on product_id
.
["PRODUCT_ID_123"]
[FILTER] on product_supplier_id
.
["PRODUCT_SUPPLIER_ID"]
[FILTER] on product_reseller_id
.
["PRODUCT_RESELLER_ID"]
[FILTER] on categories (category_id
).
["PRODUCT_CATEGORY_ID_123"]
[FILTER] on destinations (destination_id
).
["PRODUCT_DESTINATION_ID_123"]
[FILTER] on Tag.
Combination of product_tag_id
, product_tag_description
and product_tag_group
.
["PRODUCT_TAG"]
[FILTER] on available product languages.
Languages are defined in ISO-639-1 format.
Products without a language value will not be returned.
["en"]
[FILTER] on location_id
.
["PRODUCT_LOCATION_ID"]
[FILTER] on country ( ISO-3166-1 alpha-2).
["NL"]
[FILTER] on Product Currency Code, according to ISO-4217.
["EUR"]
[FILTER] Include products with capacity (product_availability:true
).
true
Example: true
[FILTER] Return product_favorite:true
only.
true
[FILTER] on an astronomical body. (Reserved for future use)
EARTH
Possible values: [FILTER] on products modified after the given date.
For caching purposes we recommend using the If-Modified-Since
header instead.
[SEARCH] on keywords.
This API provides full-text (wildcard) search capabilities.
Only results linked to your account will be returned and searching is only available in case cache is enabled (cache:true
)
[CONFIG] (ADVANCED) account view type.
This value defaults and is limited to the scope of your credentials.
DISTRIBUTOR
Possible values: Method of sorting.
PRODUCT_MODIFIED
Example: PRODUCT_CREATED
Possible values: Order of sorting.
DESC
Example: ASC
Possible values: [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.
10
Example: 5
[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.
1
Example: 1
[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.
1
Example: 1
[CACHE] Whether the results should be loaded from the caching server. This will significantly improve performance and disabling this functionality is not recommended.
true
Example: true
[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.
Wed, 21 Jan 2022 07:28:00 GMT
GET /v3.8/distributor/products 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": [
{
"product_id": "PRODUCT_ID_123",
"product_external_id": "PRODUCT_EXTERNAL_ID_123",
"product_internal_reference": "PRODUCT_INTERNAL_REF",
"product_distributor_id": "501",
"product_distributor_name": "Demo Distributor",
"product_reseller_id": "1300",
"product_reseller_name": "Demo reseller",
"product_market_admin_id": "345345342",
"product_market_admin_name": "Test Market Admin",
"product_supplier_admin_id": "PRODUCT_SUPPLIER_ADMIN_ID",
"product_supplier_admin_name": "Supplier Admin Name",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_source_id": "34564574",
"product_source_name": "Prioticket",
"product_contract_source_id": "text",
"product_contract_source_name": "Prioticket",
"product_default_language": "en",
"product_version": 1,
"product_color": "#b9f2ff",
"product_slug": "westminster-to-greenwich-sightseeing-cruise-t71379",
"product_supplier_url": "https://example.com/",
"product_supplier_key_public": "b7064e02-37a5-9ce5-ff63-b7536b364102",
"product_from_price": "16.40",
"product_start_date": "2025-06-29T22:27:44.065Z",
"product_end_date": "2025-06-29T22:27:44.065Z",
"product_booking_start_date": "2025-06-29T22:27:44.065Z",
"product_booking_advance_time_min": 60,
"product_booking_advance_time_max": 1440,
"product_booking_advance_time_min_type": "TIMESLOT_START_TIME",
"product_booking_advance_time_max_type": "TIMESLOT_START_TIME",
"product_booking_quantity_min": 1,
"product_booking_quantity_max": 5,
"product_turnout_time": 15,
"product_duration": 90,
"product_show_capacity_count": 25,
"product_third_party": false,
"product_seasonal_pricing": true,
"product_quantity_pricing": true,
"product_daily_pricing": true,
"product_dynamic_pricing": true,
"product_relation_details_visible": true,
"product_timepicker_visible": true,
"product_cluster": true,
"product_combi": true,
"product_bundle": true,
"product_addon": true,
"product_availability": true,
"product_availability_assigned": true,
"product_capacity": true,
"product_traveldate_required": false,
"product_cancellation_allowed": true,
"product_overbooking_allowed": false,
"product_past_date_booking_allowed": true,
"product_capacity_id": "43525235",
"product_capacity_shared_id": "435252453",
"product_capacity_type": "OWN",
"product_admission_type": "TIME_PERIOD",
"product_catalogue_status": "ACTIVE",
"product_class": "STANDARD",
"product_pickup_point": "MANDATORY",
"product_pickup_point_details": [
{
"pickup_point_id": "PICKUP_POINT_ID_123",
"pickup_point_name": "Walkingtour at the Wyndham Apollo Hotel",
"pickup_point_type": "FIXED",
"pickup_point_description": "Meet at the Wyndham Apollo hotel.",
"pickup_point_location": "LOCATION_ID_123",
"pickup_point_time": "10:00",
"pickup_point_times": [
"10:00"
],
"pickup_point_duration": 30,
"pickup_point_availability_dependency": false
}
],
"product_content": {
"product_title": "Test Product",
"product_supplier_name": "Test Museum",
"product_duration_text": "1.5 hour",
"product_short_description": "Rijksmuseum Entrance product + Multimediatour",
"product_long_description": "Experience a beautiful evening cruise during the Amsterdam Light Festival without queueing up. Besides a place on a date and time of your choice, this cruise also includes a drink and a snack.",
"product_additional_information": "Some additional information.",
"product_entry_notes": "Reconfirmation: Please call or email atleast 72 hour in advance to reconfirm your arrival.",
"product_booking_url": "https://book.prioticket.com/productABC",
"product_landing_page_view_url": "https://book.prioticket.com",
"product_favorite": false,
"product_highlights": [
{
"highlight_description": "Audio commentary in 21 languages through our Personal Audio System."
}
],
"product_includes": [
{
"include_description": "Free non-alcoholic beverages"
}
],
"product_excludes": [
{
"exclude_description": "Alcoholic beverages"
}
],
"product_images": [
{
"image_type": "BANNER",
"image_url": "https://test.prioticket.com/products/145/img_1445586351_test1445593536.jpg"
}
]
},
"product_redemption_rules": {
"redemption_has_duration": true,
"redemption_duration_time": 86400,
"redemption_duration_type": "SCAN",
"redemption_count_type": "LIMITED",
"redemption_count_value": 5
},
"product_code_settings": {
"product_code_format": "QR_CODE",
"product_code_source": "PRIO",
"product_group_code": true,
"product_combi_code": true,
"product_city_card": false,
"product_voucher_settings": "SINGLE"
},
"product_payment_detail": {
"product_payment_currency": {
"currency_code": "EUR"
}
},
"product_type_seasons": [
{
"product_type_season_label": "Summer Season",
"product_type_season_start_date": "2025-06-29T22:27:44.065Z",
"product_type_season_end_date": "2025-06-29T22:27:44.065Z",
"product_type_season_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_parent_type_id": "text",
"product_type_label": "Adult",
"product_type_description": "Standard Entry Fee",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_quantity_min": 1,
"product_type_quantity_max": 10,
"product_type_price_tax_id": "TAX_ID_123",
"product_type_price_type": "INDIVIDUAL",
"product_type_pricing": {
"product_type_list_price": "20.50",
"product_type_discount": "2.00",
"product_type_discount_percentage": "20.00",
"product_type_sales_price": "18.50",
"product_type_distributor_price": "16.40",
"product_type_reseller_price": "14.00",
"product_type_market_price": "12.00",
"product_type_supplier_price": "10.00",
"product_type_display_price": true
},
"product_type_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"product_type_quantity_variations": [
{
"product_type_quantity_variation_min": 1,
"product_type_quantity_variation_max": 5,
"product_type_quantity_variation_discount": "-1.50",
"product_type_quantity_variation_amount": "-2.50",
"product_type_quantity_variation_price_type": "SALES_PRICE",
"product_type_quantity_variation_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
]
}
],
"product_type_daily_variations": [
{
"product_type_daily_variation_label": "Peak Hour",
"product_type_daily_variation_start_date": "2025-06-29T22:27:44.065Z",
"product_type_daily_variation_end_date": "2025-06-29T22:27:44.065Z",
"product_type_daily_variation_start_time": "09:00",
"product_type_daily_variation_end_time": "13:00",
"product_type_daily_variation_price_type": "SALES_PRICE",
"product_type_daily_variation_details": [
{
"product_type_daily_variation_amount": "-1.00",
"product_type_daily_variation_day": "THURSDAY",
"product_type_daily_variation_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
]
}
]
}
]
}
]
}
],
"product_options": [
{
"option_id": "PRODUCT_OPTION_ID",
"option_name": "Drinks",
"option_description": "What kind of drinks should be included?",
"option_type": "SINGLE",
"option_selection_type": "MANUAL",
"option_count_type": "FLEXIBLE",
"option_count_visible": true,
"option_list_type": "PRODUCT_TYPE",
"option_price_type": "PRODUCT_TYPE",
"option_booking_quantity_min": 1,
"option_booking_quantity_max": 5,
"option_quantity_min": 1,
"option_quantity_max": 5,
"option_discount_applicable": false,
"option_mandatory": true,
"option_values": [
{
"value_id": "4921",
"value_name": "Wine",
"value_price": "8.00",
"value_cost_price": "2",
"value_percentage": "20",
"value_price_tax_id": "TAX_ID_123",
"value_price_tax_amount": "0.65",
"value_product_type_id": "ADULT_123",
"value_quantity_min": 1,
"value_quantity_max": 5
}
]
}
],
"product_cancellation_policies": [
{
"cancellation_description": "Please cancel any booking 1 hour in advance.",
"cancellation_type": "TRAVEL_DATE",
"cancellation_fee_threshold": 3600,
"cancellation_fee_percentage": 20.5,
"cancellation_fee_amount": "5.00"
}
],
"product_opening_times": [
{
"opening_time_valid_from": "2025-06-29",
"opening_time_valid_till": "2025-06-29",
"opening_time_details": [
{
"opening_time_day": "THURSDAY",
"opening_time_start": "09:00:00",
"opening_time_end": "17:00:00"
}
]
}
],
"product_flags": [
{
"flag_id": "223425262",
"flag_name": "Stock Code",
"flag_type": "FLAG",
"flag_value_id": "123BCa1",
"flag_value": "123BCa1"
}
],
"product_locations": [
{
"location_id": "LOCATION_ID_123",
"location_label": "Theaters",
"location_name": "Theater 1",
"location_description": "The largest theater in Amsterdam.",
"location_url": "text",
"location_type": "VENUE",
"location_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"location_contacts": [
{
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
}
],
"location_opening_times": [
{
"opening_time_valid_from": "2025-06-29",
"opening_time_valid_till": "2025-06-29",
"opening_time_details": [
{
"opening_time_day": "THURSDAY",
"opening_time_start": "09:00:00",
"opening_time_end": "17:00:00"
}
]
}
],
"location_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"location_pickup_point": true
}
],
"product_cluster_details": [
{
"product_id": "PRODUCT_RELATION_123",
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_title": "Test Product",
"product_from_price": "16.40",
"product_currency_code": "USD",
"product_start_date": "2025-06-29T22:27:44.065Z",
"product_end_date": "2025-06-29T22:27:44.065Z",
"product_timepicker_visible": true,
"product_traveldate_dependency": true,
"product_booking_window_product_id": "PRODUCT_ID_123",
"product_booking_window_start_time": 1440,
"product_booking_window_end_time": 2160,
"product_class": "STANDARD",
"product_admission_type": "TIME_PERIOD",
"product_images": [
{
"image_type": "BANNER",
"image_url": "https://test.prioticket.com/products/145/img_1445586351_test1445593536.jpg"
}
],
"product_type_seasons": [
{
"product_type_season_label": "Summer Season",
"product_type_season_start_date": "2025-06-29T22:27:44.065Z",
"product_type_season_end_date": "2025-06-29T22:27:44.065Z",
"product_type_season_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_parent_type_id": "text",
"product_type_label": "Adult",
"product_type_description": "Standard Entry Fee",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_quantity_min": 1,
"product_type_quantity_max": 10,
"product_type_price_tax_id": "TAX_ID_123",
"product_type_price_type": "INDIVIDUAL",
"product_type_pricing": {
"product_type_list_price": "20.50",
"product_type_discount": "2.00",
"product_type_discount_percentage": "20.00",
"product_type_sales_price": "18.50",
"product_type_distributor_price": "16.40",
"product_type_reseller_price": "14.00",
"product_type_market_price": "12.00",
"product_type_supplier_price": "10.00",
"product_type_display_price": true
},
"product_type_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"product_type_quantity_variations": [
{
"product_type_quantity_variation_min": 1,
"product_type_quantity_variation_max": 5,
"product_type_quantity_variation_discount": "-1.50",
"product_type_quantity_variation_amount": "-2.50",
"product_type_quantity_variation_price_type": "SALES_PRICE",
"product_type_quantity_variation_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
]
}
],
"product_type_daily_variations": [
{
"product_type_daily_variation_label": "Peak Hour",
"product_type_daily_variation_start_date": "2025-06-29T22:27:44.065Z",
"product_type_daily_variation_end_date": "2025-06-29T22:27:44.065Z",
"product_type_daily_variation_start_time": "09:00",
"product_type_daily_variation_end_time": "13:00",
"product_type_daily_variation_price_type": "SALES_PRICE",
"product_type_daily_variation_details": [
{
"product_type_daily_variation_amount": "-1.00",
"product_type_daily_variation_day": "THURSDAY",
"product_type_daily_variation_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
]
}
]
}
]
}
]
}
]
}
],
"product_combi_details": [
{
"product_id": "PRODUCT_RELATION_123",
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_title": "Test Product",
"product_from_price": "16.40",
"product_currency_code": "USD",
"product_start_date": "2025-06-29T22:27:44.065Z",
"product_end_date": "2025-06-29T22:27:44.065Z",
"product_timepicker_visible": true,
"product_traveldate_dependency": true,
"product_booking_window_product_id": "PRODUCT_ID_123",
"product_booking_window_start_time": 1440,
"product_booking_window_end_time": 2160,
"product_class": "STANDARD",
"product_admission_type": "TIME_PERIOD",
"product_images": [
{
"image_type": "BANNER",
"image_url": "https://test.prioticket.com/products/145/img_1445586351_test1445593536.jpg"
}
],
"product_type_seasons": [
{
"product_type_season_label": "Summer Season",
"product_type_season_start_date": "2025-06-29T22:27:44.065Z",
"product_type_season_end_date": "2025-06-29T22:27:44.065Z",
"product_type_season_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_parent_type_id": "text",
"product_type_label": "Adult",
"product_type_description": "Standard Entry Fee",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_quantity_min": 1,
"product_type_quantity_max": 10,
"product_type_price_tax_id": "TAX_ID_123",
"product_type_price_type": "INDIVIDUAL",
"product_type_pricing": {
"product_type_list_price": "20.50",
"product_type_discount": "2.00",
"product_type_discount_percentage": "20.00",
"product_type_sales_price": "18.50",
"product_type_distributor_price": "16.40",
"product_type_reseller_price": "14.00",
"product_type_market_price": "12.00",
"product_type_supplier_price": "10.00",
"product_type_display_price": true
},
"product_type_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"product_type_quantity_variations": [
{
"product_type_quantity_variation_min": 1,
"product_type_quantity_variation_max": 5,
"product_type_quantity_variation_discount": "-1.50",
"product_type_quantity_variation_amount": "-2.50",
"product_type_quantity_variation_price_type": "SALES_PRICE",
"product_type_quantity_variation_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
]
}
],
"product_type_daily_variations": [
{
"product_type_daily_variation_label": "Peak Hour",
"product_type_daily_variation_start_date": "2025-06-29T22:27:44.065Z",
"product_type_daily_variation_end_date": "2025-06-29T22:27:44.065Z",
"product_type_daily_variation_start_time": "09:00",
"product_type_daily_variation_end_time": "13:00",
"product_type_daily_variation_price_type": "SALES_PRICE",
"product_type_daily_variation_details": [
{
"product_type_daily_variation_amount": "-1.00",
"product_type_daily_variation_day": "THURSDAY",
"product_type_daily_variation_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
]
}
]
}
]
}
]
}
]
}
],
"product_bundle_details": [
{
"product_id": "PRODUCT_RELATION_123",
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_title": "Test Product",
"product_from_price": "16.40",
"product_currency_code": "USD",
"product_start_date": "2025-06-29T22:27:44.065Z",
"product_end_date": "2025-06-29T22:27:44.065Z",
"product_timepicker_visible": true,
"product_traveldate_dependency": true,
"product_booking_window_product_id": "PRODUCT_ID_123",
"product_booking_window_start_time": 1440,
"product_booking_window_end_time": 2160,
"product_class": "STANDARD",
"product_admission_type": "TIME_PERIOD",
"product_images": [
{
"image_type": "BANNER",
"image_url": "https://test.prioticket.com/products/145/img_1445586351_test1445593536.jpg"
}
],
"product_type_seasons": [
{
"product_type_season_label": "Summer Season",
"product_type_season_start_date": "2025-06-29T22:27:44.065Z",
"product_type_season_end_date": "2025-06-29T22:27:44.065Z",
"product_type_season_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_parent_type_id": "text",
"product_type_label": "Adult",
"product_type_description": "Standard Entry Fee",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_quantity_min": 1,
"product_type_quantity_max": 10,
"product_type_price_tax_id": "TAX_ID_123",
"product_type_price_type": "INDIVIDUAL",
"product_type_pricing": {
"product_type_list_price": "20.50",
"product_type_discount": "2.00",
"product_type_discount_percentage": "20.00",
"product_type_sales_price": "18.50",
"product_type_distributor_price": "16.40",
"product_type_reseller_price": "14.00",
"product_type_market_price": "12.00",
"product_type_supplier_price": "10.00",
"product_type_display_price": true
},
"product_type_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"product_type_quantity_variations": [
{
"product_type_quantity_variation_min": 1,
"product_type_quantity_variation_max": 5,
"product_type_quantity_variation_discount": "-1.50",
"product_type_quantity_variation_amount": "-2.50",
"product_type_quantity_variation_price_type": "SALES_PRICE",
"product_type_quantity_variation_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
]
}
],
"product_type_daily_variations": [
{
"product_type_daily_variation_label": "Peak Hour",
"product_type_daily_variation_start_date": "2025-06-29T22:27:44.065Z",
"product_type_daily_variation_end_date": "2025-06-29T22:27:44.065Z",
"product_type_daily_variation_start_time": "09:00",
"product_type_daily_variation_end_time": "13:00",
"product_type_daily_variation_price_type": "SALES_PRICE",
"product_type_daily_variation_details": [
{
"product_type_daily_variation_amount": "-1.00",
"product_type_daily_variation_day": "THURSDAY",
"product_type_daily_variation_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
]
}
]
}
]
}
]
}
]
}
],
"product_addon_details": [
{
"product_id": "PRODUCT_RELATION_123",
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_title": "Test Product",
"product_from_price": "16.40",
"product_currency_code": "USD",
"product_start_date": "2025-06-29T22:27:44.065Z",
"product_end_date": "2025-06-29T22:27:44.065Z",
"product_timepicker_visible": true,
"product_traveldate_dependency": true,
"product_booking_window_product_id": "PRODUCT_ID_123",
"product_booking_window_start_time": 1440,
"product_booking_window_end_time": 2160,
"product_class": "STANDARD",
"product_admission_type": "TIME_PERIOD",
"product_images": [
{
"image_type": "BANNER",
"image_url": "https://test.prioticket.com/products/145/img_1445586351_test1445593536.jpg"
}
],
"product_type_seasons": [
{
"product_type_season_label": "Summer Season",
"product_type_season_start_date": "2025-06-29T22:27:44.065Z",
"product_type_season_end_date": "2025-06-29T22:27:44.065Z",
"product_type_season_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_parent_type_id": "text",
"product_type_label": "Adult",
"product_type_description": "Standard Entry Fee",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_quantity_min": 1,
"product_type_quantity_max": 10,
"product_type_price_tax_id": "TAX_ID_123",
"product_type_price_type": "INDIVIDUAL",
"product_type_pricing": {
"product_type_list_price": "20.50",
"product_type_discount": "2.00",
"product_type_discount_percentage": "20.00",
"product_type_sales_price": "18.50",
"product_type_distributor_price": "16.40",
"product_type_reseller_price": "14.00",
"product_type_market_price": "12.00",
"product_type_supplier_price": "10.00",
"product_type_display_price": true
},
"product_type_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"product_type_quantity_variations": [
{
"product_type_quantity_variation_min": 1,
"product_type_quantity_variation_max": 5,
"product_type_quantity_variation_discount": "-1.50",
"product_type_quantity_variation_amount": "-2.50",
"product_type_quantity_variation_price_type": "SALES_PRICE",
"product_type_quantity_variation_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
]
}
],
"product_type_daily_variations": [
{
"product_type_daily_variation_label": "Peak Hour",
"product_type_daily_variation_start_date": "2025-06-29T22:27:44.065Z",
"product_type_daily_variation_end_date": "2025-06-29T22:27:44.065Z",
"product_type_daily_variation_start_time": "09:00",
"product_type_daily_variation_end_time": "13:00",
"product_type_daily_variation_price_type": "SALES_PRICE",
"product_type_daily_variation_details": [
{
"product_type_daily_variation_amount": "-1.00",
"product_type_daily_variation_day": "THURSDAY",
"product_type_daily_variation_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
]
}
]
}
]
}
]
}
]
}
],
"product_categories": [
"PRODUCT_CATEGORY_ID_123"
],
"product_recommendations": [
"PRODUCT_RECOMMENDATION_ID_123"
],
"product_destinations": [
"PRODUCT_DESTINATION_ID_123"
],
"product_languages": [
"en",
"es",
"jp"
],
"product_content_languages": [
"en",
"nl"
],
"product_guide_languages": [
{
"language_codes": [
"nl"
],
"language_type": "GUIDE_AUDIO"
}
],
"product_routes": [
"PRODUCT_ROUTE_ID_123"
],
"product_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"product_google_categories": "text",
"product_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"product_created": "2025-06-29T22:27:44.065Z",
"product_created_name": "[email protected]",
"product_created_email": "[email protected]",
"product_modified": "2025-06-29T22:27:44.065Z",
"product_modified_name": "[email protected]",
"product_modified_email": "[email protected]"
}
]
}
}
This API provides all the product information that is available in the Prio system for the requested product (product_id
).
Unique identifier for the product assigned by Prio.
PRODUCT_ID_123
[FILTER] on distributor_id
.
501
Language code to request language specific product data. If left empty or language is not available (not included in product_content_languages
), the response will be in the default language i.e. English. The actual language returned can also be found inside the Content-Language
header.
en
[CACHE] Whether the results should be loaded from the caching server. This will significantly improve performance and disabling this functionality is not recommended.
true
Example: true
[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.
Wed, 21 Jan 2022 07:28:00 GMT
GET /v3.8/distributor/products/{product_id} HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"product": {
"product_id": "PRODUCT_ID_123",
"product_external_id": "PRODUCT_EXTERNAL_ID_123",
"product_internal_reference": "PRODUCT_INTERNAL_REF",
"product_distributor_id": "501",
"product_distributor_name": "Demo Distributor",
"product_reseller_id": "1300",
"product_reseller_name": "Demo reseller",
"product_market_admin_id": "345345342",
"product_market_admin_name": "Test Market Admin",
"product_supplier_admin_id": "PRODUCT_SUPPLIER_ADMIN_ID",
"product_supplier_admin_name": "Supplier Admin Name",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_source_id": "34564574",
"product_source_name": "Prioticket",
"product_contract_source_id": "text",
"product_contract_source_name": "Prioticket",
"product_default_language": "en",
"product_version": 1,
"product_color": "#b9f2ff",
"product_slug": "westminster-to-greenwich-sightseeing-cruise-t71379",
"product_supplier_url": "https://example.com/",
"product_supplier_key_public": "b7064e02-37a5-9ce5-ff63-b7536b364102",
"product_from_price": "16.40",
"product_start_date": "2025-06-29T22:27:44.065Z",
"product_end_date": "2025-06-29T22:27:44.065Z",
"product_booking_start_date": "2025-06-29T22:27:44.065Z",
"product_booking_advance_time_min": 60,
"product_booking_advance_time_max": 1440,
"product_booking_advance_time_min_type": "TIMESLOT_START_TIME",
"product_booking_advance_time_max_type": "TIMESLOT_START_TIME",
"product_booking_quantity_min": 1,
"product_booking_quantity_max": 5,
"product_turnout_time": 15,
"product_duration": 90,
"product_show_capacity_count": 25,
"product_third_party": false,
"product_seasonal_pricing": true,
"product_quantity_pricing": true,
"product_daily_pricing": true,
"product_dynamic_pricing": true,
"product_relation_details_visible": true,
"product_timepicker_visible": true,
"product_cluster": true,
"product_combi": true,
"product_bundle": true,
"product_addon": true,
"product_availability": true,
"product_availability_assigned": true,
"product_capacity": true,
"product_traveldate_required": false,
"product_cancellation_allowed": true,
"product_overbooking_allowed": false,
"product_past_date_booking_allowed": true,
"product_capacity_id": "43525235",
"product_capacity_shared_id": "435252453",
"product_capacity_type": "OWN",
"product_admission_type": "TIME_PERIOD",
"product_catalogue_status": "ACTIVE",
"product_class": "STANDARD",
"product_pickup_point": "MANDATORY",
"product_pickup_point_details": [
{
"pickup_point_id": "PICKUP_POINT_ID_123",
"pickup_point_name": "Walkingtour at the Wyndham Apollo Hotel",
"pickup_point_type": "FIXED",
"pickup_point_description": "Meet at the Wyndham Apollo hotel.",
"pickup_point_location": "LOCATION_ID_123",
"pickup_point_time": "10:00",
"pickup_point_times": [
"10:00"
],
"pickup_point_duration": 30,
"pickup_point_availability_dependency": false
}
],
"product_content": {
"product_title": "Test Product",
"product_supplier_name": "Test Museum",
"product_duration_text": "1.5 hour",
"product_short_description": "Rijksmuseum Entrance product + Multimediatour",
"product_long_description": "Experience a beautiful evening cruise during the Amsterdam Light Festival without queueing up. Besides a place on a date and time of your choice, this cruise also includes a drink and a snack.",
"product_additional_information": "Some additional information.",
"product_entry_notes": "Reconfirmation: Please call or email atleast 72 hour in advance to reconfirm your arrival.",
"product_booking_url": "https://book.prioticket.com/productABC",
"product_landing_page_view_url": "https://book.prioticket.com",
"product_favorite": false,
"product_highlights": [
{
"highlight_description": "Audio commentary in 21 languages through our Personal Audio System."
}
],
"product_includes": [
{
"include_description": "Free non-alcoholic beverages"
}
],
"product_excludes": [
{
"exclude_description": "Alcoholic beverages"
}
],
"product_images": [
{
"image_type": "BANNER",
"image_url": "https://test.prioticket.com/products/145/img_1445586351_test1445593536.jpg"
}
]
},
"product_redemption_rules": {
"redemption_has_duration": true,
"redemption_duration_time": 86400,
"redemption_duration_type": "SCAN",
"redemption_count_type": "LIMITED",
"redemption_count_value": 5
},
"product_code_settings": {
"product_code_format": "QR_CODE",
"product_code_source": "PRIO",
"product_group_code": true,
"product_combi_code": true,
"product_city_card": false,
"product_voucher_settings": "SINGLE"
},
"product_payment_detail": {
"product_payment_currency": {
"currency_code": "EUR"
}
},
"product_type_seasons": [
{
"product_type_season_label": "Summer Season",
"product_type_season_start_date": "2025-06-29T22:27:44.065Z",
"product_type_season_end_date": "2025-06-29T22:27:44.065Z",
"product_type_season_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_parent_type_id": "text",
"product_type_label": "Adult",
"product_type_description": "Standard Entry Fee",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_quantity_min": 1,
"product_type_quantity_max": 10,
"product_type_price_tax_id": "TAX_ID_123",
"product_type_price_type": "INDIVIDUAL",
"product_type_pricing": {
"product_type_list_price": "20.50",
"product_type_discount": "2.00",
"product_type_discount_percentage": "20.00",
"product_type_sales_price": "18.50",
"product_type_distributor_price": "16.40",
"product_type_reseller_price": "14.00",
"product_type_market_price": "12.00",
"product_type_supplier_price": "10.00",
"product_type_display_price": true
},
"product_type_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"product_type_quantity_variations": [
{
"product_type_quantity_variation_min": 1,
"product_type_quantity_variation_max": 5,
"product_type_quantity_variation_discount": "-1.50",
"product_type_quantity_variation_amount": "-2.50",
"product_type_quantity_variation_price_type": "SALES_PRICE",
"product_type_quantity_variation_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
]
}
],
"product_type_daily_variations": [
{
"product_type_daily_variation_label": "Peak Hour",
"product_type_daily_variation_start_date": "2025-06-29T22:27:44.065Z",
"product_type_daily_variation_end_date": "2025-06-29T22:27:44.065Z",
"product_type_daily_variation_start_time": "09:00",
"product_type_daily_variation_end_time": "13:00",
"product_type_daily_variation_price_type": "SALES_PRICE",
"product_type_daily_variation_details": [
{
"product_type_daily_variation_amount": "-1.00",
"product_type_daily_variation_day": "THURSDAY",
"product_type_daily_variation_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
]
}
]
}
]
}
]
}
],
"product_options": [
{
"option_id": "PRODUCT_OPTION_ID",
"option_name": "Drinks",
"option_description": "What kind of drinks should be included?",
"option_type": "SINGLE",
"option_selection_type": "MANUAL",
"option_count_type": "FLEXIBLE",
"option_count_visible": true,
"option_list_type": "PRODUCT_TYPE",
"option_price_type": "PRODUCT_TYPE",
"option_booking_quantity_min": 1,
"option_booking_quantity_max": 5,
"option_quantity_min": 1,
"option_quantity_max": 5,
"option_discount_applicable": false,
"option_mandatory": true,
"option_values": [
{
"value_id": "4921",
"value_name": "Wine",
"value_price": "8.00",
"value_cost_price": "2",
"value_percentage": "20",
"value_price_tax_id": "TAX_ID_123",
"value_price_tax_amount": "0.65",
"value_product_type_id": "ADULT_123",
"value_quantity_min": 1,
"value_quantity_max": 5
}
]
}
],
"product_cancellation_policies": [
{
"cancellation_description": "Please cancel any booking 1 hour in advance.",
"cancellation_type": "TRAVEL_DATE",
"cancellation_fee_threshold": 3600,
"cancellation_fee_percentage": 20.5,
"cancellation_fee_amount": "5.00"
}
],
"product_opening_times": [
{
"opening_time_valid_from": "2025-06-29",
"opening_time_valid_till": "2025-06-29",
"opening_time_details": [
{
"opening_time_day": "THURSDAY",
"opening_time_start": "09:00:00",
"opening_time_end": "17:00:00"
}
]
}
],
"product_flags": [
{
"flag_id": "223425262",
"flag_name": "Stock Code",
"flag_type": "FLAG",
"flag_value_id": "123BCa1",
"flag_value": "123BCa1"
}
],
"product_locations": [
{
"location_id": "LOCATION_ID_123",
"location_label": "Theaters",
"location_name": "Theater 1",
"location_description": "The largest theater in Amsterdam.",
"location_url": "text",
"location_type": "VENUE",
"location_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"location_contacts": [
{
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
}
],
"location_opening_times": [
{
"opening_time_valid_from": "2025-06-29",
"opening_time_valid_till": "2025-06-29",
"opening_time_details": [
{
"opening_time_day": "THURSDAY",
"opening_time_start": "09:00:00",
"opening_time_end": "17:00:00"
}
]
}
],
"location_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"location_pickup_point": true
}
],
"product_cluster_details": [
{
"product_id": "PRODUCT_RELATION_123",
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_title": "Test Product",
"product_from_price": "16.40",
"product_currency_code": "USD",
"product_start_date": "2025-06-29T22:27:44.065Z",
"product_end_date": "2025-06-29T22:27:44.065Z",
"product_timepicker_visible": true,
"product_traveldate_dependency": true,
"product_booking_window_product_id": "PRODUCT_ID_123",
"product_booking_window_start_time": 1440,
"product_booking_window_end_time": 2160,
"product_class": "STANDARD",
"product_admission_type": "TIME_PERIOD",
"product_images": [
{
"image_type": "BANNER",
"image_url": "https://test.prioticket.com/products/145/img_1445586351_test1445593536.jpg"
}
],
"product_type_seasons": [
{
"product_type_season_label": "Summer Season",
"product_type_season_start_date": "2025-06-29T22:27:44.065Z",
"product_type_season_end_date": "2025-06-29T22:27:44.065Z",
"product_type_season_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_parent_type_id": "text",
"product_type_label": "Adult",
"product_type_description": "Standard Entry Fee",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_quantity_min": 1,
"product_type_quantity_max": 10,
"product_type_price_tax_id": "TAX_ID_123",
"product_type_price_type": "INDIVIDUAL",
"product_type_pricing": {
"product_type_list_price": "20.50",
"product_type_discount": "2.00",
"product_type_discount_percentage": "20.00",
"product_type_sales_price": "18.50",
"product_type_distributor_price": "16.40",
"product_type_reseller_price": "14.00",
"product_type_market_price": "12.00",
"product_type_supplier_price": "10.00",
"product_type_display_price": true
},
"product_type_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"product_type_quantity_variations": [
{
"product_type_quantity_variation_min": 1,
"product_type_quantity_variation_max": 5,
"product_type_quantity_variation_discount": "-1.50",
"product_type_quantity_variation_amount": "-2.50",
"product_type_quantity_variation_price_type": "SALES_PRICE",
"product_type_quantity_variation_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
]
}
],
"product_type_daily_variations": [
{
"product_type_daily_variation_label": "Peak Hour",
"product_type_daily_variation_start_date": "2025-06-29T22:27:44.065Z",
"product_type_daily_variation_end_date": "2025-06-29T22:27:44.065Z",
"product_type_daily_variation_start_time": "09:00",
"product_type_daily_variation_end_time": "13:00",
"product_type_daily_variation_price_type": "SALES_PRICE",
"product_type_daily_variation_details": [
{
"product_type_daily_variation_amount": "-1.00",
"product_type_daily_variation_day": "THURSDAY",
"product_type_daily_variation_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
]
}
]
}
]
}
]
}
]
}
],
"product_combi_details": [
{
"product_id": "PRODUCT_RELATION_123",
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_title": "Test Product",
"product_from_price": "16.40",
"product_currency_code": "USD",
"product_start_date": "2025-06-29T22:27:44.065Z",
"product_end_date": "2025-06-29T22:27:44.065Z",
"product_timepicker_visible": true,
"product_traveldate_dependency": true,
"product_booking_window_product_id": "PRODUCT_ID_123",
"product_booking_window_start_time": 1440,
"product_booking_window_end_time": 2160,
"product_class": "STANDARD",
"product_admission_type": "TIME_PERIOD",
"product_images": [
{
"image_type": "BANNER",
"image_url": "https://test.prioticket.com/products/145/img_1445586351_test1445593536.jpg"
}
],
"product_type_seasons": [
{
"product_type_season_label": "Summer Season",
"product_type_season_start_date": "2025-06-29T22:27:44.065Z",
"product_type_season_end_date": "2025-06-29T22:27:44.065Z",
"product_type_season_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_parent_type_id": "text",
"product_type_label": "Adult",
"product_type_description": "Standard Entry Fee",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_quantity_min": 1,
"product_type_quantity_max": 10,
"product_type_price_tax_id": "TAX_ID_123",
"product_type_price_type": "INDIVIDUAL",
"product_type_pricing": {
"product_type_list_price": "20.50",
"product_type_discount": "2.00",
"product_type_discount_percentage": "20.00",
"product_type_sales_price": "18.50",
"product_type_distributor_price": "16.40",
"product_type_reseller_price": "14.00",
"product_type_market_price": "12.00",
"product_type_supplier_price": "10.00",
"product_type_display_price": true
},
"product_type_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"product_type_quantity_variations": [
{
"product_type_quantity_variation_min": 1,
"product_type_quantity_variation_max": 5,
"product_type_quantity_variation_discount": "-1.50",
"product_type_quantity_variation_amount": "-2.50",
"product_type_quantity_variation_price_type": "SALES_PRICE",
"product_type_quantity_variation_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
]
}
],
"product_type_daily_variations": [
{
"product_type_daily_variation_label": "Peak Hour",
"product_type_daily_variation_start_date": "2025-06-29T22:27:44.065Z",
"product_type_daily_variation_end_date": "2025-06-29T22:27:44.065Z",
"product_type_daily_variation_start_time": "09:00",
"product_type_daily_variation_end_time": "13:00",
"product_type_daily_variation_price_type": "SALES_PRICE",
"product_type_daily_variation_details": [
{
"product_type_daily_variation_amount": "-1.00",
"product_type_daily_variation_day": "THURSDAY",
"product_type_daily_variation_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
]
}
]
}
]
}
]
}
]
}
],
"product_bundle_details": [
{
"product_id": "PRODUCT_RELATION_123",
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_title": "Test Product",
"product_from_price": "16.40",
"product_currency_code": "USD",
"product_start_date": "2025-06-29T22:27:44.065Z",
"product_end_date": "2025-06-29T22:27:44.065Z",
"product_timepicker_visible": true,
"product_traveldate_dependency": true,
"product_booking_window_product_id": "PRODUCT_ID_123",
"product_booking_window_start_time": 1440,
"product_booking_window_end_time": 2160,
"product_class": "STANDARD",
"product_admission_type": "TIME_PERIOD",
"product_images": [
{
"image_type": "BANNER",
"image_url": "https://test.prioticket.com/products/145/img_1445586351_test1445593536.jpg"
}
],
"product_type_seasons": [
{
"product_type_season_label": "Summer Season",
"product_type_season_start_date": "2025-06-29T22:27:44.065Z",
"product_type_season_end_date": "2025-06-29T22:27:44.065Z",
"product_type_season_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_parent_type_id": "text",
"product_type_label": "Adult",
"product_type_description": "Standard Entry Fee",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_quantity_min": 1,
"product_type_quantity_max": 10,
"product_type_price_tax_id": "TAX_ID_123",
"product_type_price_type": "INDIVIDUAL",
"product_type_pricing": {
"product_type_list_price": "20.50",
"product_type_discount": "2.00",
"product_type_discount_percentage": "20.00",
"product_type_sales_price": "18.50",
"product_type_distributor_price": "16.40",
"product_type_reseller_price": "14.00",
"product_type_market_price": "12.00",
"product_type_supplier_price": "10.00",
"product_type_display_price": true
},
"product_type_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"product_type_quantity_variations": [
{
"product_type_quantity_variation_min": 1,
"product_type_quantity_variation_max": 5,
"product_type_quantity_variation_discount": "-1.50",
"product_type_quantity_variation_amount": "-2.50",
"product_type_quantity_variation_price_type": "SALES_PRICE",
"product_type_quantity_variation_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
]
}
],
"product_type_daily_variations": [
{
"product_type_daily_variation_label": "Peak Hour",
"product_type_daily_variation_start_date": "2025-06-29T22:27:44.065Z",
"product_type_daily_variation_end_date": "2025-06-29T22:27:44.065Z",
"product_type_daily_variation_start_time": "09:00",
"product_type_daily_variation_end_time": "13:00",
"product_type_daily_variation_price_type": "SALES_PRICE",
"product_type_daily_variation_details": [
{
"product_type_daily_variation_amount": "-1.00",
"product_type_daily_variation_day": "THURSDAY",
"product_type_daily_variation_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
]
}
]
}
]
}
]
}
]
}
],
"product_addon_details": [
{
"product_id": "PRODUCT_RELATION_123",
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_title": "Test Product",
"product_from_price": "16.40",
"product_currency_code": "USD",
"product_start_date": "2025-06-29T22:27:44.065Z",
"product_end_date": "2025-06-29T22:27:44.065Z",
"product_timepicker_visible": true,
"product_traveldate_dependency": true,
"product_booking_window_product_id": "PRODUCT_ID_123",
"product_booking_window_start_time": 1440,
"product_booking_window_end_time": 2160,
"product_class": "STANDARD",
"product_admission_type": "TIME_PERIOD",
"product_images": [
{
"image_type": "BANNER",
"image_url": "https://test.prioticket.com/products/145/img_1445586351_test1445593536.jpg"
}
],
"product_type_seasons": [
{
"product_type_season_label": "Summer Season",
"product_type_season_start_date": "2025-06-29T22:27:44.065Z",
"product_type_season_end_date": "2025-06-29T22:27:44.065Z",
"product_type_season_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_parent_type_id": "text",
"product_type_label": "Adult",
"product_type_description": "Standard Entry Fee",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_quantity_min": 1,
"product_type_quantity_max": 10,
"product_type_price_tax_id": "TAX_ID_123",
"product_type_price_type": "INDIVIDUAL",
"product_type_pricing": {
"product_type_list_price": "20.50",
"product_type_discount": "2.00",
"product_type_discount_percentage": "20.00",
"product_type_sales_price": "18.50",
"product_type_distributor_price": "16.40",
"product_type_reseller_price": "14.00",
"product_type_market_price": "12.00",
"product_type_supplier_price": "10.00",
"product_type_display_price": true
},
"product_type_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"product_type_quantity_variations": [
{
"product_type_quantity_variation_min": 1,
"product_type_quantity_variation_max": 5,
"product_type_quantity_variation_discount": "-1.50",
"product_type_quantity_variation_amount": "-2.50",
"product_type_quantity_variation_price_type": "SALES_PRICE",
"product_type_quantity_variation_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
]
}
],
"product_type_daily_variations": [
{
"product_type_daily_variation_label": "Peak Hour",
"product_type_daily_variation_start_date": "2025-06-29T22:27:44.065Z",
"product_type_daily_variation_end_date": "2025-06-29T22:27:44.065Z",
"product_type_daily_variation_start_time": "09:00",
"product_type_daily_variation_end_time": "13:00",
"product_type_daily_variation_price_type": "SALES_PRICE",
"product_type_daily_variation_details": [
{
"product_type_daily_variation_amount": "-1.00",
"product_type_daily_variation_day": "THURSDAY",
"product_type_daily_variation_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
]
}
]
}
]
}
]
}
]
}
],
"product_categories": [
"PRODUCT_CATEGORY_ID_123"
],
"product_recommendations": [
"PRODUCT_RECOMMENDATION_ID_123"
],
"product_destinations": [
"PRODUCT_DESTINATION_ID_123"
],
"product_languages": [
"en",
"es",
"jp"
],
"product_content_languages": [
"en",
"nl"
],
"product_guide_languages": [
{
"language_codes": [
"nl"
],
"language_type": "GUIDE_AUDIO"
}
],
"product_routes": [
"PRODUCT_ROUTE_ID_123"
],
"product_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"product_google_categories": "text",
"product_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"product_created": "2025-06-29T22:27:44.065Z",
"product_created_name": "[email protected]",
"product_created_email": "[email protected]",
"product_modified": "2025-06-29T22:27:44.065Z",
"product_modified_name": "[email protected]",
"product_modified_email": "[email protected]"
}
}
}
The availability API is used to make sure that the product or service is available on the desired date and time slot.
Depending on the product_availability
parameter given in the product feed, the availability needs to be requested using this endpoint prior to making a booking.
This endpoint should be called in order to get up-to-date availability information for a product with managed capacity. The response will contain the availability for each time slot of the requested product that lies within the specified date range. Availability Logic* Please consult our dedicated "Availability" section for more information on how to use this endpoint.
Caching Recommendations
Please consult our dedicated "Caching" section for more information on how to use this endpoint.
Notes
Dates and times are always relative to the supplier timezone and all offsets are automatically adjusted based on daylight saving time (DST).
A maximum of 90 days is allowed. If you would like to batch availability for a longer period, please make multiple calls.
Unique identifier for the product assigned by Prio.
[FILTER] on distributor_id
.
501
[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.
[FILTER] Till which date availability is requested.
If this is empty, availability will be searched for the given from_date
only.
[FILTER] Include disabled / closed (availability_active:false
) entries.
false
Example: true
[FILTER] on availability_capacity_id
.
[FILTER] The minimum remaining availability_spots_open
.
[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.0
Example: 1
[FILTER] Only show entries modified after the given date.
Fetch incremental updates through this endpoint.
[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.
Wed, 21 Jan 2022 07:28:00 GMT
GET /v3.8/distributor/products/{product_id}/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-06-29T22:27:44.065Z",
"availability_to_date_time": "2025-06-29T22:27:44.065Z",
"availability_booking_window_start": "2025-06-29T22:27:44.065Z",
"availability_booking_window_end": "2025-06-29T22:27:44.065Z",
"availability_spots": {
"availability_spots_total": 100,
"availability_spots_reserved": 15,
"availability_spots_booked": 10,
"availability_spots_open": 75
},
"availability_created": "2025-06-29T22:27:44.065Z",
"availability_modified": "2025-06-29T22:27:44.065Z"
}
]
}
}
This API is called to list all payments in your account.
[FILTER] on order_reference
. You can also pass the reservation_reference
in this field.
ORDRREF123456
[FILTER] on payment_id
.
de1829d0-e144-11ea-bc09-f935c77bef95
[FILTER] on payment_merchant_reference
.
3fa85f64-5717-4562-b3fc-2c963f66afa6
[FILTER] on payment_service_provider_reference
.
3fa85f64-5717-4562-b3fc-2c963f66afa6
[FILTER] on payment_external_reference
.
SHOPPER_REFERENCE
[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.
10
Example: 5
[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.
1
Example: 1
[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.
1
Example: 1
[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.
Wed, 21 Jan 2022 07:28:00 GMT
GET /v3.8/distributor/payments 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": [
{
"payment_id": "f44226c0-e142-11ea-86d2-83036af9991e",
"payment_original_id": "de1829d0-e144-11ea-bc09-f935c77bef95",
"payment_partner_id": "PAYMENT_PARTNER_ID",
"payment_merchant_reference": "1478349849927_771663371",
"payment_external_reference": "SHOPPER_REFERENCE",
"payment_order_reference": "ORDRREF123456",
"payment_booking_references": [
"BKNGREF123456"
],
"payment_order_version": 2,
"payment_status": "PAID",
"payment_method": "EXTERNAL",
"payment_scheme": "VISA",
"payment_type": "CAPTURE",
"payment_link": "https://customer.prioticket.com/s?q=K0U2VmVNRGo0SEhGdFVUZ09IK2ViZkdtK1NjPQ==",
"payment_link_expires_at": "2025-06-29T22:27:44.065Z",
"payment_recurring": false,
"payment_recurring_type": "STORE",
"payment_refund_type": "SYSTEM",
"payment_refund_reason": "Guest reimbursement",
"payment_currency_code": "EUR",
"payment_currency_rate": "2.5263",
"payment_currency_amount": "10.25",
"payment_amount": "10.00",
"payment_total": "100.00",
"payment_gateway_details": {
"payment_merchant_account_name": "PrioticketECOM",
"payment_service_provider_reference": "852596799876396F",
"payment_service_provider_original_reference": "882596799845511E",
"payment_gateway_type": "ADYEN",
"payment_gateway_additional_values": {
"psp_shopper_name": "Checkout Shopper PlaceHolder",
"psp_shopper_cardnumber": "1111",
"psp_issuer_country": "NL",
"psp_fraudscore": "63",
"psp_payment_status": "Settled"
}
},
"payment_contact": {
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
},
"payment_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"payment_created": "2025-06-29T22:27:44.065Z",
"payment_created_name": "Cashier Name",
"payment_created_email": "[email protected]"
}
]
}
}
This API is called to initiate a payment on a Prio connected PSP or to settle a manual payment. This is a required step if SettlementType:DIRECT
.
Only applicable to guest payments. Not applicable to B2B resellers (Indirect sales /
SettlementType:EXTERNAL
).Once a payment has been made you are unable to amend the reservation.
If only a order_reference
is provided, a full payment will be registered and all bookings will be automatically paid. You can also pass the reservation_reference
in this field.
ORDRREF123456
(ADVANCED) In case a booking_reference
is provided, a partial payment will be registered. Only the specified booking will be paid.
["BOOKING_REFERENCE_123"]
Create payment request model.
Represents the version of the service API that's served in the response.
3.8.0
POST /v3.8/distributor/payments HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 164
{
"data": {
"payment": {
"payment_object_type": "MANUAL",
"payment_merchant_reference": "TEST_PAYMENT",
"payment_external_reference": "SHOPPER_REF",
"payment_method": "CASH"
}
}
}
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"payment": {
"payment_object_type": "MANUAL",
"payment_details": {
"payment_id": "914fca40-d71c-11ea-a4c4-05fbb7067802",
"payment_merchant_reference": "TEST_PAYMENT",
"payment_external_reference": "SHOPPER_REF",
"payment_status": "PAID",
"payment_method": "CASH",
"payment_currency_code": "EUR",
"payment_currency_amount": "421.30",
"payment_amount": "500.00",
"payment_total": "500.00",
"payment_contact": {
"contact_name_first": "Ladarius",
"contact_name_last": "Barton",
"contact_email": "[email protected]"
},
"payment_created": "2020-08-05T15:07:08+02:00",
"payment_created_name": "Demo Cashier",
"payment_created_email": "[email protected]"
}
}
}
}
This API is called to Cancel / Refund your payment. Only use this API to cancel a payment in progress, e.g. a payment initiated on a payment terminal, or to refund a payment without cancelling the order.
In case you would like to cancel AND refund you can simply call the Cancel Reservation or the Cancel Order API (payment_refund:true
) which will refund the payment automatically (also upon auto-cancellation due to reservation expiry). Any card authorizations or blocks will be released as well.
Either the order_reference
, booking_reference
, product_type_transaction_id
, payment_id
, payment_merchant_reference
or payment_service_provider_reference
is required to identify the payment(s) to refund. If provided, only the matching payment(s) will be refunded.
A unique order / reservation reference. If provided, all payments linked to this order will be refunded.
ORDRREF123456
(ADVANCED) In case a booking_reference
is provided, a partial refund will be registered. Only the specified booking will be refunded.
["BOOKING_REFERENCE_123"]
(ADVANCED) In case the product_type_transaction_id
is provided, a partial refund will be made. Only the specified transaction(s) will be refunded.
["159118380521834001"]
Unique Payment ID set by the Prio system. This is an internal identifier.
de1829d0-e144-11ea-bc09-f935c77bef95
Unique (external) payment reference set by the merchant / (third) party / POS system initiating the payment.
1478349849927_771663371
Reference set by payment service provider
852596799876396F
Refund reason.
Guest reimbursement
DELETE /v3.8/distributor/payments HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"payment": {
"payment_id": "f44226c0-e142-11ea-86d2-83036af9991e",
"payment_original_id": "de1829d0-e144-11ea-bc09-f935c77bef95",
"payment_partner_id": "PAYMENT_PARTNER_ID",
"payment_merchant_reference": "1478349849927_771663371",
"payment_external_reference": "SHOPPER_REFERENCE",
"payment_order_reference": "ORDRREF123456",
"payment_booking_references": [
"BKNGREF123456"
],
"payment_order_version": 2,
"payment_status": "PAID",
"payment_method": "EXTERNAL",
"payment_scheme": "VISA",
"payment_type": "CAPTURE",
"payment_link": "https://customer.prioticket.com/s?q=K0U2VmVNRGo0SEhGdFVUZ09IK2ViZkdtK1NjPQ==",
"payment_link_expires_at": "2025-06-29T22:27:44.065Z",
"payment_recurring": false,
"payment_recurring_type": "STORE",
"payment_refund_type": "SYSTEM",
"payment_refund_reason": "Guest reimbursement",
"payment_currency_code": "EUR",
"payment_currency_rate": "2.5263",
"payment_currency_amount": "10.25",
"payment_amount": "10.00",
"payment_total": "100.00",
"payment_gateway_details": {
"payment_merchant_account_name": "PrioticketECOM",
"payment_service_provider_reference": "852596799876396F",
"payment_service_provider_original_reference": "882596799845511E",
"payment_gateway_type": "ADYEN",
"payment_gateway_additional_values": {
"psp_shopper_name": "Checkout Shopper PlaceHolder",
"psp_shopper_cardnumber": "1111",
"psp_issuer_country": "NL",
"psp_fraudscore": "63",
"psp_payment_status": "Settled"
}
},
"payment_contact": {
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
},
"payment_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"payment_created": "2025-06-29T22:27:44.065Z",
"payment_created_name": "Cashier Name",
"payment_created_email": "[email protected]"
}
}
}
This API is called to get available payment methods and configuration from a Prio PSP.
Payment service provider used to process payments.
ADYEN
- Adyen (More info)CYBERSOURCE
- Cybersource (More info)HYPERPAY
- Hyperpay (More info)ADDONPAYMENTS
- Addon Payments (More info)MEWS
- Mews (More info)NGENIUS
- Network International (More info)MULTISAFE
- MultiSafePay (More info)SUMUP
- SumUp Payments (More info)IZETTLE
- iZettle (More info)STRIPE
- Stripe (More info)WORLDPAY
- WorldPay (More info)GOOGLE
- Google Pay (More info)PAYONEER
- Payoneer (More info)SMARTPAY
- Smart Pay (More info)MOKA
- Moka (More info)EXTERNAL
- The payment is settled externally.OTHER
- Payment provider not listed above.NONE
- No payment provider is used.NONE
Example: ADYEN
Possible values: Order reference.
ORDRREF123456
[FILTER] Return the stored payment methods for a specific (returning) shopper (payment_recurring:true
).
SHOPPER_REFERENCE
GET /v3.8/distributor/payments/config HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"payment_methods": "{\\\"groups\\\":[{\\\"name\\\":\\\"Credit Card\\\",\\\"types\\\":[\\\"mc\\\",\\\"visa\\\"...",
"payment_origin_key": "pub.v2.99...",
"payment_origin_domain": "https://www.your-company.com"
}
This API allows to sent a payment email.
Email Recipient rules:
If set, we sent to the first contact_type:PAYMENT
.
Otherwise, if set, we sent to the first contact_type:BOOKER
.
Otherwise, if set, we sent to the first contact_type:CONTACT
.
If none of the above are set, we sent to the first contact in the array.
If no contacts are provided, an error will be returned.
Order reference for which the payment email should be sent. You can also pass the reservation_reference
in this field.
ORDRREF123456
Specific booking reference for which the payment email should be sent.
BOOKINGREF123
POST /v3.8/distributor/payments/email HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
No content
This API allows to submit additional payment details. Only applicable to merchants using the Adyen Marketplace. More Information
A unique identifier got in response of the create payment API.
de1829d0-e144-11ea-bc09-f935c77bef95
Additional details returned by Adyen front-end application.
POST /v3.8/distributor/payments/{payment_id}/details HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 15
{
"data": "text"
}
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"payment": {
"payment_object_type": "MANUAL",
"payment_result_code": "Authorised",
"payment_action": "{\n \"data\": {\n \"MD\": \"OEVudmZVMUlkWjd0MDNwUWs2bmhSdz09...\",\n \"PaReq\": \"eNpVUttygjAQ/RXbDyAXBYRZ00HpTH3wUosPfe...\",\n \"TermUrl\": \"adyencheckout://your.package.name\"\n },\n \"method\": \"POST\",\n \"paymentData\": \"Ab02b4c0!BQABAgA4e3wGkhVah4CJL19qdegdmm9E...\",\n \"paymentMethodType\": \"scheme\",\n \"type\": \"redirect\",\n \"url\": \"https://test.adyen.com/hpp/3d/validate.shtml\"\n}\n",
"payment_details": {
"payment_id": "f44226c0-e142-11ea-86d2-83036af9991e",
"payment_original_id": "de1829d0-e144-11ea-bc09-f935c77bef95",
"payment_partner_id": "PAYMENT_PARTNER_ID",
"payment_merchant_reference": "1478349849927_771663371",
"payment_external_reference": "SHOPPER_REFERENCE",
"payment_order_reference": "ORDRREF123456",
"payment_booking_references": [
"BKNGREF123456"
],
"payment_order_version": 2,
"payment_status": "PAID",
"payment_method": "EXTERNAL",
"payment_scheme": "VISA",
"payment_type": "CAPTURE",
"payment_link": "https://customer.prioticket.com/s?q=K0U2VmVNRGo0SEhGdFVUZ09IK2ViZkdtK1NjPQ==",
"payment_link_expires_at": "2025-06-29T22:27:44.065Z",
"payment_recurring": false,
"payment_recurring_type": "STORE",
"payment_refund_type": "SYSTEM",
"payment_refund_reason": "Guest reimbursement",
"payment_currency_code": "EUR",
"payment_currency_rate": "2.5263",
"payment_currency_amount": "10.25",
"payment_amount": "10.00",
"payment_total": "100.00",
"payment_gateway_details": {
"payment_merchant_account_name": "PrioticketECOM",
"payment_service_provider_reference": "852596799876396F",
"payment_service_provider_original_reference": "882596799845511E",
"payment_gateway_type": "ADYEN",
"payment_gateway_additional_values": {
"psp_shopper_name": "Checkout Shopper PlaceHolder",
"psp_shopper_cardnumber": "1111",
"psp_issuer_country": "NL",
"psp_fraudscore": "63",
"psp_payment_status": "Settled"
}
},
"payment_contact": {
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
},
"payment_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"payment_created": "2025-06-29T22:27:44.065Z",
"payment_created_name": "Cashier Name",
"payment_created_email": "[email protected]"
}
}
}
}
This API is called to apply promocodes on a reservation.
Promocode Functionality:
To add a promocode to the Cart / Reservation, add the applicable promocode to the query. The promocode will automatically be added to the Cart and the updated prices will be returned in the response.
There could be multiple reasons for a promocode to be declined. For example, insufficient cart balance, expired, already used etc. In this case an error INVALID_PROMOCODE
will be returned with a customer friendly message which can be shown on your front-end.
A unique identifier got in response of the reservation_reference API.
ORDRREF123456
The promocode which should be applied to the cart.
PROMOCODE_123
POST /v3.8/distributor/reservations/{reservation_reference}/promocode HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"reservation": {
"reservation_distributor_id": "501",
"reservation_distributor_name": "Demo Distributor",
"reservation_partner_id": "4534543543",
"reservation_partner_name": "Partner Name",
"reservation_reference": "ABC123456",
"reservation_external_reference": "EXTERNALREF123",
"reservation_hold_token": "17378c14-ae6a-46a4-ada4-9c745a45e018",
"reservation_valid_until": "2025-06-29T22:27:44.065Z",
"reservation_details": [
{
"booking_external_reference": "BOOKING_EXTERNALREF123",
"booking_status": "BOOKING_RESERVED",
"booking_version": 1,
"booking_voucher_released": true,
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_valid_until": "2025-06-29T22:27:44.065Z",
"booking_language": "en",
"booking_addon_reference": "BOOKING_ADDON_REFERENCE_123",
"booking_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"booking_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"booking_customer_url": "https://customer.prioticket.com/orders/ORDRREF123456",
"booking_voucher_url": "https://emails.prioticket.com",
"booking_created": "2025-06-29T22:27:44.065Z",
"booking_modified": "2025-06-29T22:27:44.065Z",
"booking_confirmed": "2025-06-29T22:27:44.065Z",
"booking_cancelled": "2025-06-29T22:27:44.065Z",
"booking_cancellation_reason": "Payment declined",
"product_id": "PRODUCT_ID_123",
"product_relation_id": "MAIN_PRODUCT_ID_123",
"product_pickup_point_id": "PICKUP_POINT_ID_123",
"product_pickup_point": {
"pickup_point_id": "PICKUP_POINT_ID_123",
"pickup_point_name": "Walkingtour at the Wyndham Apollo Hotel",
"pickup_point_type": "FIXED",
"pickup_point_description": "Meet at the Wyndham Apollo hotel.",
"pickup_point_location": "LOCATION_ID_123",
"pickup_point_time": "10:00",
"pickup_point_times": [
"10:00"
],
"pickup_point_duration": 30,
"pickup_point_availability_dependency": false
},
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_supplier_admin_id": "PRODUCT_SUPPLIER_ADMIN_ID",
"product_supplier_admin_name": "Supplier Admin Name",
"product_market_admin_id": "345345342",
"product_market_admin_name": "Market Admin Name",
"product_source_id": "34564574",
"product_source_name": "Prioticket",
"product_entry_notes": "Reconfirmation: Please call or email atleast 72 hour in advance to reconfirm your arrival.",
"product_admission_type": "TIME_PERIOD",
"product_class": "STANDARD",
"product_currency_code": "USD",
"product_cancellation_allowed": true,
"product_combi_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123"
}
],
"product_bundle_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123"
}
],
"product_addon_details": [
{
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_order_reference": "BOOKING_ORDER_REFERENCE",
"booking_reference": "BOOKING_REF123",
"booking_status": "BOOKING_RESERVED"
}
],
"booking_reservation_reference": "BOOKING_RESERVATION_REFERENCE_123",
"booking_reservation_valid_until": "2025-06-29T22:27:44.065Z",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
}
}
]
}
],
"reservation_contacts": [
{
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
}
],
"reservation_checkout_fields": [
{
"checkout_field_id": "CHECKOUT_FIELD_ID",
"checkout_field_title": "First Name",
"checkout_field_label": "Please provide your first name",
"checkout_field_place_holder": "Some text",
"checkout_field_help_text": "Custom Field",
"checkout_field_account_type": "DISTRIBUTOR",
"checkout_field_booking_reference": [
"text"
],
"checkout_field_restriction": "REQUIRED",
"checkout_field_level": "PRODUCT",
"checkout_field_unit": "text",
"checkout_field_input_type": "SINGLE",
"checkout_field_type": "contact_title",
"checkout_field_options": [
"AIR",
"RAIL",
"SEA",
"OTHER"
],
"checkout_field_values": [
{
"checkout_field_value_product_type": "ADULT",
"checkout_field_value": [
"AIR"
],
"checkout_field_value_transaction_reference": "TRANSACTION_REFERENCE"
}
],
"checkout_field_created": "2025-06-29T22:27:44.065Z"
}
],
"reservation_promocodes": [
{
"promo_title": "Christmas Sale 2019",
"promo_description": "20 percent discount during the Christmas days.",
"promo_code": "PROMOCODE_123"
}
],
"reservation_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"reservation_payments": [
{
"payment_id": "f44226c0-e142-11ea-86d2-83036af9991e",
"payment_original_id": "de1829d0-e144-11ea-bc09-f935c77bef95",
"payment_partner_id": "PAYMENT_PARTNER_ID",
"payment_merchant_reference": "1478349849927_771663371",
"payment_external_reference": "SHOPPER_REFERENCE",
"payment_order_reference": "ORDRREF123456",
"payment_booking_references": [
"BKNGREF123456"
],
"payment_order_version": 2,
"payment_status": "PAID",
"payment_method": "EXTERNAL",
"payment_scheme": "VISA",
"payment_type": "CAPTURE",
"payment_link": "https://customer.prioticket.com/s?q=K0U2VmVNRGo0SEhGdFVUZ09IK2ViZkdtK1NjPQ==",
"payment_link_expires_at": "2025-06-29T22:27:44.065Z",
"payment_recurring": false,
"payment_recurring_type": "STORE",
"payment_refund_type": "SYSTEM",
"payment_refund_reason": "Guest reimbursement",
"payment_currency_code": "EUR",
"payment_currency_rate": "2.5263",
"payment_currency_amount": "10.25",
"payment_amount": "10.00",
"payment_total": "100.00",
"payment_gateway_details": {
"payment_merchant_account_name": "PrioticketECOM",
"payment_service_provider_reference": "852596799876396F",
"payment_service_provider_original_reference": "882596799845511E",
"payment_gateway_type": "ADYEN",
"payment_gateway_additional_values": {
"psp_shopper_name": "Checkout Shopper PlaceHolder",
"psp_shopper_cardnumber": "1111",
"psp_issuer_country": "NL",
"psp_fraudscore": "63",
"psp_payment_status": "Settled"
}
},
"payment_contact": {
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
},
"payment_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"payment_created": "2025-06-29T22:27:44.065Z",
"payment_created_name": "Cashier Name",
"payment_created_email": "[email protected]"
}
],
"reservation_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"reservation_created": "2025-06-29T22:27:44.065Z",
"reservation_created_name": "Demo Cashier",
"reservation_created_email": "[email protected]",
"reservation_modified": "2025-06-29T22:27:44.065Z"
}
}
}
This API is called to remove an applied promocode on a reservation. If a DELETE method is successfully applied, the origin server SHOULD send a 200 (Promocode Removed) status code if the action has been enacted. The new reservation will be returned with the updated prices.
If a promocode or an existing order applied with a promocode is cancelled, the use count will be restored.
A unique identifier got in response of the reservation API.
RESREF123
The promocode which should should be removed from the cart.
PROMOCODE_123
DELETE /v3.8/distributor/reservations/{reservation_reference}/promocode/{promo_code} HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"reservation": {
"reservation_distributor_id": "501",
"reservation_distributor_name": "Demo Distributor",
"reservation_partner_id": "4534543543",
"reservation_partner_name": "Partner Name",
"reservation_reference": "ABC123456",
"reservation_external_reference": "EXTERNALREF123",
"reservation_hold_token": "17378c14-ae6a-46a4-ada4-9c745a45e018",
"reservation_valid_until": "2025-06-29T22:27:44.065Z",
"reservation_details": [
{
"booking_external_reference": "BOOKING_EXTERNALREF123",
"booking_status": "BOOKING_RESERVED",
"booking_version": 1,
"booking_voucher_released": true,
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_valid_until": "2025-06-29T22:27:44.065Z",
"booking_language": "en",
"booking_addon_reference": "BOOKING_ADDON_REFERENCE_123",
"booking_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"booking_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"booking_customer_url": "https://customer.prioticket.com/orders/ORDRREF123456",
"booking_voucher_url": "https://emails.prioticket.com",
"booking_created": "2025-06-29T22:27:44.065Z",
"booking_modified": "2025-06-29T22:27:44.065Z",
"booking_confirmed": "2025-06-29T22:27:44.065Z",
"booking_cancelled": "2025-06-29T22:27:44.065Z",
"booking_cancellation_reason": "Payment declined",
"product_id": "PRODUCT_ID_123",
"product_relation_id": "MAIN_PRODUCT_ID_123",
"product_pickup_point_id": "PICKUP_POINT_ID_123",
"product_pickup_point": {
"pickup_point_id": "PICKUP_POINT_ID_123",
"pickup_point_name": "Walkingtour at the Wyndham Apollo Hotel",
"pickup_point_type": "FIXED",
"pickup_point_description": "Meet at the Wyndham Apollo hotel.",
"pickup_point_location": "LOCATION_ID_123",
"pickup_point_time": "10:00",
"pickup_point_times": [
"10:00"
],
"pickup_point_duration": 30,
"pickup_point_availability_dependency": false
},
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_supplier_admin_id": "PRODUCT_SUPPLIER_ADMIN_ID",
"product_supplier_admin_name": "Supplier Admin Name",
"product_market_admin_id": "345345342",
"product_market_admin_name": "Market Admin Name",
"product_source_id": "34564574",
"product_source_name": "Prioticket",
"product_entry_notes": "Reconfirmation: Please call or email atleast 72 hour in advance to reconfirm your arrival.",
"product_admission_type": "TIME_PERIOD",
"product_class": "STANDARD",
"product_currency_code": "USD",
"product_cancellation_allowed": true,
"product_combi_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123"
}
],
"product_bundle_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123"
}
],
"product_addon_details": [
{
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_order_reference": "BOOKING_ORDER_REFERENCE",
"booking_reference": "BOOKING_REF123",
"booking_status": "BOOKING_RESERVED"
}
],
"booking_reservation_reference": "BOOKING_RESERVATION_REFERENCE_123",
"booking_reservation_valid_until": "2025-06-29T22:27:44.065Z",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
}
}
]
}
],
"reservation_contacts": [
{
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
}
],
"reservation_checkout_fields": [
{
"checkout_field_id": "CHECKOUT_FIELD_ID",
"checkout_field_title": "First Name",
"checkout_field_label": "Please provide your first name",
"checkout_field_place_holder": "Some text",
"checkout_field_help_text": "Custom Field",
"checkout_field_account_type": "DISTRIBUTOR",
"checkout_field_booking_reference": [
"text"
],
"checkout_field_restriction": "REQUIRED",
"checkout_field_level": "PRODUCT",
"checkout_field_unit": "text",
"checkout_field_input_type": "SINGLE",
"checkout_field_type": "contact_title",
"checkout_field_options": [
"AIR",
"RAIL",
"SEA",
"OTHER"
],
"checkout_field_values": [
{
"checkout_field_value_product_type": "ADULT",
"checkout_field_value": [
"AIR"
],
"checkout_field_value_transaction_reference": "TRANSACTION_REFERENCE"
}
],
"checkout_field_created": "2025-06-29T22:27:44.065Z"
}
],
"reservation_promocodes": [
{
"promo_title": "Christmas Sale 2019",
"promo_description": "20 percent discount during the Christmas days.",
"promo_code": "PROMOCODE_123"
}
],
"reservation_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"reservation_payments": [
{
"payment_id": "f44226c0-e142-11ea-86d2-83036af9991e",
"payment_original_id": "de1829d0-e144-11ea-bc09-f935c77bef95",
"payment_partner_id": "PAYMENT_PARTNER_ID",
"payment_merchant_reference": "1478349849927_771663371",
"payment_external_reference": "SHOPPER_REFERENCE",
"payment_order_reference": "ORDRREF123456",
"payment_booking_references": [
"BKNGREF123456"
],
"payment_order_version": 2,
"payment_status": "PAID",
"payment_method": "EXTERNAL",
"payment_scheme": "VISA",
"payment_type": "CAPTURE",
"payment_link": "https://customer.prioticket.com/s?q=K0U2VmVNRGo0SEhGdFVUZ09IK2ViZkdtK1NjPQ==",
"payment_link_expires_at": "2025-06-29T22:27:44.065Z",
"payment_recurring": false,
"payment_recurring_type": "STORE",
"payment_refund_type": "SYSTEM",
"payment_refund_reason": "Guest reimbursement",
"payment_currency_code": "EUR",
"payment_currency_rate": "2.5263",
"payment_currency_amount": "10.25",
"payment_amount": "10.00",
"payment_total": "100.00",
"payment_gateway_details": {
"payment_merchant_account_name": "PrioticketECOM",
"payment_service_provider_reference": "852596799876396F",
"payment_service_provider_original_reference": "882596799845511E",
"payment_gateway_type": "ADYEN",
"payment_gateway_additional_values": {
"psp_shopper_name": "Checkout Shopper PlaceHolder",
"psp_shopper_cardnumber": "1111",
"psp_issuer_country": "NL",
"psp_fraudscore": "63",
"psp_payment_status": "Settled"
}
},
"payment_contact": {
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
},
"payment_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"payment_created": "2025-06-29T22:27:44.065Z",
"payment_created_name": "Cashier Name",
"payment_created_email": "[email protected]"
}
],
"reservation_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"reservation_created": "2025-06-29T22:27:44.065Z",
"reservation_created_name": "Demo Cashier",
"reservation_created_email": "[email protected]",
"reservation_modified": "2025-06-29T22:27:44.065Z"
}
}
}
This API is called to reserve one or multiple product(s).
This endpoint can also be requested for products without managed capacity.
This endpoint should be called only once per order. Followup request such as amending the cart should be done using the 'Update Reservation` endpoint.
Create reservation request.
Represents the version of the service API that's served in the response.
3.8.0
POST /v3.8/distributor/reservations HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 7142
{
"data": {
"reservation": {
"reservation_distributor_id": "501",
"reservation_partner_id": "4534543543",
"reservation_external_reference": "EXTERNALREF123",
"reservation_hold_token": "17378c14-ae6a-46a4-ada4-9c745a45e018",
"reservation_details": [
{
"booking_external_reference": "BOOKING_EXTERNALREF123",
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_language": "en",
"booking_addon_reference": "BOOKING_ADDON_REFERENCE_123",
"booking_pricing": {
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
]
},
"booking_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR"
}
],
"product_id": "PRODUCT_ID_123",
"product_relation_id": "MAIN_PRODUCT_ID_123",
"product_pickup_point_id": "PICKUP_POINT_ID_123",
"product_pickup_point": {
"pickup_point_id": "PICKUP_POINT_ID_123",
"pickup_point_type": "FIXED",
"pickup_point_time": "10:00",
"pickup_point_times": [
"10:00"
]
},
"product_availability_id": "20191026090010006526",
"product_combi_details": [
{
"product_id": "PRODUCT_COMBI_ID_123",
"product_availability_id": "20191026090010006526",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_count": 1,
"product_type_spots": [
{
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
]
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_external_reference": "BOOKING_EXTERNALREF123"
}
],
"product_bundle_details": [
{
"product_id": "PRODUCT_COMBI_ID_123",
"product_availability_id": "20191026090010006526",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_count": 1,
"product_type_spots": [
{
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
]
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_external_reference": "BOOKING_EXTERNALREF123"
}
],
"booking_reservation_reference": "BOOKING_RESERVATION_REFERENCE_123",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_count": 1,
"product_type_spots": [
{
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
]
}
}
]
}
],
"reservation_contacts": [
{
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
]
}
],
"reservation_checkout_fields": [
{
"checkout_field_id": "CHECKOUT_FIELD_ID",
"checkout_field_booking_reference": [
"text"
],
"checkout_field_unit": "text",
"checkout_field_options": [
"AIR",
"RAIL",
"SEA",
"OTHER"
],
"checkout_field_values": [
{
"checkout_field_value_product_type": "ADULT",
"checkout_field_value": [
"AIR"
],
"checkout_field_value_transaction_reference": "TRANSACTION_REFERENCE"
}
]
}
],
"reservation_pricing": {
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
]
},
"reservation_payments": [
{
"payment_partner_id": "PAYMENT_PARTNER_ID",
"payment_merchant_reference": "1478349849927_771663371",
"payment_external_reference": "SHOPPER_REFERENCE",
"payment_order_reference": "ORDRREF123456",
"payment_method": "EXTERNAL",
"payment_scheme": "VISA",
"payment_type": "CAPTURE",
"payment_refund_reason": "Guest reimbursement",
"payment_currency_code": "EUR",
"payment_currency_rate": "2.5263",
"payment_gateway_details": {
"payment_merchant_account_name": "PrioticketECOM",
"payment_service_provider_reference": "852596799876396F",
"payment_service_provider_original_reference": "882596799845511E",
"payment_gateway_type": "ADYEN",
"payment_gateway_additional_values": {
"psp_shopper_name": "Checkout Shopper PlaceHolder",
"psp_shopper_cardnumber": "1111",
"psp_issuer_country": "NL",
"psp_fraudscore": "63",
"psp_payment_status": "Settled"
}
},
"payment_contact": {
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
]
},
"payment_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR"
}
]
}
],
"reservation_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
]
}
}
}
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"reservation": {
"reservation_distributor_id": "501",
"reservation_distributor_name": "Demo Distributor",
"reservation_partner_id": "4534543543",
"reservation_partner_name": "Partner Name",
"reservation_reference": "ABC123456",
"reservation_external_reference": "EXTERNALREF123",
"reservation_hold_token": "17378c14-ae6a-46a4-ada4-9c745a45e018",
"reservation_valid_until": "2025-06-29T22:27:44.065Z",
"reservation_details": [
{
"booking_external_reference": "BOOKING_EXTERNALREF123",
"booking_status": "BOOKING_RESERVED",
"booking_version": 1,
"booking_voucher_released": true,
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_valid_until": "2025-06-29T22:27:44.065Z",
"booking_language": "en",
"booking_addon_reference": "BOOKING_ADDON_REFERENCE_123",
"booking_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"booking_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"booking_customer_url": "https://customer.prioticket.com/orders/ORDRREF123456",
"booking_voucher_url": "https://emails.prioticket.com",
"booking_created": "2025-06-29T22:27:44.065Z",
"booking_modified": "2025-06-29T22:27:44.065Z",
"booking_confirmed": "2025-06-29T22:27:44.065Z",
"booking_cancelled": "2025-06-29T22:27:44.065Z",
"booking_cancellation_reason": "Payment declined",
"product_id": "PRODUCT_ID_123",
"product_relation_id": "MAIN_PRODUCT_ID_123",
"product_pickup_point_id": "PICKUP_POINT_ID_123",
"product_pickup_point": {
"pickup_point_id": "PICKUP_POINT_ID_123",
"pickup_point_name": "Walkingtour at the Wyndham Apollo Hotel",
"pickup_point_type": "FIXED",
"pickup_point_description": "Meet at the Wyndham Apollo hotel.",
"pickup_point_location": "LOCATION_ID_123",
"pickup_point_time": "10:00",
"pickup_point_times": [
"10:00"
],
"pickup_point_duration": 30,
"pickup_point_availability_dependency": false
},
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_supplier_admin_id": "PRODUCT_SUPPLIER_ADMIN_ID",
"product_supplier_admin_name": "Supplier Admin Name",
"product_market_admin_id": "345345342",
"product_market_admin_name": "Market Admin Name",
"product_source_id": "34564574",
"product_source_name": "Prioticket",
"product_entry_notes": "Reconfirmation: Please call or email atleast 72 hour in advance to reconfirm your arrival.",
"product_admission_type": "TIME_PERIOD",
"product_class": "STANDARD",
"product_currency_code": "USD",
"product_cancellation_allowed": true,
"product_combi_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123"
}
],
"product_bundle_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123"
}
],
"product_addon_details": [
{
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_order_reference": "BOOKING_ORDER_REFERENCE",
"booking_reference": "BOOKING_REF123",
"booking_status": "BOOKING_RESERVED"
}
],
"booking_reservation_reference": "BOOKING_RESERVATION_REFERENCE_123",
"booking_reservation_valid_until": "2025-06-29T22:27:44.065Z",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
}
}
]
}
],
"reservation_contacts": [
{
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
}
],
"reservation_checkout_fields": [
{
"checkout_field_id": "CHECKOUT_FIELD_ID",
"checkout_field_title": "First Name",
"checkout_field_label": "Please provide your first name",
"checkout_field_place_holder": "Some text",
"checkout_field_help_text": "Custom Field",
"checkout_field_account_type": "DISTRIBUTOR",
"checkout_field_booking_reference": [
"text"
],
"checkout_field_restriction": "REQUIRED",
"checkout_field_level": "PRODUCT",
"checkout_field_unit": "text",
"checkout_field_input_type": "SINGLE",
"checkout_field_type": "contact_title",
"checkout_field_options": [
"AIR",
"RAIL",
"SEA",
"OTHER"
],
"checkout_field_values": [
{
"checkout_field_value_product_type": "ADULT",
"checkout_field_value": [
"AIR"
],
"checkout_field_value_transaction_reference": "TRANSACTION_REFERENCE"
}
],
"checkout_field_created": "2025-06-29T22:27:44.065Z"
}
],
"reservation_promocodes": [
{
"promo_title": "Christmas Sale 2019",
"promo_description": "20 percent discount during the Christmas days.",
"promo_code": "PROMOCODE_123"
}
],
"reservation_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"reservation_payments": [
{
"payment_id": "f44226c0-e142-11ea-86d2-83036af9991e",
"payment_original_id": "de1829d0-e144-11ea-bc09-f935c77bef95",
"payment_partner_id": "PAYMENT_PARTNER_ID",
"payment_merchant_reference": "1478349849927_771663371",
"payment_external_reference": "SHOPPER_REFERENCE",
"payment_order_reference": "ORDRREF123456",
"payment_booking_references": [
"BKNGREF123456"
],
"payment_order_version": 2,
"payment_status": "PAID",
"payment_method": "EXTERNAL",
"payment_scheme": "VISA",
"payment_type": "CAPTURE",
"payment_link": "https://customer.prioticket.com/s?q=K0U2VmVNRGo0SEhGdFVUZ09IK2ViZkdtK1NjPQ==",
"payment_link_expires_at": "2025-06-29T22:27:44.065Z",
"payment_recurring": false,
"payment_recurring_type": "STORE",
"payment_refund_type": "SYSTEM",
"payment_refund_reason": "Guest reimbursement",
"payment_currency_code": "EUR",
"payment_currency_rate": "2.5263",
"payment_currency_amount": "10.25",
"payment_amount": "10.00",
"payment_total": "100.00",
"payment_gateway_details": {
"payment_merchant_account_name": "PrioticketECOM",
"payment_service_provider_reference": "852596799876396F",
"payment_service_provider_original_reference": "882596799845511E",
"payment_gateway_type": "ADYEN",
"payment_gateway_additional_values": {
"psp_shopper_name": "Checkout Shopper PlaceHolder",
"psp_shopper_cardnumber": "1111",
"psp_issuer_country": "NL",
"psp_fraudscore": "63",
"psp_payment_status": "Settled"
}
},
"payment_contact": {
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
},
"payment_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"payment_created": "2025-06-29T22:27:44.065Z",
"payment_created_name": "Cashier Name",
"payment_created_email": "[email protected]"
}
],
"reservation_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"reservation_created": "2025-06-29T22:27:44.065Z",
"reservation_created_name": "Demo Cashier",
"reservation_created_email": "[email protected]",
"reservation_modified": "2025-06-29T22:27:44.065Z"
}
}
}
This API is called to get reservation details and status.
You are still able to retrieve the cart details for expired reservations up to 10 days.
A unique identifier got in response of the create reservation API.
[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.
Wed, 21 Jan 2022 07:28:00 GMT
GET /v3.8/distributor/reservations/{reservation_reference} HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"reservation": {
"reservation_distributor_id": "501",
"reservation_distributor_name": "Demo Distributor",
"reservation_partner_id": "4534543543",
"reservation_partner_name": "Partner Name",
"reservation_reference": "ABC123456",
"reservation_external_reference": "EXTERNALREF123",
"reservation_hold_token": "17378c14-ae6a-46a4-ada4-9c745a45e018",
"reservation_valid_until": "2025-06-29T22:27:44.065Z",
"reservation_details": [
{
"booking_external_reference": "BOOKING_EXTERNALREF123",
"booking_status": "BOOKING_RESERVED",
"booking_version": 1,
"booking_voucher_released": true,
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_valid_until": "2025-06-29T22:27:44.065Z",
"booking_language": "en",
"booking_addon_reference": "BOOKING_ADDON_REFERENCE_123",
"booking_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"booking_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"booking_customer_url": "https://customer.prioticket.com/orders/ORDRREF123456",
"booking_voucher_url": "https://emails.prioticket.com",
"booking_created": "2025-06-29T22:27:44.065Z",
"booking_modified": "2025-06-29T22:27:44.065Z",
"booking_confirmed": "2025-06-29T22:27:44.065Z",
"booking_cancelled": "2025-06-29T22:27:44.065Z",
"booking_cancellation_reason": "Payment declined",
"product_id": "PRODUCT_ID_123",
"product_relation_id": "MAIN_PRODUCT_ID_123",
"product_pickup_point_id": "PICKUP_POINT_ID_123",
"product_pickup_point": {
"pickup_point_id": "PICKUP_POINT_ID_123",
"pickup_point_name": "Walkingtour at the Wyndham Apollo Hotel",
"pickup_point_type": "FIXED",
"pickup_point_description": "Meet at the Wyndham Apollo hotel.",
"pickup_point_location": "LOCATION_ID_123",
"pickup_point_time": "10:00",
"pickup_point_times": [
"10:00"
],
"pickup_point_duration": 30,
"pickup_point_availability_dependency": false
},
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_supplier_admin_id": "PRODUCT_SUPPLIER_ADMIN_ID",
"product_supplier_admin_name": "Supplier Admin Name",
"product_market_admin_id": "345345342",
"product_market_admin_name": "Market Admin Name",
"product_source_id": "34564574",
"product_source_name": "Prioticket",
"product_entry_notes": "Reconfirmation: Please call or email atleast 72 hour in advance to reconfirm your arrival.",
"product_admission_type": "TIME_PERIOD",
"product_class": "STANDARD",
"product_currency_code": "USD",
"product_cancellation_allowed": true,
"product_combi_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123"
}
],
"product_bundle_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123"
}
],
"product_addon_details": [
{
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_order_reference": "BOOKING_ORDER_REFERENCE",
"booking_reference": "BOOKING_REF123",
"booking_status": "BOOKING_RESERVED"
}
],
"booking_reservation_reference": "BOOKING_RESERVATION_REFERENCE_123",
"booking_reservation_valid_until": "2025-06-29T22:27:44.065Z",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
}
}
]
}
],
"reservation_contacts": [
{
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
}
],
"reservation_checkout_fields": [
{
"checkout_field_id": "CHECKOUT_FIELD_ID",
"checkout_field_title": "First Name",
"checkout_field_label": "Please provide your first name",
"checkout_field_place_holder": "Some text",
"checkout_field_help_text": "Custom Field",
"checkout_field_account_type": "DISTRIBUTOR",
"checkout_field_booking_reference": [
"text"
],
"checkout_field_restriction": "REQUIRED",
"checkout_field_level": "PRODUCT",
"checkout_field_unit": "text",
"checkout_field_input_type": "SINGLE",
"checkout_field_type": "contact_title",
"checkout_field_options": [
"AIR",
"RAIL",
"SEA",
"OTHER"
],
"checkout_field_values": [
{
"checkout_field_value_product_type": "ADULT",
"checkout_field_value": [
"AIR"
],
"checkout_field_value_transaction_reference": "TRANSACTION_REFERENCE"
}
],
"checkout_field_created": "2025-06-29T22:27:44.065Z"
}
],
"reservation_promocodes": [
{
"promo_title": "Christmas Sale 2019",
"promo_description": "20 percent discount during the Christmas days.",
"promo_code": "PROMOCODE_123"
}
],
"reservation_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"reservation_payments": [
{
"payment_id": "f44226c0-e142-11ea-86d2-83036af9991e",
"payment_original_id": "de1829d0-e144-11ea-bc09-f935c77bef95",
"payment_partner_id": "PAYMENT_PARTNER_ID",
"payment_merchant_reference": "1478349849927_771663371",
"payment_external_reference": "SHOPPER_REFERENCE",
"payment_order_reference": "ORDRREF123456",
"payment_booking_references": [
"BKNGREF123456"
],
"payment_order_version": 2,
"payment_status": "PAID",
"payment_method": "EXTERNAL",
"payment_scheme": "VISA",
"payment_type": "CAPTURE",
"payment_link": "https://customer.prioticket.com/s?q=K0U2VmVNRGo0SEhGdFVUZ09IK2ViZkdtK1NjPQ==",
"payment_link_expires_at": "2025-06-29T22:27:44.065Z",
"payment_recurring": false,
"payment_recurring_type": "STORE",
"payment_refund_type": "SYSTEM",
"payment_refund_reason": "Guest reimbursement",
"payment_currency_code": "EUR",
"payment_currency_rate": "2.5263",
"payment_currency_amount": "10.25",
"payment_amount": "10.00",
"payment_total": "100.00",
"payment_gateway_details": {
"payment_merchant_account_name": "PrioticketECOM",
"payment_service_provider_reference": "852596799876396F",
"payment_service_provider_original_reference": "882596799845511E",
"payment_gateway_type": "ADYEN",
"payment_gateway_additional_values": {
"psp_shopper_name": "Checkout Shopper PlaceHolder",
"psp_shopper_cardnumber": "1111",
"psp_issuer_country": "NL",
"psp_fraudscore": "63",
"psp_payment_status": "Settled"
}
},
"payment_contact": {
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
},
"payment_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"payment_created": "2025-06-29T22:27:44.065Z",
"payment_created_name": "Cashier Name",
"payment_created_email": "[email protected]"
}
],
"reservation_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"reservation_created": "2025-06-29T22:27:44.065Z",
"reservation_created_name": "Demo Cashier",
"reservation_created_email": "[email protected]",
"reservation_modified": "2025-06-29T22:27:44.065Z"
}
}
}
This API is called to update an existing reservation / cart.
This endpoint can also be requested for products without availability (
product_availability:false
) or managed capacity (product_capacity:false
).
Cart Functionality:
To add a product to the cart, send a reservation_details
array item with a blank booking_reservation_reference
.
To amend an existing booking, please send the corresponding booking_reservation_reference
for the array item with the amended data. In this case the latest request takes precedence and therefore the quantity is always overwritten, not summed.
Only sent the booking details of those bookings you would like to amend.
To remove a product from the cart, please call the "Remove Cart Item" endpoint.
To only change the contact details, do not provide the reservation_details
object in the request.
TIP: The full reservation / cart details will be returned on every request. Therefore you are able to manage the cart outside of your system if required. ReadOnly properties which are included in the response, but not allowed in the request, such as booking_reservation_valid_until
will be ignored and can be safely sent. If you choose not to do this, make sure both carts are kept in sync.
A unique identifier for the created reservation in Prio.
Create reservation request.
Represents the version of the service API that's served in the response.
3.8.0
PUT /v3.8/distributor/reservations/{reservation_reference} HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 7142
{
"data": {
"reservation": {
"reservation_distributor_id": "501",
"reservation_partner_id": "4534543543",
"reservation_external_reference": "EXTERNALREF123",
"reservation_hold_token": "17378c14-ae6a-46a4-ada4-9c745a45e018",
"reservation_details": [
{
"booking_external_reference": "BOOKING_EXTERNALREF123",
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_language": "en",
"booking_addon_reference": "BOOKING_ADDON_REFERENCE_123",
"booking_pricing": {
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
]
},
"booking_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR"
}
],
"product_id": "PRODUCT_ID_123",
"product_relation_id": "MAIN_PRODUCT_ID_123",
"product_pickup_point_id": "PICKUP_POINT_ID_123",
"product_pickup_point": {
"pickup_point_id": "PICKUP_POINT_ID_123",
"pickup_point_type": "FIXED",
"pickup_point_time": "10:00",
"pickup_point_times": [
"10:00"
]
},
"product_availability_id": "20191026090010006526",
"product_combi_details": [
{
"product_id": "PRODUCT_COMBI_ID_123",
"product_availability_id": "20191026090010006526",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_count": 1,
"product_type_spots": [
{
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
]
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_external_reference": "BOOKING_EXTERNALREF123"
}
],
"product_bundle_details": [
{
"product_id": "PRODUCT_COMBI_ID_123",
"product_availability_id": "20191026090010006526",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_count": 1,
"product_type_spots": [
{
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
]
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_external_reference": "BOOKING_EXTERNALREF123"
}
],
"booking_reservation_reference": "BOOKING_RESERVATION_REFERENCE_123",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_count": 1,
"product_type_spots": [
{
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
]
}
}
]
}
],
"reservation_contacts": [
{
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
]
}
],
"reservation_checkout_fields": [
{
"checkout_field_id": "CHECKOUT_FIELD_ID",
"checkout_field_booking_reference": [
"text"
],
"checkout_field_unit": "text",
"checkout_field_options": [
"AIR",
"RAIL",
"SEA",
"OTHER"
],
"checkout_field_values": [
{
"checkout_field_value_product_type": "ADULT",
"checkout_field_value": [
"AIR"
],
"checkout_field_value_transaction_reference": "TRANSACTION_REFERENCE"
}
]
}
],
"reservation_pricing": {
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
]
},
"reservation_payments": [
{
"payment_partner_id": "PAYMENT_PARTNER_ID",
"payment_merchant_reference": "1478349849927_771663371",
"payment_external_reference": "SHOPPER_REFERENCE",
"payment_order_reference": "ORDRREF123456",
"payment_method": "EXTERNAL",
"payment_scheme": "VISA",
"payment_type": "CAPTURE",
"payment_refund_reason": "Guest reimbursement",
"payment_currency_code": "EUR",
"payment_currency_rate": "2.5263",
"payment_gateway_details": {
"payment_merchant_account_name": "PrioticketECOM",
"payment_service_provider_reference": "852596799876396F",
"payment_service_provider_original_reference": "882596799845511E",
"payment_gateway_type": "ADYEN",
"payment_gateway_additional_values": {
"psp_shopper_name": "Checkout Shopper PlaceHolder",
"psp_shopper_cardnumber": "1111",
"psp_issuer_country": "NL",
"psp_fraudscore": "63",
"psp_payment_status": "Settled"
}
},
"payment_contact": {
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
]
},
"payment_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR"
}
]
}
],
"reservation_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
]
}
}
}
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"reservation": {
"reservation_distributor_id": "501",
"reservation_distributor_name": "Demo Distributor",
"reservation_partner_id": "4534543543",
"reservation_partner_name": "Partner Name",
"reservation_reference": "ABC123456",
"reservation_external_reference": "EXTERNALREF123",
"reservation_hold_token": "17378c14-ae6a-46a4-ada4-9c745a45e018",
"reservation_valid_until": "2025-06-29T22:27:44.065Z",
"reservation_details": [
{
"booking_external_reference": "BOOKING_EXTERNALREF123",
"booking_status": "BOOKING_RESERVED",
"booking_version": 1,
"booking_voucher_released": true,
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_valid_until": "2025-06-29T22:27:44.065Z",
"booking_language": "en",
"booking_addon_reference": "BOOKING_ADDON_REFERENCE_123",
"booking_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"booking_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"booking_customer_url": "https://customer.prioticket.com/orders/ORDRREF123456",
"booking_voucher_url": "https://emails.prioticket.com",
"booking_created": "2025-06-29T22:27:44.065Z",
"booking_modified": "2025-06-29T22:27:44.065Z",
"booking_confirmed": "2025-06-29T22:27:44.065Z",
"booking_cancelled": "2025-06-29T22:27:44.065Z",
"booking_cancellation_reason": "Payment declined",
"product_id": "PRODUCT_ID_123",
"product_relation_id": "MAIN_PRODUCT_ID_123",
"product_pickup_point_id": "PICKUP_POINT_ID_123",
"product_pickup_point": {
"pickup_point_id": "PICKUP_POINT_ID_123",
"pickup_point_name": "Walkingtour at the Wyndham Apollo Hotel",
"pickup_point_type": "FIXED",
"pickup_point_description": "Meet at the Wyndham Apollo hotel.",
"pickup_point_location": "LOCATION_ID_123",
"pickup_point_time": "10:00",
"pickup_point_times": [
"10:00"
],
"pickup_point_duration": 30,
"pickup_point_availability_dependency": false
},
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_supplier_admin_id": "PRODUCT_SUPPLIER_ADMIN_ID",
"product_supplier_admin_name": "Supplier Admin Name",
"product_market_admin_id": "345345342",
"product_market_admin_name": "Market Admin Name",
"product_source_id": "34564574",
"product_source_name": "Prioticket",
"product_entry_notes": "Reconfirmation: Please call or email atleast 72 hour in advance to reconfirm your arrival.",
"product_admission_type": "TIME_PERIOD",
"product_class": "STANDARD",
"product_currency_code": "USD",
"product_cancellation_allowed": true,
"product_combi_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123"
}
],
"product_bundle_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123"
}
],
"product_addon_details": [
{
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_order_reference": "BOOKING_ORDER_REFERENCE",
"booking_reference": "BOOKING_REF123",
"booking_status": "BOOKING_RESERVED"
}
],
"booking_reservation_reference": "BOOKING_RESERVATION_REFERENCE_123",
"booking_reservation_valid_until": "2025-06-29T22:27:44.065Z",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
}
}
]
}
],
"reservation_contacts": [
{
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
}
],
"reservation_checkout_fields": [
{
"checkout_field_id": "CHECKOUT_FIELD_ID",
"checkout_field_title": "First Name",
"checkout_field_label": "Please provide your first name",
"checkout_field_place_holder": "Some text",
"checkout_field_help_text": "Custom Field",
"checkout_field_account_type": "DISTRIBUTOR",
"checkout_field_booking_reference": [
"text"
],
"checkout_field_restriction": "REQUIRED",
"checkout_field_level": "PRODUCT",
"checkout_field_unit": "text",
"checkout_field_input_type": "SINGLE",
"checkout_field_type": "contact_title",
"checkout_field_options": [
"AIR",
"RAIL",
"SEA",
"OTHER"
],
"checkout_field_values": [
{
"checkout_field_value_product_type": "ADULT",
"checkout_field_value": [
"AIR"
],
"checkout_field_value_transaction_reference": "TRANSACTION_REFERENCE"
}
],
"checkout_field_created": "2025-06-29T22:27:44.065Z"
}
],
"reservation_promocodes": [
{
"promo_title": "Christmas Sale 2019",
"promo_description": "20 percent discount during the Christmas days.",
"promo_code": "PROMOCODE_123"
}
],
"reservation_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"reservation_payments": [
{
"payment_id": "f44226c0-e142-11ea-86d2-83036af9991e",
"payment_original_id": "de1829d0-e144-11ea-bc09-f935c77bef95",
"payment_partner_id": "PAYMENT_PARTNER_ID",
"payment_merchant_reference": "1478349849927_771663371",
"payment_external_reference": "SHOPPER_REFERENCE",
"payment_order_reference": "ORDRREF123456",
"payment_booking_references": [
"BKNGREF123456"
],
"payment_order_version": 2,
"payment_status": "PAID",
"payment_method": "EXTERNAL",
"payment_scheme": "VISA",
"payment_type": "CAPTURE",
"payment_link": "https://customer.prioticket.com/s?q=K0U2VmVNRGo0SEhGdFVUZ09IK2ViZkdtK1NjPQ==",
"payment_link_expires_at": "2025-06-29T22:27:44.065Z",
"payment_recurring": false,
"payment_recurring_type": "STORE",
"payment_refund_type": "SYSTEM",
"payment_refund_reason": "Guest reimbursement",
"payment_currency_code": "EUR",
"payment_currency_rate": "2.5263",
"payment_currency_amount": "10.25",
"payment_amount": "10.00",
"payment_total": "100.00",
"payment_gateway_details": {
"payment_merchant_account_name": "PrioticketECOM",
"payment_service_provider_reference": "852596799876396F",
"payment_service_provider_original_reference": "882596799845511E",
"payment_gateway_type": "ADYEN",
"payment_gateway_additional_values": {
"psp_shopper_name": "Checkout Shopper PlaceHolder",
"psp_shopper_cardnumber": "1111",
"psp_issuer_country": "NL",
"psp_fraudscore": "63",
"psp_payment_status": "Settled"
}
},
"payment_contact": {
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
},
"payment_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"payment_created": "2025-06-29T22:27:44.065Z",
"payment_created_name": "Cashier Name",
"payment_created_email": "[email protected]"
}
],
"reservation_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"reservation_created": "2025-06-29T22:27:44.065Z",
"reservation_created_name": "Demo Cashier",
"reservation_created_email": "[email protected]",
"reservation_modified": "2025-06-29T22:27:44.065Z"
}
}
}
This API is called to cancel a reserved timeslot, delete products from your cart or empty the cart. In case of a full cancellation, you are no longer able to amend the reservation. Otherwise, the updated cart will be returned.
Note that (combi-)pricing might have changed.
If payment is made, funds will be automatically refunded.
A unique identifier for the created reservation in the Prio system.
When using the Cart functionality you are able to remove individual products.
BOOKING_RESERVATION_REFERENCE_123
Optional reason for this cancellation.
Payment declined
DELETE /v3.8/distributor/reservations/{reservation_reference} HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"reservation": {
"reservation_distributor_id": "501",
"reservation_distributor_name": "Demo Distributor",
"reservation_partner_id": "4534543543",
"reservation_partner_name": "Partner Name",
"reservation_reference": "ABC123456",
"reservation_external_reference": "EXTERNALREF123",
"reservation_hold_token": "17378c14-ae6a-46a4-ada4-9c745a45e018",
"reservation_valid_until": "2025-06-29T22:27:44.065Z",
"reservation_details": [
{
"booking_external_reference": "BOOKING_EXTERNALREF123",
"booking_status": "BOOKING_RESERVED",
"booking_version": 1,
"booking_voucher_released": true,
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_valid_until": "2025-06-29T22:27:44.065Z",
"booking_language": "en",
"booking_addon_reference": "BOOKING_ADDON_REFERENCE_123",
"booking_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"booking_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"booking_customer_url": "https://customer.prioticket.com/orders/ORDRREF123456",
"booking_voucher_url": "https://emails.prioticket.com",
"booking_created": "2025-06-29T22:27:44.065Z",
"booking_modified": "2025-06-29T22:27:44.065Z",
"booking_confirmed": "2025-06-29T22:27:44.065Z",
"booking_cancelled": "2025-06-29T22:27:44.065Z",
"booking_cancellation_reason": "Payment declined",
"product_id": "PRODUCT_ID_123",
"product_relation_id": "MAIN_PRODUCT_ID_123",
"product_pickup_point_id": "PICKUP_POINT_ID_123",
"product_pickup_point": {
"pickup_point_id": "PICKUP_POINT_ID_123",
"pickup_point_name": "Walkingtour at the Wyndham Apollo Hotel",
"pickup_point_type": "FIXED",
"pickup_point_description": "Meet at the Wyndham Apollo hotel.",
"pickup_point_location": "LOCATION_ID_123",
"pickup_point_time": "10:00",
"pickup_point_times": [
"10:00"
],
"pickup_point_duration": 30,
"pickup_point_availability_dependency": false
},
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_supplier_admin_id": "PRODUCT_SUPPLIER_ADMIN_ID",
"product_supplier_admin_name": "Supplier Admin Name",
"product_market_admin_id": "345345342",
"product_market_admin_name": "Market Admin Name",
"product_source_id": "34564574",
"product_source_name": "Prioticket",
"product_entry_notes": "Reconfirmation: Please call or email atleast 72 hour in advance to reconfirm your arrival.",
"product_admission_type": "TIME_PERIOD",
"product_class": "STANDARD",
"product_currency_code": "USD",
"product_cancellation_allowed": true,
"product_combi_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123"
}
],
"product_bundle_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123"
}
],
"product_addon_details": [
{
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_order_reference": "BOOKING_ORDER_REFERENCE",
"booking_reference": "BOOKING_REF123",
"booking_status": "BOOKING_RESERVED"
}
],
"booking_reservation_reference": "BOOKING_RESERVATION_REFERENCE_123",
"booking_reservation_valid_until": "2025-06-29T22:27:44.065Z",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
}
}
]
}
],
"reservation_contacts": [
{
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
}
],
"reservation_checkout_fields": [
{
"checkout_field_id": "CHECKOUT_FIELD_ID",
"checkout_field_title": "First Name",
"checkout_field_label": "Please provide your first name",
"checkout_field_place_holder": "Some text",
"checkout_field_help_text": "Custom Field",
"checkout_field_account_type": "DISTRIBUTOR",
"checkout_field_booking_reference": [
"text"
],
"checkout_field_restriction": "REQUIRED",
"checkout_field_level": "PRODUCT",
"checkout_field_unit": "text",
"checkout_field_input_type": "SINGLE",
"checkout_field_type": "contact_title",
"checkout_field_options": [
"AIR",
"RAIL",
"SEA",
"OTHER"
],
"checkout_field_values": [
{
"checkout_field_value_product_type": "ADULT",
"checkout_field_value": [
"AIR"
],
"checkout_field_value_transaction_reference": "TRANSACTION_REFERENCE"
}
],
"checkout_field_created": "2025-06-29T22:27:44.065Z"
}
],
"reservation_promocodes": [
{
"promo_title": "Christmas Sale 2019",
"promo_description": "20 percent discount during the Christmas days.",
"promo_code": "PROMOCODE_123"
}
],
"reservation_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"reservation_payments": [
{
"payment_id": "f44226c0-e142-11ea-86d2-83036af9991e",
"payment_original_id": "de1829d0-e144-11ea-bc09-f935c77bef95",
"payment_partner_id": "PAYMENT_PARTNER_ID",
"payment_merchant_reference": "1478349849927_771663371",
"payment_external_reference": "SHOPPER_REFERENCE",
"payment_order_reference": "ORDRREF123456",
"payment_booking_references": [
"BKNGREF123456"
],
"payment_order_version": 2,
"payment_status": "PAID",
"payment_method": "EXTERNAL",
"payment_scheme": "VISA",
"payment_type": "CAPTURE",
"payment_link": "https://customer.prioticket.com/s?q=K0U2VmVNRGo0SEhGdFVUZ09IK2ViZkdtK1NjPQ==",
"payment_link_expires_at": "2025-06-29T22:27:44.065Z",
"payment_recurring": false,
"payment_recurring_type": "STORE",
"payment_refund_type": "SYSTEM",
"payment_refund_reason": "Guest reimbursement",
"payment_currency_code": "EUR",
"payment_currency_rate": "2.5263",
"payment_currency_amount": "10.25",
"payment_amount": "10.00",
"payment_total": "100.00",
"payment_gateway_details": {
"payment_merchant_account_name": "PrioticketECOM",
"payment_service_provider_reference": "852596799876396F",
"payment_service_provider_original_reference": "882596799845511E",
"payment_gateway_type": "ADYEN",
"payment_gateway_additional_values": {
"psp_shopper_name": "Checkout Shopper PlaceHolder",
"psp_shopper_cardnumber": "1111",
"psp_issuer_country": "NL",
"psp_fraudscore": "63",
"psp_payment_status": "Settled"
}
},
"payment_contact": {
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
},
"payment_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"payment_created": "2025-06-29T22:27:44.065Z",
"payment_created_name": "Cashier Name",
"payment_created_email": "[email protected]"
}
],
"reservation_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"reservation_created": "2025-06-29T22:27:44.065Z",
"reservation_created_name": "Demo Cashier",
"reservation_created_email": "[email protected]",
"reservation_modified": "2025-06-29T22:27:44.065Z"
}
}
}
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.
[FILTER] on distributor_id
.
501
[FILTER] on product_id
.
["PRODUCT_ID_123"]
[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.
[FILTER] Till which date availability is requested.
If this is empty, availability will be searched for the given from_date
only.
[FILTER] Include disabled / closed (availability_active:false
) entries.
false
Example: true
[FILTER] on availability_capacity_id
.
[FILTER] The minimum remaining availability_spots_open
.
[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.0
Example: 1
[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.
Wed, 21 Jan 2022 07:28:00 GMT
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-06-29T22:27:44.065Z",
"availability_to_date_time": "2025-06-29T22:27:44.065Z",
"availability_booking_window_start": "2025-06-29T22:27:44.065Z",
"availability_booking_window_end": "2025-06-29T22:27:44.065Z",
"availability_spots": {
"availability_spots_total": 100,
"availability_spots_reserved": 15,
"availability_spots_booked": 10,
"availability_spots_open": 75
},
"availability_created": "2025-06-29T22:27:44.065Z",
"availability_modified": "2025-06-29T22:27:44.065Z"
}
]
}
}
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.
Unique identifier for the product assigned by Prio.
[FILTER] on distributor_id
.
501
[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.
[FILTER] Till which date availability is requested.
If this is empty, availability will be searched for the given from_date
only.
[FILTER] Include disabled / closed (availability_active:false
) entries.
false
Example: true
[FILTER] on availability_capacity_id
.
[FILTER] The minimum remaining availability_spots_open
.
[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.0
Example: 1
[FILTER] Only show entries modified after the given date.
Fetch incremental updates through this endpoint.
[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.
10
Example: 5
[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.
1
Example: 1
[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.
1
Example: 1
[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.
Wed, 21 Jan 2022 07:28:00 GMT
Request for availability & pricing.
Represents the version of the service API that's served in the response.
3.8.0
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-06-29T22:27:44.065Z",
"availability_to_date_time": "2025-06-29T22:27:44.065Z",
"availability_booking_window_start": "2025-06-29T22:27:44.065Z",
"availability_booking_window_end": "2025-06-29T22:27:44.065Z",
"availability_spots": {
"availability_spots_total": 100,
"availability_spots_reserved": 15,
"availability_spots_booked": 10,
"availability_spots_open": 75
},
"availability_created": "2025-06-29T22:27:44.065Z",
"availability_modified": "2025-06-29T22:27:44.065Z",
"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
}
]
}
]
}
]
}
]
}
}
This API is meant to return a small subset of orders. By default the last 3 months are returned.
If you would like to retrieve all orders for Reporting / BI purposes we recommended a different approach, please contact your account manager for more information.
By default only the latest revision will be returned.
[FILTER] on reseller_id
.
501
[FILTER] on distributor_id
.
501
[FILTER] on market_admin_id
.
567565856
[FILTER] on supplier_id
.
145
[FILTER] on order_reference
.
ORDRREF123456
[FILTER] on order_external_reference
.
EXTERNALREF123
[FILTER] on order_contact_uid
.
f44226c0-e142-11ea-86d2-83036af9991e
[FILTER] on order_contact_name
, contact_name_first
and contact_name_last
.
John Doe
[FILTER] on order_created
. Only the orders created from this specific date will be returned. A longer time range might increase response times.
[FILTER] on order_created
. Only the orders created till this specific date will be returned. A longer time range might increase response times.
[FILTER] on order_modified
. Only the orders modified after the given date will be returned. This includes newly created orders.
For caching purposes we recommend using the If-Modified-Since
header instead.
[FILTER] on booking_reference
.
BOOKINGREF123
[FILTER] on booking_external_reference
.
EXTERNALREF123
[FILTER] on booking_travel_date
. Only the bookings with a travel date from this specific date will be returned. A longer time range might increase response times.
[FILTER] on booking_travel_date
. Only the bookings with a travel date till this specific date will be returned. A longer time range might increase response times.
[FILTER] on booking_redemption_date
. Only the bookings redeemed from this specific date will be returned. A longer time range might increase response times.
[FILTER] on booking_redemption_date
. Only the bookings redeemed till this specific date will be returned. A longer time range might increase response times.
[FILTER] on product_id
.
["PRODUCT_ID_123"]
[FILTER] on product_type_code
.
1539762088951995
[FILTER] on product_availability_id
.
20191026090010006526
[FILTER] on product_availability_capacity_id
.
20191026090010006526
[FILTER] on order_created_email
. Only the orders made by this user / cashier will be returned.
[email protected]
[SEARCH] on keywords. This API provides full-text (wildcard) search capabilities.
Only results linked to your account will be returned and searching is only available in case cache is enabled (cache:true
)
[CONFIG] Filter (sub) bookings from response.
Whether to include all bookings belonging to the same order or only those matching the defined filters. By default the system will return every booking of an order, regardless whether some of those bookings do not match the defined filters.
For example. when a filter for product_id
is set, only orders which contain that product will be returned, but additional bookings (for different product IDs) of that same order might be listed as well.
By enabling this filter, only bookings for that product_id
would be returned.
false
Example: false
[FILTER] on partner sales.
false
Example: false
[CONFIG] (ADVANCED) account view type.
This value defaults and is limited to the scope of your credentials.
DISTRIBUTOR
Possible values: Method of sorting.
ORDER_CREATED
Example: ORDER_CREATED
Possible values: Order of sorting.
DESC
Example: ASC
Possible values: [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.
10
Example: 5
[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.
1
Example: 1
[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.
1
Example: 1
[CACHE] Whether the results should be loaded from the caching server. This will significantly improve performance and disabling this functionality is not recommended.
true
Example: true
[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.
Wed, 21 Jan 2022 07:28:00 GMT
GET /v3.8/distributor/orders 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": [
{
"order_platform_id": "1",
"order_platform_name": "Platform Name",
"order_reseller_id": "1300",
"order_reseller_name": "Demo reseller",
"order_distributor_id": "501",
"order_distributor_name": "Demo Distributor",
"order_merchant_id": "55201",
"order_merchant_name": "Demo Merchant",
"order_partner_id": "4534543543",
"order_partner_name": "Partner Name",
"order_reference": "ORDRREF123456",
"order_external_reference": "EXTERNALREF123",
"order_status": "ORDER_CONFIRMED",
"order_settlement_type": "EXTERNAL",
"order_channel": "PARTNER",
"order_language": "en",
"order_version": 1,
"order_contacts": [
{
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
}
],
"order_promocodes": [
{
"promo_title": "Christmas Sale 2019",
"promo_description": "20 percent discount during the Christmas days.",
"promo_code": "PROMOCODE_123"
}
],
"order_payments": [
{
"payment_id": "f44226c0-e142-11ea-86d2-83036af9991e",
"payment_original_id": "de1829d0-e144-11ea-bc09-f935c77bef95",
"payment_partner_id": "PAYMENT_PARTNER_ID",
"payment_merchant_reference": "1478349849927_771663371",
"payment_external_reference": "SHOPPER_REFERENCE",
"payment_order_reference": "ORDRREF123456",
"payment_booking_references": [
"BKNGREF123456"
],
"payment_order_version": 2,
"payment_status": "PAID",
"payment_method": "EXTERNAL",
"payment_scheme": "VISA",
"payment_type": "CAPTURE",
"payment_link": "https://customer.prioticket.com/s?q=K0U2VmVNRGo0SEhGdFVUZ09IK2ViZkdtK1NjPQ==",
"payment_link_expires_at": "2025-06-29T22:27:44.065Z",
"payment_recurring": false,
"payment_recurring_type": "STORE",
"payment_refund_type": "SYSTEM",
"payment_refund_reason": "Guest reimbursement",
"payment_currency_code": "EUR",
"payment_currency_rate": "2.5263",
"payment_currency_amount": "10.25",
"payment_amount": "10.00",
"payment_total": "100.00",
"payment_gateway_details": {
"payment_merchant_account_name": "PrioticketECOM",
"payment_service_provider_reference": "852596799876396F",
"payment_service_provider_original_reference": "882596799845511E",
"payment_gateway_type": "ADYEN",
"payment_gateway_additional_values": {
"psp_shopper_name": "Checkout Shopper PlaceHolder",
"psp_shopper_cardnumber": "1111",
"psp_issuer_country": "NL",
"psp_fraudscore": "63",
"psp_payment_status": "Settled"
}
},
"payment_contact": {
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
},
"payment_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"payment_created": "2025-06-29T22:27:44.065Z",
"payment_created_name": "Cashier Name",
"payment_created_email": "[email protected]"
}
],
"order_checkout_fields": [
{
"checkout_field_id": "CHECKOUT_FIELD_ID",
"checkout_field_title": "First Name",
"checkout_field_label": "Please provide your first name",
"checkout_field_place_holder": "Some text",
"checkout_field_help_text": "Custom Field",
"checkout_field_account_type": "DISTRIBUTOR",
"checkout_field_booking_reference": [
"text"
],
"checkout_field_restriction": "REQUIRED",
"checkout_field_level": "PRODUCT",
"checkout_field_unit": "text",
"checkout_field_input_type": "SINGLE",
"checkout_field_type": "contact_title",
"checkout_field_options": [
"AIR",
"RAIL",
"SEA",
"OTHER"
],
"checkout_field_values": [
{
"checkout_field_value_product_type": "ADULT",
"checkout_field_value": [
"AIR"
],
"checkout_field_value_transaction_reference": "TRANSACTION_REFERENCE"
}
],
"checkout_field_created": "2025-06-29T22:27:44.065Z"
}
],
"order_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"order_options": {
"email_options": {
"email_types": {
"send_tickets": false
}
}
},
"order_flags": [
{
"flag_id": "223425262",
"flag_name": "Stock Code",
"flag_type": "FLAG",
"flag_value_id": "123BCa1",
"flag_value": "123BCa1"
}
],
"order_event_details": [
{
"event_order_version": 2,
"event_note": "Change of timeslot on request of customer.",
"event_type": "ORDER_CREATE",
"event_created": "2025-06-29T22:27:44.065Z",
"event_creator_user_name": "Andrew",
"event_creator_user_email": "[email protected]",
"event_creator_user_role": "Supervisor"
}
],
"order_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"order_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"order_activity_url": "https://activity.prioticket.com/orders/ORDRREF123456",
"order_customer_url": "https://customer.prioticket.com/orders/ORDRREF123456",
"order_voucher_url": "https://emails.prioticket.com",
"order_created": "2025-06-29T22:27:44.065Z",
"order_created_name": "Demo Cashier",
"order_created_email": "[email protected]",
"order_modified": "2025-06-29T22:27:44.065Z",
"order_modified_name": "Demo Cashier",
"order_modified_email": "[email protected]",
"order_cancellation_date_time": "2025-06-29T22:27:44.065Z",
"order_cancellation_reason": "Payment declined",
"order_bookings": [
{
"booking_external_reference": "BOOKING_EXTERNALREF123",
"booking_status": "BOOKING_RESERVED",
"booking_version": 1,
"booking_voucher_released": true,
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_valid_until": "2025-06-29T22:27:44.065Z",
"booking_language": "en",
"booking_addon_reference": "BOOKING_ADDON_REFERENCE_123",
"booking_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"booking_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"booking_customer_url": "https://customer.prioticket.com/orders/ORDRREF123456",
"booking_voucher_url": "https://emails.prioticket.com",
"booking_created": "2025-06-29T22:27:44.065Z",
"booking_modified": "2025-06-29T22:27:44.065Z",
"booking_confirmed": "2025-06-29T22:27:44.065Z",
"booking_cancelled": "2025-06-29T22:27:44.065Z",
"booking_cancellation_reason": "Payment declined",
"product_id": "PRODUCT_ID_123",
"product_relation_id": "MAIN_PRODUCT_ID_123",
"product_pickup_point_id": "PICKUP_POINT_ID_123",
"product_pickup_point": {
"pickup_point_id": "PICKUP_POINT_ID_123",
"pickup_point_name": "Walkingtour at the Wyndham Apollo Hotel",
"pickup_point_type": "FIXED",
"pickup_point_description": "Meet at the Wyndham Apollo hotel.",
"pickup_point_location": "LOCATION_ID_123",
"pickup_point_time": "10:00",
"pickup_point_times": [
"10:00"
],
"pickup_point_duration": 30,
"pickup_point_availability_dependency": false
},
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_supplier_admin_id": "PRODUCT_SUPPLIER_ADMIN_ID",
"product_supplier_admin_name": "Supplier Admin Name",
"product_market_admin_id": "345345342",
"product_market_admin_name": "Market Admin Name",
"product_source_id": "34564574",
"product_source_name": "Prioticket",
"product_entry_notes": "Reconfirmation: Please call or email atleast 72 hour in advance to reconfirm your arrival.",
"product_admission_type": "TIME_PERIOD",
"product_class": "STANDARD",
"product_currency_code": "USD",
"product_cancellation_allowed": true,
"product_combi_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"product_type_code_supplier_reference": "text",
"product_type_transaction_id": "159118380521834001",
"product_type_status": "CONFIRMED",
"product_type_redemption_status": "REDEEMED",
"product_type_payment_status": "PAID",
"product_type_redemption_date_time": "2025-06-29T22:27:44.065Z",
"product_type_redemption_user_name": "text",
"product_type_redemption_user_email": "[email protected]",
"product_type_pass_details": {
"pass_code": "text",
"pass_duration": {
"pass_duration_start": "2018-06-26T12:08:47Z",
"pass_duration_end": "2018-06-26T12:08:47Z",
"pass_duration_total": 86400,
"pass_duration_remaining": 3600
},
"pass_redemptions": [
{
"pass_redemption_date_time": "2025-06-29T22:27:44.065Z",
"pass_redemption_user_name": "text",
"pass_redemption_user_email": "[email protected]"
}
]
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123",
"product_code": "1539762088951995",
"product_code_settings": {
"product_code_format": "QR_CODE",
"product_code_source": "PRIO",
"product_group_code": true,
"product_combi_code": true,
"product_city_card": false,
"product_voucher_settings": "SINGLE"
},
"booking_supplier_reference": "BOOKING_SUPPLIER_REFERENCE_123"
}
],
"product_bundle_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"product_type_code_supplier_reference": "text",
"product_type_transaction_id": "159118380521834001",
"product_type_status": "CONFIRMED",
"product_type_redemption_status": "REDEEMED",
"product_type_payment_status": "PAID",
"product_type_redemption_date_time": "2025-06-29T22:27:44.065Z",
"product_type_redemption_user_name": "text",
"product_type_redemption_user_email": "[email protected]",
"product_type_pass_details": {
"pass_code": "text",
"pass_duration": {
"pass_duration_start": "2018-06-26T12:08:47Z",
"pass_duration_end": "2018-06-26T12:08:47Z",
"pass_duration_total": 86400,
"pass_duration_remaining": 3600
},
"pass_redemptions": [
{
"pass_redemption_date_time": "2025-06-29T22:27:44.065Z",
"pass_redemption_user_name": "text",
"pass_redemption_user_email": "[email protected]"
}
]
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123",
"product_code": "1539762088951995",
"product_code_settings": {
"product_code_format": "QR_CODE",
"product_code_source": "PRIO",
"product_group_code": true,
"product_combi_code": true,
"product_city_card": false,
"product_voucher_settings": "SINGLE"
},
"booking_supplier_reference": "BOOKING_SUPPLIER_REFERENCE_123"
}
],
"product_addon_details": [
{
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_order_reference": "BOOKING_ORDER_REFERENCE",
"booking_reference": "BOOKING_REF123",
"booking_status": "BOOKING_RESERVED"
}
],
"product_code": "1539762088951995",
"product_code_settings": {
"product_code_format": "QR_CODE",
"product_code_source": "PRIO",
"product_group_code": true,
"product_combi_code": true,
"product_city_card": false,
"product_voucher_settings": "SINGLE"
},
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"product_type_code_supplier_reference": "text",
"product_type_transaction_id": "159118380521834001",
"product_type_status": "CONFIRMED",
"product_type_redemption_status": "REDEEMED",
"product_type_payment_status": "PAID",
"product_type_redemption_date_time": "2025-06-29T22:27:44.065Z",
"product_type_redemption_user_name": "text",
"product_type_redemption_user_email": "[email protected]",
"product_type_pass_details": {
"pass_code": "text",
"pass_duration": {
"pass_duration_start": "2018-06-26T12:08:47Z",
"pass_duration_end": "2018-06-26T12:08:47Z",
"pass_duration_total": 86400,
"pass_duration_remaining": 3600
},
"pass_redemptions": [
{
"pass_redemption_date_time": "2025-06-29T22:27:44.065Z",
"pass_redemption_user_name": "text",
"pass_redemption_user_email": "[email protected]"
}
]
}
}
],
"product_cancellation_policies": [
{
"cancellation_description": "Please cancel any booking 1 hour in advance.",
"cancellation_type": "TRAVEL_DATE",
"cancellation_fee_threshold": 3600,
"cancellation_fee_percentage": 20.5,
"cancellation_fee_amount": "5.00"
}
],
"booking_reference": "BOOKING_REFERENCE_123",
"booking_supplier_reference": "BOOKING_SUPPLIER_REFERENCE_123"
}
]
}
]
}
}
This API is called to book / confirm product(s) and get a barcode / QR-code in response.
Creating an order triggers a payment obligation. Make sure that you received the money from the guest and please note that some products are non-refundable. Do not create an order if its not certain that the product will be purchased.
Make sure that you cross-check the order_pricing.price_total
with the amount charged to the guest. Mismatches might indicate missing fees or discounts, causing financial mismatches between our systems. We recommend aborting the booking process in case this happens.
Direct Booking
Direct booking of a product without availability (product_availability:false
) and no traveldate (product_traveldate_required:false
) (non-dated, no capacity ticket)
Direct booking of a product without availability (product_availability:false
) and required traveldate (product_traveldate_required:true
) (dated, unlimited capacity ticket)
Direct booking of a product with availability (product_availability:true
) and with or without capacity (product_capacity:true/false
).
Adding a promotional code to a Direct Booking is not supported.
Direct payment settlement with a Direct Booking is not supported.
Confirm Reservation / Checkout Cart
Booking of product(s) with a reservation_reference
(Confirmation of an active reservation (Confirm and Order)). This can be any product with any configuration.
Please note that multiple types of Direct Booking can be made at once, but only a single Confirm Reservation at a time is supported. Would you wish to confirm multiple reserved products at once, please put multiple bookings in a single reservation (Cart). You can not "mix" different booking options (Direct Booking && Confirm Reservation) in the same request. Therefore only multiple entries of the Direct Booking option is being supported.
In case multiple products are to be booked, if any of them are unavailable, the whole order will be declined.
You are unable to combine products with different base currencies in the same order.
Create order request model.
Represents the version of the service API that's served in the response.
3.8.0
POST /v3.8/distributor/orders HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 2765
{
"data": {
"order": {
"order_distributor_id": "501",
"order_merchant_id": "55201",
"order_merchant_name": "Demo Merchant",
"order_partner_id": "4534543543",
"order_external_reference": "EXTERNALREF123",
"order_settlement_type": "EXTERNAL",
"order_language": "en",
"order_contacts": [
{
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
]
}
],
"order_checkout_fields": [
{
"checkout_field_id": "CHECKOUT_FIELD_ID",
"checkout_field_booking_reference": [
"text"
],
"checkout_field_unit": "text",
"checkout_field_options": [
"AIR",
"RAIL",
"SEA",
"OTHER"
],
"checkout_field_values": [
{
"checkout_field_value_product_type": "ADULT",
"checkout_field_value": [
"AIR"
],
"checkout_field_value_transaction_reference": "TRANSACTION_REFERENCE"
}
]
}
],
"order_pricing": {
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
]
},
"order_options": {
"email_options": {
"email_types": {
"send_tickets": false
}
}
},
"order_flags": [
{
"flag_id": "223425262",
"flag_name": "Stock Code",
"flag_type": "FLAG",
"flag_value_id": "123BCa1",
"flag_value": "123BCa1"
}
],
"order_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"order_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR"
}
],
"order_bookings": [
{
"booking_option_type": "CONFIRM_RESERVATION",
"reservation_reference": "RESERVATION_REFERENCE_123"
}
]
}
}
}
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"order": {
"order_platform_id": "1",
"order_platform_name": "Platform Name",
"order_reseller_id": "1300",
"order_reseller_name": "Demo reseller",
"order_distributor_id": "501",
"order_distributor_name": "Demo Distributor",
"order_merchant_id": "55201",
"order_merchant_name": "Demo Merchant",
"order_partner_id": "4534543543",
"order_partner_name": "Partner Name",
"order_reference": "ORDRREF123456",
"order_external_reference": "EXTERNALREF123",
"order_status": "ORDER_CONFIRMED",
"order_settlement_type": "EXTERNAL",
"order_channel": "PARTNER",
"order_language": "en",
"order_version": 1,
"order_contacts": [
{
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
}
],
"order_promocodes": [
{
"promo_title": "Christmas Sale 2019",
"promo_description": "20 percent discount during the Christmas days.",
"promo_code": "PROMOCODE_123"
}
],
"order_payments": [
{
"payment_id": "f44226c0-e142-11ea-86d2-83036af9991e",
"payment_original_id": "de1829d0-e144-11ea-bc09-f935c77bef95",
"payment_partner_id": "PAYMENT_PARTNER_ID",
"payment_merchant_reference": "1478349849927_771663371",
"payment_external_reference": "SHOPPER_REFERENCE",
"payment_order_reference": "ORDRREF123456",
"payment_booking_references": [
"BKNGREF123456"
],
"payment_order_version": 2,
"payment_status": "PAID",
"payment_method": "EXTERNAL",
"payment_scheme": "VISA",
"payment_type": "CAPTURE",
"payment_link": "https://customer.prioticket.com/s?q=K0U2VmVNRGo0SEhGdFVUZ09IK2ViZkdtK1NjPQ==",
"payment_link_expires_at": "2025-06-29T22:27:44.065Z",
"payment_recurring": false,
"payment_recurring_type": "STORE",
"payment_refund_type": "SYSTEM",
"payment_refund_reason": "Guest reimbursement",
"payment_currency_code": "EUR",
"payment_currency_rate": "2.5263",
"payment_currency_amount": "10.25",
"payment_amount": "10.00",
"payment_total": "100.00",
"payment_gateway_details": {
"payment_merchant_account_name": "PrioticketECOM",
"payment_service_provider_reference": "852596799876396F",
"payment_service_provider_original_reference": "882596799845511E",
"payment_gateway_type": "ADYEN",
"payment_gateway_additional_values": {
"psp_shopper_name": "Checkout Shopper PlaceHolder",
"psp_shopper_cardnumber": "1111",
"psp_issuer_country": "NL",
"psp_fraudscore": "63",
"psp_payment_status": "Settled"
}
},
"payment_contact": {
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
},
"payment_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"payment_created": "2025-06-29T22:27:44.065Z",
"payment_created_name": "Cashier Name",
"payment_created_email": "[email protected]"
}
],
"order_checkout_fields": [
{
"checkout_field_id": "CHECKOUT_FIELD_ID",
"checkout_field_title": "First Name",
"checkout_field_label": "Please provide your first name",
"checkout_field_place_holder": "Some text",
"checkout_field_help_text": "Custom Field",
"checkout_field_account_type": "DISTRIBUTOR",
"checkout_field_booking_reference": [
"text"
],
"checkout_field_restriction": "REQUIRED",
"checkout_field_level": "PRODUCT",
"checkout_field_unit": "text",
"checkout_field_input_type": "SINGLE",
"checkout_field_type": "contact_title",
"checkout_field_options": [
"AIR",
"RAIL",
"SEA",
"OTHER"
],
"checkout_field_values": [
{
"checkout_field_value_product_type": "ADULT",
"checkout_field_value": [
"AIR"
],
"checkout_field_value_transaction_reference": "TRANSACTION_REFERENCE"
}
],
"checkout_field_created": "2025-06-29T22:27:44.065Z"
}
],
"order_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"order_options": {
"email_options": {
"email_types": {
"send_tickets": false
}
}
},
"order_flags": [
{
"flag_id": "223425262",
"flag_name": "Stock Code",
"flag_type": "FLAG",
"flag_value_id": "123BCa1",
"flag_value": "123BCa1"
}
],
"order_event_details": [
{
"event_order_version": 2,
"event_note": "Change of timeslot on request of customer.",
"event_type": "ORDER_CREATE",
"event_created": "2025-06-29T22:27:44.065Z",
"event_creator_user_name": "Andrew",
"event_creator_user_email": "[email protected]",
"event_creator_user_role": "Supervisor"
}
],
"order_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"order_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"order_activity_url": "https://activity.prioticket.com/orders/ORDRREF123456",
"order_customer_url": "https://customer.prioticket.com/orders/ORDRREF123456",
"order_voucher_url": "https://emails.prioticket.com",
"order_created": "2025-06-29T22:27:44.065Z",
"order_created_name": "Demo Cashier",
"order_created_email": "[email protected]",
"order_modified": "2025-06-29T22:27:44.065Z",
"order_modified_name": "Demo Cashier",
"order_modified_email": "[email protected]",
"order_cancellation_date_time": "2025-06-29T22:27:44.065Z",
"order_cancellation_reason": "Payment declined",
"order_bookings": [
{
"booking_external_reference": "BOOKING_EXTERNALREF123",
"booking_status": "BOOKING_RESERVED",
"booking_version": 1,
"booking_voucher_released": true,
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_valid_until": "2025-06-29T22:27:44.065Z",
"booking_language": "en",
"booking_addon_reference": "BOOKING_ADDON_REFERENCE_123",
"booking_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"booking_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"booking_customer_url": "https://customer.prioticket.com/orders/ORDRREF123456",
"booking_voucher_url": "https://emails.prioticket.com",
"booking_created": "2025-06-29T22:27:44.065Z",
"booking_modified": "2025-06-29T22:27:44.065Z",
"booking_confirmed": "2025-06-29T22:27:44.065Z",
"booking_cancelled": "2025-06-29T22:27:44.065Z",
"booking_cancellation_reason": "Payment declined",
"product_id": "PRODUCT_ID_123",
"product_relation_id": "MAIN_PRODUCT_ID_123",
"product_pickup_point_id": "PICKUP_POINT_ID_123",
"product_pickup_point": {
"pickup_point_id": "PICKUP_POINT_ID_123",
"pickup_point_name": "Walkingtour at the Wyndham Apollo Hotel",
"pickup_point_type": "FIXED",
"pickup_point_description": "Meet at the Wyndham Apollo hotel.",
"pickup_point_location": "LOCATION_ID_123",
"pickup_point_time": "10:00",
"pickup_point_times": [
"10:00"
],
"pickup_point_duration": 30,
"pickup_point_availability_dependency": false
},
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_supplier_admin_id": "PRODUCT_SUPPLIER_ADMIN_ID",
"product_supplier_admin_name": "Supplier Admin Name",
"product_market_admin_id": "345345342",
"product_market_admin_name": "Market Admin Name",
"product_source_id": "34564574",
"product_source_name": "Prioticket",
"product_entry_notes": "Reconfirmation: Please call or email atleast 72 hour in advance to reconfirm your arrival.",
"product_admission_type": "TIME_PERIOD",
"product_class": "STANDARD",
"product_currency_code": "USD",
"product_cancellation_allowed": true,
"product_combi_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"product_type_code_supplier_reference": "text",
"product_type_transaction_id": "159118380521834001",
"product_type_status": "CONFIRMED",
"product_type_redemption_status": "REDEEMED",
"product_type_payment_status": "PAID",
"product_type_redemption_date_time": "2025-06-29T22:27:44.065Z",
"product_type_redemption_user_name": "text",
"product_type_redemption_user_email": "[email protected]",
"product_type_pass_details": {
"pass_code": "text",
"pass_duration": {
"pass_duration_start": "2018-06-26T12:08:47Z",
"pass_duration_end": "2018-06-26T12:08:47Z",
"pass_duration_total": 86400,
"pass_duration_remaining": 3600
},
"pass_redemptions": [
{
"pass_redemption_date_time": "2025-06-29T22:27:44.065Z",
"pass_redemption_user_name": "text",
"pass_redemption_user_email": "[email protected]"
}
]
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123",
"product_code": "1539762088951995",
"product_code_settings": {
"product_code_format": "QR_CODE",
"product_code_source": "PRIO",
"product_group_code": true,
"product_combi_code": true,
"product_city_card": false,
"product_voucher_settings": "SINGLE"
},
"booking_supplier_reference": "BOOKING_SUPPLIER_REFERENCE_123"
}
],
"product_bundle_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"product_type_code_supplier_reference": "text",
"product_type_transaction_id": "159118380521834001",
"product_type_status": "CONFIRMED",
"product_type_redemption_status": "REDEEMED",
"product_type_payment_status": "PAID",
"product_type_redemption_date_time": "2025-06-29T22:27:44.065Z",
"product_type_redemption_user_name": "text",
"product_type_redemption_user_email": "[email protected]",
"product_type_pass_details": {
"pass_code": "text",
"pass_duration": {
"pass_duration_start": "2018-06-26T12:08:47Z",
"pass_duration_end": "2018-06-26T12:08:47Z",
"pass_duration_total": 86400,
"pass_duration_remaining": 3600
},
"pass_redemptions": [
{
"pass_redemption_date_time": "2025-06-29T22:27:44.065Z",
"pass_redemption_user_name": "text",
"pass_redemption_user_email": "[email protected]"
}
]
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123",
"product_code": "1539762088951995",
"product_code_settings": {
"product_code_format": "QR_CODE",
"product_code_source": "PRIO",
"product_group_code": true,
"product_combi_code": true,
"product_city_card": false,
"product_voucher_settings": "SINGLE"
},
"booking_supplier_reference": "BOOKING_SUPPLIER_REFERENCE_123"
}
],
"product_addon_details": [
{
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_order_reference": "BOOKING_ORDER_REFERENCE",
"booking_reference": "BOOKING_REF123",
"booking_status": "BOOKING_RESERVED"
}
],
"product_code": "1539762088951995",
"product_code_settings": {
"product_code_format": "QR_CODE",
"product_code_source": "PRIO",
"product_group_code": true,
"product_combi_code": true,
"product_city_card": false,
"product_voucher_settings": "SINGLE"
},
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"product_type_code_supplier_reference": "text",
"product_type_transaction_id": "159118380521834001",
"product_type_status": "CONFIRMED",
"product_type_redemption_status": "REDEEMED",
"product_type_payment_status": "PAID",
"product_type_redemption_date_time": "2025-06-29T22:27:44.065Z",
"product_type_redemption_user_name": "text",
"product_type_redemption_user_email": "[email protected]",
"product_type_pass_details": {
"pass_code": "text",
"pass_duration": {
"pass_duration_start": "2018-06-26T12:08:47Z",
"pass_duration_end": "2018-06-26T12:08:47Z",
"pass_duration_total": 86400,
"pass_duration_remaining": 3600
},
"pass_redemptions": [
{
"pass_redemption_date_time": "2025-06-29T22:27:44.065Z",
"pass_redemption_user_name": "text",
"pass_redemption_user_email": "[email protected]"
}
]
}
}
],
"product_cancellation_policies": [
{
"cancellation_description": "Please cancel any booking 1 hour in advance.",
"cancellation_type": "TRAVEL_DATE",
"cancellation_fee_threshold": 3600,
"cancellation_fee_percentage": 20.5,
"cancellation_fee_amount": "5.00"
}
],
"booking_reference": "BOOKING_REFERENCE_123",
"booking_supplier_reference": "BOOKING_SUPPLIER_REFERENCE_123"
}
]
}
}
}
This API is called to get order details and status.
A unique identifier got in response of booking API.
ORDRREF123456
Order Version / Revision number. By default the latest revision will be returned.
If set, the cache
value will be ignored.
1
[CACHE] Whether the results should be loaded from the caching server. This will significantly improve performance and disabling this functionality is not recommended.
true
Example: true
GET /v3.8/distributor/orders/{order_reference} HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"order": {
"order_platform_id": "1",
"order_platform_name": "Platform Name",
"order_reseller_id": "1300",
"order_reseller_name": "Demo reseller",
"order_distributor_id": "501",
"order_distributor_name": "Demo Distributor",
"order_merchant_id": "55201",
"order_merchant_name": "Demo Merchant",
"order_partner_id": "4534543543",
"order_partner_name": "Partner Name",
"order_reference": "ORDRREF123456",
"order_external_reference": "EXTERNALREF123",
"order_status": "ORDER_CONFIRMED",
"order_settlement_type": "EXTERNAL",
"order_channel": "PARTNER",
"order_language": "en",
"order_version": 1,
"order_contacts": [
{
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
}
],
"order_promocodes": [
{
"promo_title": "Christmas Sale 2019",
"promo_description": "20 percent discount during the Christmas days.",
"promo_code": "PROMOCODE_123"
}
],
"order_payments": [
{
"payment_id": "f44226c0-e142-11ea-86d2-83036af9991e",
"payment_original_id": "de1829d0-e144-11ea-bc09-f935c77bef95",
"payment_partner_id": "PAYMENT_PARTNER_ID",
"payment_merchant_reference": "1478349849927_771663371",
"payment_external_reference": "SHOPPER_REFERENCE",
"payment_order_reference": "ORDRREF123456",
"payment_booking_references": [
"BKNGREF123456"
],
"payment_order_version": 2,
"payment_status": "PAID",
"payment_method": "EXTERNAL",
"payment_scheme": "VISA",
"payment_type": "CAPTURE",
"payment_link": "https://customer.prioticket.com/s?q=K0U2VmVNRGo0SEhGdFVUZ09IK2ViZkdtK1NjPQ==",
"payment_link_expires_at": "2025-06-29T22:27:44.065Z",
"payment_recurring": false,
"payment_recurring_type": "STORE",
"payment_refund_type": "SYSTEM",
"payment_refund_reason": "Guest reimbursement",
"payment_currency_code": "EUR",
"payment_currency_rate": "2.5263",
"payment_currency_amount": "10.25",
"payment_amount": "10.00",
"payment_total": "100.00",
"payment_gateway_details": {
"payment_merchant_account_name": "PrioticketECOM",
"payment_service_provider_reference": "852596799876396F",
"payment_service_provider_original_reference": "882596799845511E",
"payment_gateway_type": "ADYEN",
"payment_gateway_additional_values": {
"psp_shopper_name": "Checkout Shopper PlaceHolder",
"psp_shopper_cardnumber": "1111",
"psp_issuer_country": "NL",
"psp_fraudscore": "63",
"psp_payment_status": "Settled"
}
},
"payment_contact": {
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
},
"payment_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"payment_created": "2025-06-29T22:27:44.065Z",
"payment_created_name": "Cashier Name",
"payment_created_email": "[email protected]"
}
],
"order_checkout_fields": [
{
"checkout_field_id": "CHECKOUT_FIELD_ID",
"checkout_field_title": "First Name",
"checkout_field_label": "Please provide your first name",
"checkout_field_place_holder": "Some text",
"checkout_field_help_text": "Custom Field",
"checkout_field_account_type": "DISTRIBUTOR",
"checkout_field_booking_reference": [
"text"
],
"checkout_field_restriction": "REQUIRED",
"checkout_field_level": "PRODUCT",
"checkout_field_unit": "text",
"checkout_field_input_type": "SINGLE",
"checkout_field_type": "contact_title",
"checkout_field_options": [
"AIR",
"RAIL",
"SEA",
"OTHER"
],
"checkout_field_values": [
{
"checkout_field_value_product_type": "ADULT",
"checkout_field_value": [
"AIR"
],
"checkout_field_value_transaction_reference": "TRANSACTION_REFERENCE"
}
],
"checkout_field_created": "2025-06-29T22:27:44.065Z"
}
],
"order_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"order_options": {
"email_options": {
"email_types": {
"send_tickets": false
}
}
},
"order_flags": [
{
"flag_id": "223425262",
"flag_name": "Stock Code",
"flag_type": "FLAG",
"flag_value_id": "123BCa1",
"flag_value": "123BCa1"
}
],
"order_event_details": [
{
"event_order_version": 2,
"event_note": "Change of timeslot on request of customer.",
"event_type": "ORDER_CREATE",
"event_created": "2025-06-29T22:27:44.065Z",
"event_creator_user_name": "Andrew",
"event_creator_user_email": "[email protected]",
"event_creator_user_role": "Supervisor"
}
],
"order_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"order_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"order_activity_url": "https://activity.prioticket.com/orders/ORDRREF123456",
"order_customer_url": "https://customer.prioticket.com/orders/ORDRREF123456",
"order_voucher_url": "https://emails.prioticket.com",
"order_created": "2025-06-29T22:27:44.065Z",
"order_created_name": "Demo Cashier",
"order_created_email": "[email protected]",
"order_modified": "2025-06-29T22:27:44.065Z",
"order_modified_name": "Demo Cashier",
"order_modified_email": "[email protected]",
"order_cancellation_date_time": "2025-06-29T22:27:44.065Z",
"order_cancellation_reason": "Payment declined",
"order_bookings": [
{
"booking_external_reference": "BOOKING_EXTERNALREF123",
"booking_status": "BOOKING_RESERVED",
"booking_version": 1,
"booking_voucher_released": true,
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_valid_until": "2025-06-29T22:27:44.065Z",
"booking_language": "en",
"booking_addon_reference": "BOOKING_ADDON_REFERENCE_123",
"booking_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"booking_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"booking_customer_url": "https://customer.prioticket.com/orders/ORDRREF123456",
"booking_voucher_url": "https://emails.prioticket.com",
"booking_created": "2025-06-29T22:27:44.065Z",
"booking_modified": "2025-06-29T22:27:44.065Z",
"booking_confirmed": "2025-06-29T22:27:44.065Z",
"booking_cancelled": "2025-06-29T22:27:44.065Z",
"booking_cancellation_reason": "Payment declined",
"product_id": "PRODUCT_ID_123",
"product_relation_id": "MAIN_PRODUCT_ID_123",
"product_pickup_point_id": "PICKUP_POINT_ID_123",
"product_pickup_point": {
"pickup_point_id": "PICKUP_POINT_ID_123",
"pickup_point_name": "Walkingtour at the Wyndham Apollo Hotel",
"pickup_point_type": "FIXED",
"pickup_point_description": "Meet at the Wyndham Apollo hotel.",
"pickup_point_location": "LOCATION_ID_123",
"pickup_point_time": "10:00",
"pickup_point_times": [
"10:00"
],
"pickup_point_duration": 30,
"pickup_point_availability_dependency": false
},
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_supplier_admin_id": "PRODUCT_SUPPLIER_ADMIN_ID",
"product_supplier_admin_name": "Supplier Admin Name",
"product_market_admin_id": "345345342",
"product_market_admin_name": "Market Admin Name",
"product_source_id": "34564574",
"product_source_name": "Prioticket",
"product_entry_notes": "Reconfirmation: Please call or email atleast 72 hour in advance to reconfirm your arrival.",
"product_admission_type": "TIME_PERIOD",
"product_class": "STANDARD",
"product_currency_code": "USD",
"product_cancellation_allowed": true,
"product_combi_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"product_type_code_supplier_reference": "text",
"product_type_transaction_id": "159118380521834001",
"product_type_status": "CONFIRMED",
"product_type_redemption_status": "REDEEMED",
"product_type_payment_status": "PAID",
"product_type_redemption_date_time": "2025-06-29T22:27:44.065Z",
"product_type_redemption_user_name": "text",
"product_type_redemption_user_email": "[email protected]",
"product_type_pass_details": {
"pass_code": "text",
"pass_duration": {
"pass_duration_start": "2018-06-26T12:08:47Z",
"pass_duration_end": "2018-06-26T12:08:47Z",
"pass_duration_total": 86400,
"pass_duration_remaining": 3600
},
"pass_redemptions": [
{
"pass_redemption_date_time": "2025-06-29T22:27:44.065Z",
"pass_redemption_user_name": "text",
"pass_redemption_user_email": "[email protected]"
}
]
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123",
"product_code": "1539762088951995",
"product_code_settings": {
"product_code_format": "QR_CODE",
"product_code_source": "PRIO",
"product_group_code": true,
"product_combi_code": true,
"product_city_card": false,
"product_voucher_settings": "SINGLE"
},
"booking_supplier_reference": "BOOKING_SUPPLIER_REFERENCE_123"
}
],
"product_bundle_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"product_type_code_supplier_reference": "text",
"product_type_transaction_id": "159118380521834001",
"product_type_status": "CONFIRMED",
"product_type_redemption_status": "REDEEMED",
"product_type_payment_status": "PAID",
"product_type_redemption_date_time": "2025-06-29T22:27:44.065Z",
"product_type_redemption_user_name": "text",
"product_type_redemption_user_email": "[email protected]",
"product_type_pass_details": {
"pass_code": "text",
"pass_duration": {
"pass_duration_start": "2018-06-26T12:08:47Z",
"pass_duration_end": "2018-06-26T12:08:47Z",
"pass_duration_total": 86400,
"pass_duration_remaining": 3600
},
"pass_redemptions": [
{
"pass_redemption_date_time": "2025-06-29T22:27:44.065Z",
"pass_redemption_user_name": "text",
"pass_redemption_user_email": "[email protected]"
}
]
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123",
"product_code": "1539762088951995",
"product_code_settings": {
"product_code_format": "QR_CODE",
"product_code_source": "PRIO",
"product_group_code": true,
"product_combi_code": true,
"product_city_card": false,
"product_voucher_settings": "SINGLE"
},
"booking_supplier_reference": "BOOKING_SUPPLIER_REFERENCE_123"
}
],
"product_addon_details": [
{
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_order_reference": "BOOKING_ORDER_REFERENCE",
"booking_reference": "BOOKING_REF123",
"booking_status": "BOOKING_RESERVED"
}
],
"product_code": "1539762088951995",
"product_code_settings": {
"product_code_format": "QR_CODE",
"product_code_source": "PRIO",
"product_group_code": true,
"product_combi_code": true,
"product_city_card": false,
"product_voucher_settings": "SINGLE"
},
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"product_type_code_supplier_reference": "text",
"product_type_transaction_id": "159118380521834001",
"product_type_status": "CONFIRMED",
"product_type_redemption_status": "REDEEMED",
"product_type_payment_status": "PAID",
"product_type_redemption_date_time": "2025-06-29T22:27:44.065Z",
"product_type_redemption_user_name": "text",
"product_type_redemption_user_email": "[email protected]",
"product_type_pass_details": {
"pass_code": "text",
"pass_duration": {
"pass_duration_start": "2018-06-26T12:08:47Z",
"pass_duration_end": "2018-06-26T12:08:47Z",
"pass_duration_total": 86400,
"pass_duration_remaining": 3600
},
"pass_redemptions": [
{
"pass_redemption_date_time": "2025-06-29T22:27:44.065Z",
"pass_redemption_user_name": "text",
"pass_redemption_user_email": "[email protected]"
}
]
}
}
],
"product_cancellation_policies": [
{
"cancellation_description": "Please cancel any booking 1 hour in advance.",
"cancellation_type": "TRAVEL_DATE",
"cancellation_fee_threshold": 3600,
"cancellation_fee_percentage": 20.5,
"cancellation_fee_amount": "5.00"
}
],
"booking_reference": "BOOKING_REFERENCE_123",
"booking_supplier_reference": "BOOKING_SUPPLIER_REFERENCE_123"
}
]
}
}
}
This API is called to update an order or booking. Regular users should only update basic order details such as contact information. For requesting other timeslots or changing the booking count, we recommend that you cancel the current order and rebook.
Make sure that you provide the complete top-level order object and that all original fields with either the current or amended values (e.g.
order_distributor_id
,order_external_reference
, allorder_contacts
etc) are sent, missing (optional) fields will be removed from our records. Note that the opposite is true fororder_bookings
, only the bookings you would like to amend should be provided (see advanced functionality below).
A unique identifier got in response of booking API.
ORDRREF123456
The system will adjust the price, either increasing it (AMENDMENT_DISCOUNT) or decreasing it (AMENDMENT_SURCHARGE). When set to false the price will not be adjusted and a pending payment record will be inserted.
false
Example: false
Whether to solely allocate the price adjustment to the reseller.
false
Example: false
The system will not process the order, instead it will return a preview of the requested amendment allowing for review.
false
Example: false
Request for updating / amending an existing order.
Represents the version of the service API that's served in the response.
3.8.0
PUT /v3.8/distributor/orders/{order_reference} HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 5090
{
"data": {
"order": {
"order_distributor_id": "501",
"order_merchant_id": "55201",
"order_merchant_name": "Demo Merchant",
"order_partner_id": "4534543543",
"order_external_reference": "EXTERNALREF123",
"order_settlement_type": "EXTERNAL",
"order_language": "en",
"order_contacts": [
{
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
]
}
],
"order_checkout_fields": [
{
"checkout_field_id": "CHECKOUT_FIELD_ID",
"checkout_field_booking_reference": [
"text"
],
"checkout_field_unit": "text",
"checkout_field_options": [
"AIR",
"RAIL",
"SEA",
"OTHER"
],
"checkout_field_values": [
{
"checkout_field_value_product_type": "ADULT",
"checkout_field_value": [
"AIR"
],
"checkout_field_value_transaction_reference": "TRANSACTION_REFERENCE"
}
]
}
],
"order_pricing": {
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
]
},
"order_options": {
"email_options": {
"email_types": {
"send_tickets": false
}
}
},
"order_flags": [
{
"flag_id": "223425262",
"flag_name": "Stock Code",
"flag_type": "FLAG",
"flag_value_id": "123BCa1",
"flag_value": "123BCa1"
}
],
"order_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"order_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR"
}
],
"order_bookings": [
{
"booking_option_type": "DIRECT_BOOKING",
"booking_external_reference": "BOOKING_EXTERNALREF123",
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_language": "en",
"booking_addon_reference": "BOOKING_ADDON_REFERENCE_123",
"booking_pricing": {
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
]
},
"booking_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR"
}
],
"product_id": "PRODUCT_ID_123",
"product_relation_id": "MAIN_PRODUCT_ID_123",
"product_pickup_point_id": "PICKUP_POINT_ID_123",
"product_pickup_point": {
"pickup_point_id": "PICKUP_POINT_ID_123",
"pickup_point_type": "FIXED",
"pickup_point_time": "10:00",
"pickup_point_times": [
"10:00"
]
},
"product_availability_id": "20191026090010006526",
"product_combi_details": [
{
"product_id": "PRODUCT_COMBI_ID_123",
"product_availability_id": "20191026090010006526",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_count": 1,
"product_type_spots": [
{
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
]
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_external_reference": "BOOKING_EXTERNALREF123"
}
],
"product_bundle_details": [
{
"product_id": "PRODUCT_COMBI_ID_123",
"product_availability_id": "20191026090010006526",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_count": 1,
"product_type_spots": [
{
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
]
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_external_reference": "BOOKING_EXTERNALREF123"
}
],
"product_type_details": [
{
"product_type": "ADULT",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_count": 1,
"product_type_spots": [
{
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
]
}
}
],
"booking_reference": "BOOKING_REFERENCE_123"
}
]
}
}
}
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"order": {
"order_platform_id": "1",
"order_platform_name": "Platform Name",
"order_reseller_id": "1300",
"order_reseller_name": "Demo reseller",
"order_distributor_id": "501",
"order_distributor_name": "Demo Distributor",
"order_merchant_id": "55201",
"order_merchant_name": "Demo Merchant",
"order_partner_id": "4534543543",
"order_partner_name": "Partner Name",
"order_reference": "ORDRREF123456",
"order_external_reference": "EXTERNALREF123",
"order_status": "ORDER_CONFIRMED",
"order_settlement_type": "EXTERNAL",
"order_channel": "PARTNER",
"order_language": "en",
"order_version": 1,
"order_contacts": [
{
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
}
],
"order_promocodes": [
{
"promo_title": "Christmas Sale 2019",
"promo_description": "20 percent discount during the Christmas days.",
"promo_code": "PROMOCODE_123"
}
],
"order_payments": [
{
"payment_id": "f44226c0-e142-11ea-86d2-83036af9991e",
"payment_original_id": "de1829d0-e144-11ea-bc09-f935c77bef95",
"payment_partner_id": "PAYMENT_PARTNER_ID",
"payment_merchant_reference": "1478349849927_771663371",
"payment_external_reference": "SHOPPER_REFERENCE",
"payment_order_reference": "ORDRREF123456",
"payment_booking_references": [
"BKNGREF123456"
],
"payment_order_version": 2,
"payment_status": "PAID",
"payment_method": "EXTERNAL",
"payment_scheme": "VISA",
"payment_type": "CAPTURE",
"payment_link": "https://customer.prioticket.com/s?q=K0U2VmVNRGo0SEhGdFVUZ09IK2ViZkdtK1NjPQ==",
"payment_link_expires_at": "2025-06-29T22:27:44.065Z",
"payment_recurring": false,
"payment_recurring_type": "STORE",
"payment_refund_type": "SYSTEM",
"payment_refund_reason": "Guest reimbursement",
"payment_currency_code": "EUR",
"payment_currency_rate": "2.5263",
"payment_currency_amount": "10.25",
"payment_amount": "10.00",
"payment_total": "100.00",
"payment_gateway_details": {
"payment_merchant_account_name": "PrioticketECOM",
"payment_service_provider_reference": "852596799876396F",
"payment_service_provider_original_reference": "882596799845511E",
"payment_gateway_type": "ADYEN",
"payment_gateway_additional_values": {
"psp_shopper_name": "Checkout Shopper PlaceHolder",
"psp_shopper_cardnumber": "1111",
"psp_issuer_country": "NL",
"psp_fraudscore": "63",
"psp_payment_status": "Settled"
}
},
"payment_contact": {
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
},
"payment_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"payment_created": "2025-06-29T22:27:44.065Z",
"payment_created_name": "Cashier Name",
"payment_created_email": "[email protected]"
}
],
"order_checkout_fields": [
{
"checkout_field_id": "CHECKOUT_FIELD_ID",
"checkout_field_title": "First Name",
"checkout_field_label": "Please provide your first name",
"checkout_field_place_holder": "Some text",
"checkout_field_help_text": "Custom Field",
"checkout_field_account_type": "DISTRIBUTOR",
"checkout_field_booking_reference": [
"text"
],
"checkout_field_restriction": "REQUIRED",
"checkout_field_level": "PRODUCT",
"checkout_field_unit": "text",
"checkout_field_input_type": "SINGLE",
"checkout_field_type": "contact_title",
"checkout_field_options": [
"AIR",
"RAIL",
"SEA",
"OTHER"
],
"checkout_field_values": [
{
"checkout_field_value_product_type": "ADULT",
"checkout_field_value": [
"AIR"
],
"checkout_field_value_transaction_reference": "TRANSACTION_REFERENCE"
}
],
"checkout_field_created": "2025-06-29T22:27:44.065Z"
}
],
"order_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"order_options": {
"email_options": {
"email_types": {
"send_tickets": false
}
}
},
"order_flags": [
{
"flag_id": "223425262",
"flag_name": "Stock Code",
"flag_type": "FLAG",
"flag_value_id": "123BCa1",
"flag_value": "123BCa1"
}
],
"order_event_details": [
{
"event_order_version": 2,
"event_note": "Change of timeslot on request of customer.",
"event_type": "ORDER_CREATE",
"event_created": "2025-06-29T22:27:44.065Z",
"event_creator_user_name": "Andrew",
"event_creator_user_email": "[email protected]",
"event_creator_user_role": "Supervisor"
}
],
"order_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"order_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"order_activity_url": "https://activity.prioticket.com/orders/ORDRREF123456",
"order_customer_url": "https://customer.prioticket.com/orders/ORDRREF123456",
"order_voucher_url": "https://emails.prioticket.com",
"order_created": "2025-06-29T22:27:44.065Z",
"order_created_name": "Demo Cashier",
"order_created_email": "[email protected]",
"order_modified": "2025-06-29T22:27:44.065Z",
"order_modified_name": "Demo Cashier",
"order_modified_email": "[email protected]",
"order_cancellation_date_time": "2025-06-29T22:27:44.065Z",
"order_cancellation_reason": "Payment declined",
"order_bookings": [
{
"booking_external_reference": "BOOKING_EXTERNALREF123",
"booking_status": "BOOKING_RESERVED",
"booking_version": 1,
"booking_voucher_released": true,
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_valid_until": "2025-06-29T22:27:44.065Z",
"booking_language": "en",
"booking_addon_reference": "BOOKING_ADDON_REFERENCE_123",
"booking_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"booking_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"booking_customer_url": "https://customer.prioticket.com/orders/ORDRREF123456",
"booking_voucher_url": "https://emails.prioticket.com",
"booking_created": "2025-06-29T22:27:44.065Z",
"booking_modified": "2025-06-29T22:27:44.065Z",
"booking_confirmed": "2025-06-29T22:27:44.065Z",
"booking_cancelled": "2025-06-29T22:27:44.065Z",
"booking_cancellation_reason": "Payment declined",
"product_id": "PRODUCT_ID_123",
"product_relation_id": "MAIN_PRODUCT_ID_123",
"product_pickup_point_id": "PICKUP_POINT_ID_123",
"product_pickup_point": {
"pickup_point_id": "PICKUP_POINT_ID_123",
"pickup_point_name": "Walkingtour at the Wyndham Apollo Hotel",
"pickup_point_type": "FIXED",
"pickup_point_description": "Meet at the Wyndham Apollo hotel.",
"pickup_point_location": "LOCATION_ID_123",
"pickup_point_time": "10:00",
"pickup_point_times": [
"10:00"
],
"pickup_point_duration": 30,
"pickup_point_availability_dependency": false
},
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_supplier_admin_id": "PRODUCT_SUPPLIER_ADMIN_ID",
"product_supplier_admin_name": "Supplier Admin Name",
"product_market_admin_id": "345345342",
"product_market_admin_name": "Market Admin Name",
"product_source_id": "34564574",
"product_source_name": "Prioticket",
"product_entry_notes": "Reconfirmation: Please call or email atleast 72 hour in advance to reconfirm your arrival.",
"product_admission_type": "TIME_PERIOD",
"product_class": "STANDARD",
"product_currency_code": "USD",
"product_cancellation_allowed": true,
"product_combi_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"product_type_code_supplier_reference": "text",
"product_type_transaction_id": "159118380521834001",
"product_type_status": "CONFIRMED",
"product_type_redemption_status": "REDEEMED",
"product_type_payment_status": "PAID",
"product_type_redemption_date_time": "2025-06-29T22:27:44.065Z",
"product_type_redemption_user_name": "text",
"product_type_redemption_user_email": "[email protected]",
"product_type_pass_details": {
"pass_code": "text",
"pass_duration": {
"pass_duration_start": "2018-06-26T12:08:47Z",
"pass_duration_end": "2018-06-26T12:08:47Z",
"pass_duration_total": 86400,
"pass_duration_remaining": 3600
},
"pass_redemptions": [
{
"pass_redemption_date_time": "2025-06-29T22:27:44.065Z",
"pass_redemption_user_name": "text",
"pass_redemption_user_email": "[email protected]"
}
]
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123",
"product_code": "1539762088951995",
"product_code_settings": {
"product_code_format": "QR_CODE",
"product_code_source": "PRIO",
"product_group_code": true,
"product_combi_code": true,
"product_city_card": false,
"product_voucher_settings": "SINGLE"
},
"booking_supplier_reference": "BOOKING_SUPPLIER_REFERENCE_123"
}
],
"product_bundle_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"product_type_code_supplier_reference": "text",
"product_type_transaction_id": "159118380521834001",
"product_type_status": "CONFIRMED",
"product_type_redemption_status": "REDEEMED",
"product_type_payment_status": "PAID",
"product_type_redemption_date_time": "2025-06-29T22:27:44.065Z",
"product_type_redemption_user_name": "text",
"product_type_redemption_user_email": "[email protected]",
"product_type_pass_details": {
"pass_code": "text",
"pass_duration": {
"pass_duration_start": "2018-06-26T12:08:47Z",
"pass_duration_end": "2018-06-26T12:08:47Z",
"pass_duration_total": 86400,
"pass_duration_remaining": 3600
},
"pass_redemptions": [
{
"pass_redemption_date_time": "2025-06-29T22:27:44.065Z",
"pass_redemption_user_name": "text",
"pass_redemption_user_email": "[email protected]"
}
]
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123",
"product_code": "1539762088951995",
"product_code_settings": {
"product_code_format": "QR_CODE",
"product_code_source": "PRIO",
"product_group_code": true,
"product_combi_code": true,
"product_city_card": false,
"product_voucher_settings": "SINGLE"
},
"booking_supplier_reference": "BOOKING_SUPPLIER_REFERENCE_123"
}
],
"product_addon_details": [
{
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_order_reference": "BOOKING_ORDER_REFERENCE",
"booking_reference": "BOOKING_REF123",
"booking_status": "BOOKING_RESERVED"
}
],
"product_code": "1539762088951995",
"product_code_settings": {
"product_code_format": "QR_CODE",
"product_code_source": "PRIO",
"product_group_code": true,
"product_combi_code": true,
"product_city_card": false,
"product_voucher_settings": "SINGLE"
},
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"product_type_code_supplier_reference": "text",
"product_type_transaction_id": "159118380521834001",
"product_type_status": "CONFIRMED",
"product_type_redemption_status": "REDEEMED",
"product_type_payment_status": "PAID",
"product_type_redemption_date_time": "2025-06-29T22:27:44.065Z",
"product_type_redemption_user_name": "text",
"product_type_redemption_user_email": "[email protected]",
"product_type_pass_details": {
"pass_code": "text",
"pass_duration": {
"pass_duration_start": "2018-06-26T12:08:47Z",
"pass_duration_end": "2018-06-26T12:08:47Z",
"pass_duration_total": 86400,
"pass_duration_remaining": 3600
},
"pass_redemptions": [
{
"pass_redemption_date_time": "2025-06-29T22:27:44.065Z",
"pass_redemption_user_name": "text",
"pass_redemption_user_email": "[email protected]"
}
]
}
}
],
"product_cancellation_policies": [
{
"cancellation_description": "Please cancel any booking 1 hour in advance.",
"cancellation_type": "TRAVEL_DATE",
"cancellation_fee_threshold": 3600,
"cancellation_fee_percentage": 20.5,
"cancellation_fee_amount": "5.00"
}
],
"booking_reference": "BOOKING_REFERENCE_123",
"booking_supplier_reference": "BOOKING_SUPPLIER_REFERENCE_123"
}
]
}
}
}
This API is called to (partial) cancel an order/ booking. In case of a full cancellation, you are no longer able to amend the order. Otherwise, the updated order will be returned.
Again, to avoid mismatches and validate a correct implementation, make sure you compare the returned order_pricing.price_total
.
When cancelling a booking, it's recommended to provide a valid reason for the cancellation. This is done by including a valid reason in the request.
This API can only be called for bookings with
product_cancellation_allowed:true
. In case your order contains non-cancellable products, a full cancellation will result in an error. You will still be able to do partial-cancellations for those bookings with cancellable products.
Order reference.
ORDRREF123456
[FILTER] In case the booking_reference
is provided, a partial cancellation will be made. Only the specified booking(s) will be cancelled.
["BOOKING_REFERENCE_123"]
[FILTER] (ADVANCED) In case the product_type_transaction_id
is provided, a partial cancellation will be made. Only the specified transaction(s) will be cancelled.
["159118380521834001"]
[INFO] Optional reason for this cancellation.
Payment declined.
[CONFIG] Whether the guest payment should be refunded. In case the order is partially cancelled, the amount will be partially refunded as well. If multiple payments are made (split-payment) then all linked payments will be refunded. This value will be ignored in case no payment is made.
For more flexible refunds you could use the Cancel / Refund Payment API instead.
true
Example: true
[CONFIG] If the third-party system does not permit order cancellations, you can still cancel the order within the Prioticket system. However, please be aware that this may result in a discrepancy between the systems. Use this option with caution.
false
Example: false
DELETE /v3.8/distributor/orders/{order_reference} HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"order": {
"order_platform_id": "1",
"order_platform_name": "Platform Name",
"order_reseller_id": "1300",
"order_reseller_name": "Demo reseller",
"order_distributor_id": "501",
"order_distributor_name": "Demo Distributor",
"order_merchant_id": "55201",
"order_merchant_name": "Demo Merchant",
"order_partner_id": "4534543543",
"order_partner_name": "Partner Name",
"order_reference": "ORDRREF123456",
"order_external_reference": "EXTERNALREF123",
"order_status": "ORDER_CONFIRMED",
"order_settlement_type": "EXTERNAL",
"order_channel": "PARTNER",
"order_language": "en",
"order_version": 1,
"order_contacts": [
{
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
}
],
"order_promocodes": [
{
"promo_title": "Christmas Sale 2019",
"promo_description": "20 percent discount during the Christmas days.",
"promo_code": "PROMOCODE_123"
}
],
"order_payments": [
{
"payment_id": "f44226c0-e142-11ea-86d2-83036af9991e",
"payment_original_id": "de1829d0-e144-11ea-bc09-f935c77bef95",
"payment_partner_id": "PAYMENT_PARTNER_ID",
"payment_merchant_reference": "1478349849927_771663371",
"payment_external_reference": "SHOPPER_REFERENCE",
"payment_order_reference": "ORDRREF123456",
"payment_booking_references": [
"BKNGREF123456"
],
"payment_order_version": 2,
"payment_status": "PAID",
"payment_method": "EXTERNAL",
"payment_scheme": "VISA",
"payment_type": "CAPTURE",
"payment_link": "https://customer.prioticket.com/s?q=K0U2VmVNRGo0SEhGdFVUZ09IK2ViZkdtK1NjPQ==",
"payment_link_expires_at": "2025-06-29T22:27:44.065Z",
"payment_recurring": false,
"payment_recurring_type": "STORE",
"payment_refund_type": "SYSTEM",
"payment_refund_reason": "Guest reimbursement",
"payment_currency_code": "EUR",
"payment_currency_rate": "2.5263",
"payment_currency_amount": "10.25",
"payment_amount": "10.00",
"payment_total": "100.00",
"payment_gateway_details": {
"payment_merchant_account_name": "PrioticketECOM",
"payment_service_provider_reference": "852596799876396F",
"payment_service_provider_original_reference": "882596799845511E",
"payment_gateway_type": "ADYEN",
"payment_gateway_additional_values": {
"psp_shopper_name": "Checkout Shopper PlaceHolder",
"psp_shopper_cardnumber": "1111",
"psp_issuer_country": "NL",
"psp_fraudscore": "63",
"psp_payment_status": "Settled"
}
},
"payment_contact": {
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
},
"payment_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"payment_created": "2025-06-29T22:27:44.065Z",
"payment_created_name": "Cashier Name",
"payment_created_email": "[email protected]"
}
],
"order_checkout_fields": [
{
"checkout_field_id": "CHECKOUT_FIELD_ID",
"checkout_field_title": "First Name",
"checkout_field_label": "Please provide your first name",
"checkout_field_place_holder": "Some text",
"checkout_field_help_text": "Custom Field",
"checkout_field_account_type": "DISTRIBUTOR",
"checkout_field_booking_reference": [
"text"
],
"checkout_field_restriction": "REQUIRED",
"checkout_field_level": "PRODUCT",
"checkout_field_unit": "text",
"checkout_field_input_type": "SINGLE",
"checkout_field_type": "contact_title",
"checkout_field_options": [
"AIR",
"RAIL",
"SEA",
"OTHER"
],
"checkout_field_values": [
{
"checkout_field_value_product_type": "ADULT",
"checkout_field_value": [
"AIR"
],
"checkout_field_value_transaction_reference": "TRANSACTION_REFERENCE"
}
],
"checkout_field_created": "2025-06-29T22:27:44.065Z"
}
],
"order_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"order_options": {
"email_options": {
"email_types": {
"send_tickets": false
}
}
},
"order_flags": [
{
"flag_id": "223425262",
"flag_name": "Stock Code",
"flag_type": "FLAG",
"flag_value_id": "123BCa1",
"flag_value": "123BCa1"
}
],
"order_event_details": [
{
"event_order_version": 2,
"event_note": "Change of timeslot on request of customer.",
"event_type": "ORDER_CREATE",
"event_created": "2025-06-29T22:27:44.065Z",
"event_creator_user_name": "Andrew",
"event_creator_user_email": "[email protected]",
"event_creator_user_role": "Supervisor"
}
],
"order_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"order_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"order_activity_url": "https://activity.prioticket.com/orders/ORDRREF123456",
"order_customer_url": "https://customer.prioticket.com/orders/ORDRREF123456",
"order_voucher_url": "https://emails.prioticket.com",
"order_created": "2025-06-29T22:27:44.065Z",
"order_created_name": "Demo Cashier",
"order_created_email": "[email protected]",
"order_modified": "2025-06-29T22:27:44.065Z",
"order_modified_name": "Demo Cashier",
"order_modified_email": "[email protected]",
"order_cancellation_date_time": "2025-06-29T22:27:44.065Z",
"order_cancellation_reason": "Payment declined",
"order_bookings": [
{
"booking_external_reference": "BOOKING_EXTERNALREF123",
"booking_status": "BOOKING_RESERVED",
"booking_version": 1,
"booking_voucher_released": true,
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_valid_until": "2025-06-29T22:27:44.065Z",
"booking_language": "en",
"booking_addon_reference": "BOOKING_ADDON_REFERENCE_123",
"booking_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"booking_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"booking_customer_url": "https://customer.prioticket.com/orders/ORDRREF123456",
"booking_voucher_url": "https://emails.prioticket.com",
"booking_created": "2025-06-29T22:27:44.065Z",
"booking_modified": "2025-06-29T22:27:44.065Z",
"booking_confirmed": "2025-06-29T22:27:44.065Z",
"booking_cancelled": "2025-06-29T22:27:44.065Z",
"booking_cancellation_reason": "Payment declined",
"product_id": "PRODUCT_ID_123",
"product_relation_id": "MAIN_PRODUCT_ID_123",
"product_pickup_point_id": "PICKUP_POINT_ID_123",
"product_pickup_point": {
"pickup_point_id": "PICKUP_POINT_ID_123",
"pickup_point_name": "Walkingtour at the Wyndham Apollo Hotel",
"pickup_point_type": "FIXED",
"pickup_point_description": "Meet at the Wyndham Apollo hotel.",
"pickup_point_location": "LOCATION_ID_123",
"pickup_point_time": "10:00",
"pickup_point_times": [
"10:00"
],
"pickup_point_duration": 30,
"pickup_point_availability_dependency": false
},
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_supplier_admin_id": "PRODUCT_SUPPLIER_ADMIN_ID",
"product_supplier_admin_name": "Supplier Admin Name",
"product_market_admin_id": "345345342",
"product_market_admin_name": "Market Admin Name",
"product_source_id": "34564574",
"product_source_name": "Prioticket",
"product_entry_notes": "Reconfirmation: Please call or email atleast 72 hour in advance to reconfirm your arrival.",
"product_admission_type": "TIME_PERIOD",
"product_class": "STANDARD",
"product_currency_code": "USD",
"product_cancellation_allowed": true,
"product_combi_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"product_type_code_supplier_reference": "text",
"product_type_transaction_id": "159118380521834001",
"product_type_status": "CONFIRMED",
"product_type_redemption_status": "REDEEMED",
"product_type_payment_status": "PAID",
"product_type_redemption_date_time": "2025-06-29T22:27:44.065Z",
"product_type_redemption_user_name": "text",
"product_type_redemption_user_email": "[email protected]",
"product_type_pass_details": {
"pass_code": "text",
"pass_duration": {
"pass_duration_start": "2018-06-26T12:08:47Z",
"pass_duration_end": "2018-06-26T12:08:47Z",
"pass_duration_total": 86400,
"pass_duration_remaining": 3600
},
"pass_redemptions": [
{
"pass_redemption_date_time": "2025-06-29T22:27:44.065Z",
"pass_redemption_user_name": "text",
"pass_redemption_user_email": "[email protected]"
}
]
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123",
"product_code": "1539762088951995",
"product_code_settings": {
"product_code_format": "QR_CODE",
"product_code_source": "PRIO",
"product_group_code": true,
"product_combi_code": true,
"product_city_card": false,
"product_voucher_settings": "SINGLE"
},
"booking_supplier_reference": "BOOKING_SUPPLIER_REFERENCE_123"
}
],
"product_bundle_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"product_type_code_supplier_reference": "text",
"product_type_transaction_id": "159118380521834001",
"product_type_status": "CONFIRMED",
"product_type_redemption_status": "REDEEMED",
"product_type_payment_status": "PAID",
"product_type_redemption_date_time": "2025-06-29T22:27:44.065Z",
"product_type_redemption_user_name": "text",
"product_type_redemption_user_email": "[email protected]",
"product_type_pass_details": {
"pass_code": "text",
"pass_duration": {
"pass_duration_start": "2018-06-26T12:08:47Z",
"pass_duration_end": "2018-06-26T12:08:47Z",
"pass_duration_total": 86400,
"pass_duration_remaining": 3600
},
"pass_redemptions": [
{
"pass_redemption_date_time": "2025-06-29T22:27:44.065Z",
"pass_redemption_user_name": "text",
"pass_redemption_user_email": "[email protected]"
}
]
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123",
"product_code": "1539762088951995",
"product_code_settings": {
"product_code_format": "QR_CODE",
"product_code_source": "PRIO",
"product_group_code": true,
"product_combi_code": true,
"product_city_card": false,
"product_voucher_settings": "SINGLE"
},
"booking_supplier_reference": "BOOKING_SUPPLIER_REFERENCE_123"
}
],
"product_addon_details": [
{
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_order_reference": "BOOKING_ORDER_REFERENCE",
"booking_reference": "BOOKING_REF123",
"booking_status": "BOOKING_RESERVED"
}
],
"product_code": "1539762088951995",
"product_code_settings": {
"product_code_format": "QR_CODE",
"product_code_source": "PRIO",
"product_group_code": true,
"product_combi_code": true,
"product_city_card": false,
"product_voucher_settings": "SINGLE"
},
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"product_type_code_supplier_reference": "text",
"product_type_transaction_id": "159118380521834001",
"product_type_status": "CONFIRMED",
"product_type_redemption_status": "REDEEMED",
"product_type_payment_status": "PAID",
"product_type_redemption_date_time": "2025-06-29T22:27:44.065Z",
"product_type_redemption_user_name": "text",
"product_type_redemption_user_email": "[email protected]",
"product_type_pass_details": {
"pass_code": "text",
"pass_duration": {
"pass_duration_start": "2018-06-26T12:08:47Z",
"pass_duration_end": "2018-06-26T12:08:47Z",
"pass_duration_total": 86400,
"pass_duration_remaining": 3600
},
"pass_redemptions": [
{
"pass_redemption_date_time": "2025-06-29T22:27:44.065Z",
"pass_redemption_user_name": "text",
"pass_redemption_user_email": "[email protected]"
}
]
}
}
],
"product_cancellation_policies": [
{
"cancellation_description": "Please cancel any booking 1 hour in advance.",
"cancellation_type": "TRAVEL_DATE",
"cancellation_fee_threshold": 3600,
"cancellation_fee_percentage": 20.5,
"cancellation_fee_amount": "5.00"
}
],
"booking_reference": "BOOKING_REFERENCE_123",
"booking_supplier_reference": "BOOKING_SUPPLIER_REFERENCE_123"
}
]
}
}
}
This API is called to de-identify customer information on an order.
This endpoint is making use of pseudonymization which is a de-identification technique that replaces sensitive data values with cryptographically generated tokens. Pseudonymization is widely used in industries like finance and healthcare to help reduce the risk of data in use, narrow compliance scope, and minimize the exposure of sensitive data to systems while preserving data utility and accuracy.
Requests for "right to be forgotten (RTBF)" can be facilitated by this endpoint.
A unique identifier got in response of booking API.
ORDRREF123456
PUT /v3.8/distributor/orders/{order_reference}/deidentify HTTP/1.1
Host: staging-distributor-api.prioticket.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"api_version": "3.8.0",
"data": {
"kind": "location",
"order": {
"order_platform_id": "1",
"order_platform_name": "Platform Name",
"order_reseller_id": "1300",
"order_reseller_name": "Demo reseller",
"order_distributor_id": "501",
"order_distributor_name": "Demo Distributor",
"order_merchant_id": "55201",
"order_merchant_name": "Demo Merchant",
"order_partner_id": "4534543543",
"order_partner_name": "Partner Name",
"order_reference": "ORDRREF123456",
"order_external_reference": "EXTERNALREF123",
"order_status": "ORDER_CONFIRMED",
"order_settlement_type": "EXTERNAL",
"order_channel": "PARTNER",
"order_language": "en",
"order_version": 1,
"order_contacts": [
{
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
}
],
"order_promocodes": [
{
"promo_title": "Christmas Sale 2019",
"promo_description": "20 percent discount during the Christmas days.",
"promo_code": "PROMOCODE_123"
}
],
"order_payments": [
{
"payment_id": "f44226c0-e142-11ea-86d2-83036af9991e",
"payment_original_id": "de1829d0-e144-11ea-bc09-f935c77bef95",
"payment_partner_id": "PAYMENT_PARTNER_ID",
"payment_merchant_reference": "1478349849927_771663371",
"payment_external_reference": "SHOPPER_REFERENCE",
"payment_order_reference": "ORDRREF123456",
"payment_booking_references": [
"BKNGREF123456"
],
"payment_order_version": 2,
"payment_status": "PAID",
"payment_method": "EXTERNAL",
"payment_scheme": "VISA",
"payment_type": "CAPTURE",
"payment_link": "https://customer.prioticket.com/s?q=K0U2VmVNRGo0SEhGdFVUZ09IK2ViZkdtK1NjPQ==",
"payment_link_expires_at": "2025-06-29T22:27:44.065Z",
"payment_recurring": false,
"payment_recurring_type": "STORE",
"payment_refund_type": "SYSTEM",
"payment_refund_reason": "Guest reimbursement",
"payment_currency_code": "EUR",
"payment_currency_rate": "2.5263",
"payment_currency_amount": "10.25",
"payment_amount": "10.00",
"payment_total": "100.00",
"payment_gateway_details": {
"payment_merchant_account_name": "PrioticketECOM",
"payment_service_provider_reference": "852596799876396F",
"payment_service_provider_original_reference": "882596799845511E",
"payment_gateway_type": "ADYEN",
"payment_gateway_additional_values": {
"psp_shopper_name": "Checkout Shopper PlaceHolder",
"psp_shopper_cardnumber": "1111",
"psp_issuer_country": "NL",
"psp_fraudscore": "63",
"psp_payment_status": "Settled"
}
},
"payment_contact": {
"contact_uid": "f44226c0-e142-11ea-86d2-83036af9991e",
"contact_external_uid": "MTAwOV90ZXN0MTAwOUB0ZXN0LmNvbQ==",
"contact_version": 2,
"contact_number": "4573246",
"contact_type": "GUEST",
"contact_title": "Mr.",
"contact_name_first": "John",
"contact_name_last": "Doe",
"contact_email": "[email protected]",
"contact_phone": "+14155552671",
"contact_mobile": "+14155552671",
"contact_language": "NL",
"contact_nationality": "Dutch",
"contact_flight_number": "KL 445",
"contact_loyalty_number": "46564564564547476",
"contact_birth_place": "Amsterdam",
"contact_birth_date": "2025-06-29",
"contact_passport": "JXXXXXXX",
"contact_gender": "MALE",
"contact_age": 19,
"contact_room_number": "523",
"contact_website": "example.com",
"contact_company": {
"company_name": "Example LTD.",
"company_registration_number": "text",
"company_tax_number": "text"
},
"contact_classification": "IMPORTANT",
"contact_address": {
"name": "Start of the Tour / My house / Office / John Doe",
"street": "Amstel 1",
"addition": "Apt B1",
"city": "Amsterdam",
"postal_code": "1011 PN",
"region": "Noord-Holland",
"country": "The Netherlands",
"country_code": "NL",
"place_id": "ChIJrTLr-GyuEmsRBfy61i59si0",
"latitude": "52.3785323",
"longitude": "4.893942",
"notes": "It's on the fourth floor"
},
"contact_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"contact_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"contact_created": "2025-06-29T22:27:44.065Z",
"contact_modified": "2025-06-29T22:27:44.065Z"
},
"payment_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"payment_created": "2025-06-29T22:27:44.065Z",
"payment_created_name": "Cashier Name",
"payment_created_email": "[email protected]"
}
],
"order_checkout_fields": [
{
"checkout_field_id": "CHECKOUT_FIELD_ID",
"checkout_field_title": "First Name",
"checkout_field_label": "Please provide your first name",
"checkout_field_place_holder": "Some text",
"checkout_field_help_text": "Custom Field",
"checkout_field_account_type": "DISTRIBUTOR",
"checkout_field_booking_reference": [
"text"
],
"checkout_field_restriction": "REQUIRED",
"checkout_field_level": "PRODUCT",
"checkout_field_unit": "text",
"checkout_field_input_type": "SINGLE",
"checkout_field_type": "contact_title",
"checkout_field_options": [
"AIR",
"RAIL",
"SEA",
"OTHER"
],
"checkout_field_values": [
{
"checkout_field_value_product_type": "ADULT",
"checkout_field_value": [
"AIR"
],
"checkout_field_value_transaction_reference": "TRANSACTION_REFERENCE"
}
],
"checkout_field_created": "2025-06-29T22:27:44.065Z"
}
],
"order_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"order_options": {
"email_options": {
"email_types": {
"send_tickets": false
}
}
},
"order_flags": [
{
"flag_id": "223425262",
"flag_name": "Stock Code",
"flag_type": "FLAG",
"flag_value_id": "123BCa1",
"flag_value": "123BCa1"
}
],
"order_event_details": [
{
"event_order_version": 2,
"event_note": "Change of timeslot on request of customer.",
"event_type": "ORDER_CREATE",
"event_created": "2025-06-29T22:27:44.065Z",
"event_creator_user_name": "Andrew",
"event_creator_user_email": "[email protected]",
"event_creator_user_role": "Supervisor"
}
],
"order_custom_fields": [
{
"custom_field_name": "Custom Field Name",
"custom_field_value": "Custom Field Value"
}
],
"order_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"order_activity_url": "https://activity.prioticket.com/orders/ORDRREF123456",
"order_customer_url": "https://customer.prioticket.com/orders/ORDRREF123456",
"order_voucher_url": "https://emails.prioticket.com",
"order_created": "2025-06-29T22:27:44.065Z",
"order_created_name": "Demo Cashier",
"order_created_email": "[email protected]",
"order_modified": "2025-06-29T22:27:44.065Z",
"order_modified_name": "Demo Cashier",
"order_modified_email": "[email protected]",
"order_cancellation_date_time": "2025-06-29T22:27:44.065Z",
"order_cancellation_reason": "Payment declined",
"order_bookings": [
{
"booking_external_reference": "BOOKING_EXTERNALREF123",
"booking_status": "BOOKING_RESERVED",
"booking_version": 1,
"booking_voucher_released": true,
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_valid_until": "2025-06-29T22:27:44.065Z",
"booking_language": "en",
"booking_addon_reference": "BOOKING_ADDON_REFERENCE_123",
"booking_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"booking_notes": [
{
"note_value": "Wheelchair assistance required.",
"note_created": "2025-06-29T22:27:44.065Z",
"note_recipients": [
"SUPPLIER"
],
"note_creator_account_type": "DISTRIBUTOR",
"note_creator_user_name": "Andrew",
"note_creator_user_email": "[email protected]",
"note_creator_user_role": "Supervisor"
}
],
"booking_customer_url": "https://customer.prioticket.com/orders/ORDRREF123456",
"booking_voucher_url": "https://emails.prioticket.com",
"booking_created": "2025-06-29T22:27:44.065Z",
"booking_modified": "2025-06-29T22:27:44.065Z",
"booking_confirmed": "2025-06-29T22:27:44.065Z",
"booking_cancelled": "2025-06-29T22:27:44.065Z",
"booking_cancellation_reason": "Payment declined",
"product_id": "PRODUCT_ID_123",
"product_relation_id": "MAIN_PRODUCT_ID_123",
"product_pickup_point_id": "PICKUP_POINT_ID_123",
"product_pickup_point": {
"pickup_point_id": "PICKUP_POINT_ID_123",
"pickup_point_name": "Walkingtour at the Wyndham Apollo Hotel",
"pickup_point_type": "FIXED",
"pickup_point_description": "Meet at the Wyndham Apollo hotel.",
"pickup_point_location": "LOCATION_ID_123",
"pickup_point_time": "10:00",
"pickup_point_times": [
"10:00"
],
"pickup_point_duration": 30,
"pickup_point_availability_dependency": false
},
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_supplier_admin_id": "PRODUCT_SUPPLIER_ADMIN_ID",
"product_supplier_admin_name": "Supplier Admin Name",
"product_market_admin_id": "345345342",
"product_market_admin_name": "Market Admin Name",
"product_source_id": "34564574",
"product_source_name": "Prioticket",
"product_entry_notes": "Reconfirmation: Please call or email atleast 72 hour in advance to reconfirm your arrival.",
"product_admission_type": "TIME_PERIOD",
"product_class": "STANDARD",
"product_currency_code": "USD",
"product_cancellation_allowed": true,
"product_combi_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"product_type_code_supplier_reference": "text",
"product_type_transaction_id": "159118380521834001",
"product_type_status": "CONFIRMED",
"product_type_redemption_status": "REDEEMED",
"product_type_payment_status": "PAID",
"product_type_redemption_date_time": "2025-06-29T22:27:44.065Z",
"product_type_redemption_user_name": "text",
"product_type_redemption_user_email": "[email protected]",
"product_type_pass_details": {
"pass_code": "text",
"pass_duration": {
"pass_duration_start": "2018-06-26T12:08:47Z",
"pass_duration_end": "2018-06-26T12:08:47Z",
"pass_duration_total": 86400,
"pass_duration_remaining": 3600
},
"pass_redemptions": [
{
"pass_redemption_date_time": "2025-06-29T22:27:44.065Z",
"pass_redemption_user_name": "text",
"pass_redemption_user_email": "[email protected]"
}
]
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123",
"product_code": "1539762088951995",
"product_code_settings": {
"product_code_format": "QR_CODE",
"product_code_source": "PRIO",
"product_group_code": true,
"product_combi_code": true,
"product_city_card": false,
"product_voucher_settings": "SINGLE"
},
"booking_supplier_reference": "BOOKING_SUPPLIER_REFERENCE_123"
}
],
"product_bundle_details": [
{
"product_parent_id": "PRODUCT_PARENT_ID_123",
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_currency_code": "USD",
"product_availability_id": "20191026090010006526",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_capacity_id": "43525235",
"product_availability_capacity_shared_id": "435252453",
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"product_type_code_supplier_reference": "text",
"product_type_transaction_id": "159118380521834001",
"product_type_status": "CONFIRMED",
"product_type_redemption_status": "REDEEMED",
"product_type_payment_status": "PAID",
"product_type_redemption_date_time": "2025-06-29T22:27:44.065Z",
"product_type_redemption_user_name": "text",
"product_type_redemption_user_email": "[email protected]",
"product_type_pass_details": {
"pass_code": "text",
"pass_duration": {
"pass_duration_start": "2018-06-26T12:08:47Z",
"pass_duration_end": "2018-06-26T12:08:47Z",
"pass_duration_total": 86400,
"pass_duration_remaining": 3600
},
"pass_redemptions": [
{
"pass_redemption_date_time": "2025-06-29T22:27:44.065Z",
"pass_redemption_user_name": "text",
"pass_redemption_user_email": "[email protected]"
}
]
}
}
],
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_reference": "text",
"booking_external_reference": "BOOKING_EXTERNALREF123",
"product_code": "1539762088951995",
"product_code_settings": {
"product_code_format": "QR_CODE",
"product_code_source": "PRIO",
"product_group_code": true,
"product_combi_code": true,
"product_city_card": false,
"product_voucher_settings": "SINGLE"
},
"booking_supplier_reference": "BOOKING_SUPPLIER_REFERENCE_123"
}
],
"product_addon_details": [
{
"product_id": "PRODUCT_COMBI_ID_123",
"product_title": "Test Product",
"product_supplier_id": "PRODUCT_SUPPLIER_ID",
"product_supplier_name": "Test Museum",
"product_admission_type": "TIME_PERIOD",
"product_availability_from_date_time": "2025-06-29T22:27:44.065Z",
"product_availability_to_date_time": "2025-06-29T22:27:44.065Z",
"booking_travel_date": "2025-06-29T22:27:44.065Z",
"booking_order_reference": "BOOKING_ORDER_REFERENCE",
"booking_reference": "BOOKING_REF123",
"booking_status": "BOOKING_RESERVED"
}
],
"product_code": "1539762088951995",
"product_code_settings": {
"product_code_format": "QR_CODE",
"product_code_source": "PRIO",
"product_group_code": true,
"product_combi_code": true,
"product_city_card": false,
"product_voucher_settings": "SINGLE"
},
"product_type_details": [
{
"product_type": "ADULT",
"product_type_class": "STANDARD",
"product_type_id": "PRODUCT_TYPE_ID_123",
"product_type_label": "Adult",
"product_type_age_from": 18,
"product_type_age_to": 65,
"product_type_count": 1,
"product_type_pax": 1,
"product_type_capacity": 1,
"product_type_spots": [
{
"spot_name": "Regular seat",
"spot_section": "VIP Area",
"spot_row": "F",
"spot_number": "5"
}
],
"product_type_code": "1539762088951995",
"product_type_pricing": {
"price_subtotal": "20.00",
"price_variations": [
{
"variation_label": "Peak Hour",
"variation_amount": "2.50",
"variation_type": "PRODUCT_DYNAMIC"
}
],
"price_promocodes": [
{
"promo_code": "PROMOCODE_123",
"promo_amount": "-5.50"
}
],
"price_taxes": [
{
"tax_id": "TAX_ID_123",
"tax_amount": "0.65",
"tax_rate": "20.00"
}
],
"price_fees": [
{
"fee_type": "SERVICE",
"fee_amount": "0.50",
"fee_percentage": "25.00",
"fee_tax_amount": "0.65",
"fee_included": true
}
],
"price_total": "12.00"
},
"product_type_code_supplier_reference": "text",
"product_type_transaction_id": "159118380521834001",
"product_type_status": "CONFIRMED",
"product_type_redemption_status": "REDEEMED",
"product_type_payment_status": "PAID",
"product_type_redemption_date_time": "2025-06-29T22:27:44.065Z",
"product_type_redemption_user_name": "text",
"product_type_redemption_user_email": "[email protected]",
"product_type_pass_details": {
"pass_code": "text",
"pass_duration": {
"pass_duration_start": "2018-06-26T12:08:47Z",
"pass_duration_end": "2018-06-26T12:08:47Z",
"pass_duration_total": 86400,
"pass_duration_remaining": 3600
},
"pass_redemptions": [
{
"pass_redemption_date_time": "2025-06-29T22:27:44.065Z",
"pass_redemption_user_name": "text",
"pass_redemption_user_email": "[email protected]"
}
]
}
}
],
"product_cancellation_policies": [
{
"cancellation_description": "Please cancel any booking 1 hour in advance.",
"cancellation_type": "TRAVEL_DATE",
"cancellation_fee_threshold": 3600,
"cancellation_fee_percentage": 20.5,
"cancellation_fee_amount": "5.00"
}
],
"booking_reference": "BOOKING_REFERENCE_123",
"booking_supplier_reference": "BOOKING_SUPPLIER_REFERENCE_123"
}
]
}
}
}
Ping of the system.
GET /v3.8/distributor/system/ping HTTP/1.1
Host: staging-distributor-api.prioticket.com
Accept: */*
No content
Status of the system.
GET /v3.8/distributor/system/status HTTP/1.1
Host: staging-distributor-api.prioticket.com
Accept: */*
No content
Trusted by market leaders, the engine behind the tourism industry
In a world of fragmented systems and costly one-off integrations, Prioticket offers a smarter way forward. We are the single connectivity layer that unites the global tours, activities, and attractions ecosystem.
Whether you’re a reseller, supplier, attraction, or destination, Prioticket provides real-time access to a rapidly growing network of top-tier experiences, fully automated, infinitely scalable, and built for performance.
We are the invisible engine behind the scenes powering thousands of bookings, every minute, across every continent. From sightseeing buses in San Francisco to cultural icons in London and sporting venues in Italy, the world’s leading travel experiences run on Prioticket.
The experience industry is complex:
Every supplier uses a different system.
Every reseller needs a different integration.
Building direct connections takes months—and doesn’t scale.
We bridge the gap between systems, connecting the supply and demand sides of the industry through one unified API. You get live data, automated transactions, and frictionless operations, all from a single integration.
From the world’s most iconic attractions to fast-growing online travel platforms, the leading names in global tourism choose Prioticket to power their experiences. We are the invisible infrastructure behind high-volume bookings, complex operations, and seamless guest journeys.
If it moves, inspires, educates, or entertains, there is a good chance it runs on Prioticket.
Prioticket powers real-time ticketing for the biggest names in live performance. Whether in London’s West End or New York’s Broadway, theatre operators need precision, speed, and complete control over seat availability, timing, and reseller access. Brands such as ATG Entertainment and TodayTix trust us to manage their inventory across various channels, offering unique ways to sell their tickets anywhere in the world.
City tours operate at a unique pace. Timings shift constantly. Bookings flow in from every corner of the globe. In this fast-moving environment, sightseeing operators need a system that works instantly and reliably. With Prioticket, brands like City Sightseeing manage live schedules, deliver instant vouchers, and connect with hundreds of resellers through one centralized platform. Our technology powers hop-on hop-off operations in over 100 destinations worldwide, enabling seamless distribution, real-time capacity updates, and stress-free guest access.
These venues welcome millions of guests each year, with massive peaks during holidays and school breaks. Prioticket supports leading attractions such as Disney, Universal Studios, Australia Zoo, Tivoli Gardens, and Grupo Xcaret by enabling dynamic pricing, real-time booking updates, and smooth access for guests. Whether it is a bundled ticket, a timed entry window, or a reseller promotion, we ensure each ticket is processed with accuracy and delivered instantly.
Immersive attractions are becoming the heartbeat of modern entertainment. Their success depends on flawless booking flows and strong distribution reach. Prioticket connects creative brands like Merlin Entertainments, Ikono Global, and the Paddington Bear Experience with both digital and in-person audiences. Our platform handles flexible entry rules, multilingual content, and live ticket delivery to support visitor experiences that are engaging, memorable, and scalable.
For boat operators, every departure matters. Bookings need to match schedules. Capacity must be managed with precision. Weather changes have to be considered. With Prioticket, operators such as Gray Line, Flagship Cruises, and Stromma ensure that guests receive accurate tickets and real-time updates, no matter where they book. Our platform adjusts instantly, helping operators deliver smooth sailings and satisfied guests.
Cultural venues need more than simple ticketing. They require flexibility to manage exhibitions, control group access, and coordinate multiple distribution channels. Prioticket serves institutions like The Louvre, Museum of the Future, and Fotografiska by connecting them to global resellers while giving them full control over entry times, inventory, and pricing. Our tools help bring cultural stories to life through smart and simple technology.
Sites with deep historical significance need modern systems to meet today’s visitor expectations. From the Tower of London to Hampton Court Palace and Waddesdon Manor, our partners trust Prioticket to manage high-volume access with accurate timing and reliable ticketing. Whether it is a castle tour, a seasonal event, or a group booking, we ensure everything works in real time across all sales channels.
Sports venues are more than arenas. They are hubs for tours, events, and unforgettable fan moments. Clubs like Liverpool Football Club, Chelsea Football Club, Johan Cruyff Arena, and the New York Mets use Prioticket to sell experiences beyond the game. From locker room tours to matchday hospitality, our platform manages ticketing, capacity, and confirmation with real-time accuracy, helping clubs connect with fans in every market.
Live sports are global entertainment at its most electric. Prioticket gives partners access to premium tickets across the world’s most in-demand leagues and events. From regular season to finals, we support real-time inventory and instant delivery for major competitions such as the NBA, MLB, Premier League, Champions League, NFL, and many more. Whether it is a bucket list game or a local rivalry, we make it easy for resellers to offer world-class sports experiences to their customers.
Adventure travel is fast-paced, weather-sensitive, and often remote. Operators such as Papillon Helicopters in the Grand Canyon, Arabian Adventures in the deserts of Dubai and Mercedes-Benz Offroad Experience need systems that can react instantly to conditions and guest demand. Prioticket delivers the speed, flexibility, and resilience needed to process last-minute bookings, modify reservations, and connect experiences to the global market with minimal delay.
Observation decks attract a global audience and operate with strict timing and limited capacity. Prioticket enables top landmarks such as the Burj Khalifa, A’DAM Lookout, and Top of the Rock to sell tickets in real time, control hourly entries, and distribute through partners at scale. Our platform ensures that each visitor enjoys smooth access, accurate information, and a view that starts with a seamless booking.
Destinations are becoming their own distribution channels. Prioticket helps destinations such as Visit Oman, the Dubai Marketplace, and Evan Evans Tours in London to centralize their local supply into one connected marketplace. These partners use our tools to manage products, pricing, and performance while distributing through resellers and direct-to-consumer portals with full flexibility.
Top aggregators rely on Prioticket to scale their offering without building dozens of custom integrations. Platforms such as Tiqets, Viator, Headout, and Attraction World access a massive range of real-time experiences through a single API. They benefit from structured content, live pricing, instant confirmation, and dependable system performance that keeps their customers satisfied and their teams focused on growth.
Prioticket connects both the supply side and the distribution side of the ecosystem. This means you can manage all your relationships and channels through a single platform.
We work with the reservation systems that suppliers use to manage their products and operations. This enables:
Live availability and price updates
Instant confirmations and voucher delivery
Centralized control from their existing systems
Prioticket Supplier Mirror API Suppliers push their product catalog, pricing, and capacity directly to Prioticket. It’s the fastest way to enable real-time distribution.
External API Integration We fetch live data from the supplier’s own system and handle bookings directly within it. No need to duplicate setup or change operational workflows.
Whether you're using Galaxy Connect, Palisis, FareHarbor, Bokun, Rezdy, Accesso, or a custom-built system, we can connect to it in real-time.
Resellers use Prioticket to instantly access bookable products from hundreds of thousands of top attractions and operators. They benefit from:
Real-time product discovery
Live inventory & pricing
Booking and cancellation capabilities
Consistent content feeds
Prioticket Distributor API A modern REST API offering real-time availability, prices, content, and bookings. Ideal for OTAs, pass companies, and concierge platforms.
External Reseller API For larger brands, we integrate directly into their platform, adapting to their architecture. This means product data and confirmations flow into the systems they already use—no need to rebuild.
Connect once and access the entire market With a single connection, you open the door to a global network of opportunities.
Live data, always in sync Availability, pricing, and bookings are fully synchronized across all channels.
Faster time to market Add new partners quickly and launch in days instead of months.
Scalable infrastructure Whether you are just starting out or managing millions of bookings, Prioticket grows with you.
Trusted by leaders in travel and tourism From local operators to global attractions, our partners rely on Prioticket to drive performance.
Downtime isn’t an option. With 99.99% uptime and enterprise SLAs, we’ve got your back.
Whether you are a supplier or a reseller, Prioticket is your gateway to the experience industry. Our team is ready to help you connect, grow, and succeed.
Contact our team or book a demo to get started today.