Download OpenAPI specification:Download
The NextGen Reseller API allows querying products content with translations, availability&price variations, catalogs, and make bookings for operators who have agreed to be distributed.
Since the API is based on REST principles, it's very easy to write and test applications. You can use your browser to access URLs, and you can use pretty much any HTTP client in any programming language to interact with the API. Features
If you'd like to build a new service around Rezdy's software, require additional APIs, or would like Rezdy to directly integrate with your company's software, get in touch with our team so we can review your project and discuss its feasibility.
This specification is built upon OpenAPI Specification version 3.0.x.
The examples in the text as well as request and response payloads, use preset data in Rezdy staging environment, and demo accounts with special read-only API Keys. Once you have obtained your API Key from your integrations manager, you can use the account to try any GET calls, however, POST, PUT and DELETE methods are blocked for this API key to preserve the data and will result in the following error
{
"errorCode": "INVALID_AUTHORIZATION",
"errorMessage": "Client not authorised"
}
Rezdy API is versioned and you must include the version in the URL you're calling. Our API is actively updated within the same version, but these are non-breaking changes and therefore the version will not be updated. We will increase the version for any major breaking change.
Please check the changelog for details of changes.
We are currently on v2 of the Rezdy API. If, for example, you were accessing the Products endpoint, the URl should be structured as:
https://api.rezdy.com/distribution/v2/products
We have Staging and Production environment. Use the Staging environment to test your integration to make sure it is ready before connecting to the Production environment. Calls to the Rezdy Staging environment include payment processing through payment gateways are done against third-party sandbox environments.
Production and Staging environments are currently completely disconnected, accounts and other data are not replicated, thus you need to create a new account and generate a new API key for each environment.
Environment | Application URL | API URL | API Documentation URL |
---|---|---|---|
Staging | https://app.rezdy-staging.com | https://api.rezdy-staging.com | https://developers.rezdy-staging.com |
Production | https://app.rezdy.com | https://api.rezdy.com | https://developers.rezdy.com |
We release new updates to the Staging environment approximately one week before they are released to production, so there may be differences. These differences will be represented in the documentation available for each environment as outlined above. Check the changelog for details.
For simple integrations, it is easier to test using the production environment, booking only Test products from our Rezdy Reseller Certification
operator.
On the Staging environment, you can activate our test operator account with credit card number 4242424242424242 which will prevent the account from expiring due to the trial ending.
All requests must use HTTPS, the API is not available on non-SSL/TLS ports.
We do not allow Cross-Origin Resource Sharing (CORS), REST calls to Rezdy API should not be made directly from a browser.
All API calls require a valid API Key. It must be passed as a query parameter or HTTP header, with all requests, using the following format:
GET https://api.rezdy.com/distribution/v2/products?apiKey=XXXXXXXXXXXXXXXXXXXX
or
GET https://api.rezdy.com/distribution/v2/products
HTTP headers:
apiKey: XXXXXXXXXXXXXXXXXXXX
To obtain your API Key, please log in to your Rezdy Booking Software and send a request by going to the menu item Integrations > Rezdy API > Request API Key. If you do not see this menu item, please contact partnerintegrations@rezdy.com
Keep API key confidential and do not publish it to any publicly available repository in a version control system. Malicious bots are frequently scanning for such vulnerabilities.
The Rezdy API supports UTF-8 encoded JSON payload. You must include both Accept and Content-Type headers to your requests as follows:
Content-Type: application/json; charset=UTF-8
Accept: application/json
Successful request:
{
"id": "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU",
"productCode": "RCS_67a450caccaccb087b165e76_v4_test_1",
"translation": "en_AU",
"sourceId": "v4_test_1",
"sku": "v4_test_1",
"isMain": true,
"otherTranslations": [
"de_AT",
...
],
...
}
Request with error:
{
"errorCode": "NOT_FOUND",
"errorMessage": "Product with productCode 'xxxxxxxxxxxx', rezdyLocale 'en_AU' does not exist"
}
Requests that return multiple items are paginated to 100 items by default. You can control pagination by using the lastId
(default: null) and limit
(default: 100
) query parameters. The custom limit may not exceed 100, except for specific endpoints if mentioned in their description.
For example:
GET /products?lastId=XXXXXXXXX&limit=100
There are 2 date formats in our API model.
The first one is ISO8601 format, and typically fields such as startTime, endTime, dateCreated, dateUpdated are formatted this way.
The other one is a operator's localized date format, which is based on a operator's timezone setup on Rezdy. Typically, used by fields startTimeLocal/endTimeLocal.
How to use them in API requests
These two types are mostly exposed in pairs in the payloads or query parameters as startTime & startTimeLocal or endTime & endTimeLocal. For better convenience, you can choose which format to use. General rules of thumb are:
Local format does not contain timezone information, the format is yyyy-MM-dd HH:mm:ss, e.g.:
2015-10-30 09:00:00
Using local date format is recommended, as there is no need to do any timezone conversions when displaying data such as local tour start time to an end user.
If you use ISO8601 format, you have to convert times to the operator’s timezone when you want to display dates and times for a tour. For example, if a operator runs a tour on 30 Oct 2015 at 9:00 AM in the “Sydney/Australia” timezone, time in ISO8601 format returned by the API will be:
2015-10-29T22:00:00Z
That’s because 2015-10-29T22:00:00Z is the same time as 2015-10-30T09:00:00+11:00. You can send any of these formats in your API calls and they’re both valid and both represent the same timestamp.
You can retrieve the operator’s timezone in GET /products
calls (Product.timezone
). Please be mindful of Daylight Savings Time when converting timestamps. You should always use the proper timezone (i.e. Australia/Sydney
) instead of the time offset (+10:00
) because the latter can vary during the year (i.e. Sydney is +10:00
in winter and +11:00
in summer)
API use is restricted to 100 calls per minute, per API Key. We may alter this limit based on usage patterns. If you reach your limit, you will receive an HTTP Status 406 response with message "Too Many Requests".
To provide the best experience to your Guests and to avoid hitting the rate limits, you should implement some form of caching on your end rather than calling the Rezdy API for each request. For example, a typical browsing + booking process could follow this caching strategy:
Guest action on your website | Rezdy API Call | Caching recommendation |
---|---|---|
Browse product 1 | GET /products/{product1} | Cache for 24+ hours |
Check product 1 availability | GET /availability | Cache for 24 hours |
Browse product 2 | GET /products/{product2} | Cache for 24+ hours |
Check product 2 availability | GET /availability | Cache for 24 hours |
Add product 2 to shopping cart – Starts checkout | GET /availability | No Cache – confirms product is still available |
Completes checkout | POST /bookings | No Cache |
Below is a list error codes returned by the API endpoints with respective HTTP Statuses. Any error code marked as retriable could be retried at a later time without the change of the request payload. Non-retriable error codes will require a change of the payload data, operator's setup, or mark a persistent state. Retrying such requests without such external change will still fail.
Error Code | Retriable | HTTP Status | Description |
---|---|---|---|
INVALID_ARGUMENT | No | 400 | The request contains invalid data. E.g. invalid date format.
Example:
Applicable for: All endpoints |
NO_AVAILABILITY | Yes | 422 | The reservation or the booking confirmation could not be fulfilled due to a lack of remaining availability at the moment. The same request could be retried when remaining availability changes.
This error code will NOT be used for cases when the booked product variation is no longer available, or available to the reseller. Please refer to INVALID_VARIATION, and INVALID_AUTHORIZATION.
Example :
Applicable for: Create reservation, Confirm booking |
INVALID_AUTHENTICATION | No | 401 | Required authentication data to perform the call were not provided.
For example, a client did not send API key.
Example:
Applicable for: All endpoints |
INVALID_AUTHORIZATION | No | 403 | The reseller is not authorised to perform the call.
For example the authenticated reseller does not have access to the booked product variation
Example:
Applicable for: All endpoints |
MINIMUM_QUANTITY_REQUIRED | No | 422 | Minimum booking quantity in either the reservation or the booking call is below the required number.
Example :
Applicable for: Create reservation, Confirm booking |
MAXIMUM_QUANTITY_REACHED | No | 422 | Maximum booking quantity in either the reservation or the booking call is above the required number.
Example :
Applicable for: Create reservation, Confirm booking |
INVALID_BOOKING | No | 422 | Booking cannot be fulfilled as the Reservation does not exist or the order is in Invalid State (Confirmation Endpoint).
Booking cannot be cancelled as the Booking does not exist or the Booking is in Invalid State.(Cancellation Endpoint) Example:
Applicable for: Confirm booking Cancel booking |
INVALID_VARIATION | No | 422 | The product variation does not exist, or is no longer active.
Example :
Applicable for: All endpoints |
INVALID_GUEST_TYPE | No | 422 | The guest type is not found or is no longer active.
Example :
Applicable for: Create reservation, Confirm booking |
HIT_RATE_LIMIT_REACHED | Yes | 429 | Too many requests sent in a particular interval of time. Please implement a backoff mechanism according to the reseller rate limit agreement. Example :
Applicable for: All endpoints |
INTERNAL_ERROR | Yes | 500 | Internal error whilst processing the request where none of the above scenarios applies. Example :
Applicable for: All endpoints |
API real-time and historical uptime/availability details are available here.
We use a highly available architecture and hosting resources with Amazon Web Services. Our standard releases are transparent, therefore causing no downtime, and are backwards-compatible unless it is a major version release (see versioning above). In case a maintenance period is required we will alert users via in-app messages and announcements on our support forum and our Rezdy Ops Twitter account.
Our API is in active development with regular new endpoints and features being added to support more use cases. There are, however, some current limitations:
Operator (Tour Operator)
A business supplying products for resale to reseller channels or Rezdy marketplace (B2B) or using Rezdy booking software to sell them to end Guests (B2C).
Reseller (Reseller partner)
A business reselling operator products.
Product (Tour, Activity)
An experience that a operator is selling on Rezdy.
Variation (Tour, Activity)
A variation of the product that an operator is selling on Rezdy.
Booking (Order)
Transaction of selling a variation of the Rezdy operator. Booking and order might be used interchangeably, but refer to the same entity across the specification.
Booking item (Order item)
A booking consist of a single item. An item is linked to a single product, a single or no event product (depending on product booking mode), and can have different quantities and guest types
Reservation
An un-confirmed booking (A booking with status== "RESERVATION_STARTED") that temporarily holds availability.
At the moment reservations are not available in Reseller API.
Timeslot (Tour timeslot)
A timeslot when a product (tour or activity) is scheduled to run at. A timeslot provides information such as start and end time, totalCapacity (seats), quantityAvailable (seatsAvailable) and pricing (guestTypes).
Guest
An entity representing information about an end traveler who booked a product.
Main price
Price that represents the product and all associated variations. This is the one price operator has nominated to display for the product.
Booking form field
A booking questions or information provided during a booking process. Booking form fields can be stored on order level (a booking field per booking) or guest level (a booking field per participant). Booking form fields can be mandatory or optional and may require a certain format.
Upsell (Product extra)
An additional item or service that can be booked together with a product/variation. Extras can have their own availability.
Pickup
A list of pickup locations and additional pickup instructions that are associated with a product, that guest can choose from during booking.
See Providing Guest with pickups for details.
Marketplace
The two-sided B2B platform provided by Rezdy where operators and resellers can search, connect and trade with one another.
Negotiated rate
Negotiated rate allows reseller and operator to agree on a specific commission amount to be used for selected products for their bookings.
Catalog
A complete list of variations, defined by a custom name. Resellers can group variations to a Catalog with naming of their choice to sell.
Category
A pre-defined set of labels to identify the type of product offering. These categories enable consumers to search for product by these labels.
Tag
A custom label that can be assigned to a category to help Resellers group their Catalogs.
Question: Do I still need to send my Reseller booking confirmations to Operators.
Rezdy will notify operators on some bookings depending on their notification configuration. If unsure, please check with your Integrations manager.
Question: Do we need to send a booking confirmation to Guests when we make a reservation.
Rezdy will notify guests on some bookings depending on their notification configuration. If unsure, please check with your Integrations manager.
Question: Is it possible to search the products by address, including country, region, city, etc.
You can only search products by geolocation and radius. Parameters available can be found here. In such case we will return products up to 500 km by default or with specific radius away, ordered by distance from that point. We expect a client system to have some caching or database layer, where you store products you are reselling. You should not make an API query for each end-user request.
You need to follow these steps to use the Reseller API:
The most typical use case for Reseller partner integration with Rezdy API, is to facilitate Rezdy API data to build a booking site. These examples show the API requests and responses for a typical booking flow. It helps you understand the process to replicate the Rezdy booking form through the API.
That typically consists of the following steps:
Reseller can get a product that has been shared by the operator by using the productId, or a variation's Id of the product, or the product's code and translation.
Example Request
GET https://api.rezdy-staging.com/distribution/v2/products/code/RCS_67a450caccaccb087b165e76_v4_test_1/en_AU?apiKey=69f708868ddc45eaa1f9b9fad1ddeba5
Example Response
{
"id": "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU",
"productCode": "RCS_67a450caccaccb087b165e76_v4_test_1",
"translation": "en_AU",
"sourceId": "v4_test_1",
"sku": "v4_test_1",
"isMain": true,
"otherTranslations": [
"de_AT",
"de_DE",
"tr_TR"
],
"name": "RCv4 Test Product",
"summary": "This is a v4 test product 1 for Rezdy Connect demonstration and test purpose.",
...
}
Resellers do not own any product. You can use the GET /products endpoint to load products that operator have shared. Product details include general pricing, description, inclusion, exclusion. There are many attributes available on the service, allowing you to filter products by location, operator, category, language of product or language in which variation is offered in, specific inclusions & exclusions etc.
Once you have product details, the next step is to retrieve and cache products availability GET /availability endpoint to load availability.
Example Request
GET https://api.rezdy-staging.com/distribution/v2/availability?apiKey=69f708868ddc45eaa1f9b9fad1ddeba5&from=2025-03-02T09:00&to=2025-03-02T09:00&variationIds=RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1&variationIds=RCS_67a450caccaccb087b165e76_v4_test_1_de_AT_v4_test_1_variation_2
This loads all the available sessions for product with variation IDs for a period of time in the Operator’s local timezone.
Example Response
{
"availability": [
{
"variationId": "RCS_67a450caccaccb087b165e76_v4_test_1_de_AT_v4_test_1_variation_2",
"startTime": "2025-03-02T08:00:00Z",
"startTimeLocal": "2025-03-02T09:00",
"endTime": "2025-03-02T09:00:00Z",
"endTimeLocal": "2025-03-02T10:00",
"quantityAvailable": 100,
"totalCapacity": 100,
"allDay": false,
"guestTypes": [
{
"label": "Adult",
"retailPrice": 10000,
"sourceId": "adult"
},
{
"label": "Child",
"retailPrice": 5000,
"sourceId": "child"
}
]
}
],
"lastId": "RCS_67a450caccaccb087b165e76_v4_test_1_de_AT_v4_test_1_variation_2-2025-03-02T08:00:00Z-2025-03-02T09:00:00Z"
}
Important information here is:
Now when you built and cached products and availability with a price that you are interested in reselling, the next step is a checkout flow.
If the seats are still available, you can create a booking in Rezdy by calling the POST /bookings endpoint.
The following request creates a simple booking for 1 Adult for the product we previously loaded. It’s a $250 booking for 2025-03-02 at 9:00AM in Sydney.
Example Request
POST https://api.rezdy-staging.com/distribution/v2/booking/reserve?apiKey=69f708868ddc45eaa1f9b9fad1ddeba5
{
"resellerReference" : "ResellerApiDemoBooking1",
"items": [
{
"variationId": "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1",
"startTimeLocal": "2025-03-02T09:00",
"guestTypes": [
{
"label": "Adult",
"quantity": 1
}
]
}
],
"total" : 1000,
"currency": "AUD"
}
Example Response
{
"id": "6c08a2ec-de46-4143-aca0-26959260a17f",
"operatorReference": "operatorReference123",
"resellerReference": "ResellerApiDemoBooking1",
"expirationDate": "2025-03-02T23:02:35.830467648Z",
"status": "RESERVED",
"items": [
{
"variationId": "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1",
"startTime": "2025-03-01T22:00:00Z",
"startTimeLocal": "2025-03-02T09:00:00",
"guestTypes": [
{
"label": "Adult",
"quantity": 1,
"guestIds": [
"1"
]
}
],
"itemId": "16f86bd3-72e0-4f6f-8472-72b29738b4ec",
"pickup": {
"name": "V4 test pickup location",
"additionalNotes": "V4 test pickup location additional info",
"otherPickupLocationAllowed": true,
"otherLocationInstructions": "V4 test pickup location, other location instructions",
"pickupLocations": []
},
"taxes": []
}
],
"total": 1000,
"currency": "AUD"
}
POST /booking/confirm endpoint allows you to confirm an existing booking.
Example Request
POST: https://api.rezdy-staging.com/distribution/v2/booking/confirm?apiKey=69f708868ddc45eaa1f9b9fad1ddeba5
{
"id" : "6c08a2ec-de46-4143-aca0-26959260a17f",
"resellerReference" : "ResellerApiDemoBooking1",
"items": [
{
"itemId": "16f86bd3-72e0-4f6f-8472-72b29738b4ec",
}
]
}
Example Response
{
"id": "6c08a2ec-de46-4143-aca0-26959260a17f",
"operatorReference": "operatorReference123",
"resellerReference": "ResellerApiDemoBooking1",
"status": "CONFIRMED",
"items": [
{
"itemId": "16f86bd3-72e0-4f6f-8472-72b29738b4ec",
"productId": "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU",
"variationId": "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1",
"startTime": "2025-03-01T22:00:00Z",
"startTimeLocal": "2025-03-02T09:00:00",
"guestTypes": [
{
"label": "Adult",
"quantity": 1,
"price": 1000
}
],
"operatorReference": "",
"guests": []
}
],
"tax": {},
"total": 1000,
"currency": "AUD"
}
To cancel a booking use POST booking/cancel endpoint as in example below with an empty request body.
Example Request
POST https://api.rezdy-staging.com/distribution/v2/booking/cancel?apiKey=69f708868ddc45eaa1f9b9fad1ddeba5
{
"id" : "6c08a2ec-de46-4143-aca0-26959260a17f",
"resellerReference" : "ResellerApiDemoBooking2",
"items": [
{
"itemId": "ecd62bea-f743-4a2f-a34b-64ec3700eda1",
}
]
}
Example Response
{
"id": "6c08a2ec-de46-4143-aca0-26959260a17f",
"operatorReference": "operatorReference123",
"resellerReference": "ResellerApiDemoBooking2",
"status": "CANCELLED",
"items": [
{
"itemId": "ecd62bea-f743-4a2f-a34b-64ec3700eda1",
"operatorReference": "",
}
]
}
Resellers do not own any product. You can use the GET /products endpoint to load products that operator have shared. Product details include general pricing, description, inclusion, exclusion. There are many attributes available on the service, allowing you to filter products by location, operator, category, language of product or language in which variation is offered in, specific inclusions & exclusions etc.
To optimise the performance it is better to call search products and cache the retrieved products for at least 24 hours. Products do not tend to be updated by operator often.
Search filters should be rather implemented on client side to avoid round-trips to Rezdy API for each user query. Search product is a resource intensive query and depending on the search filters used, it can take up to several seconds to get a response.
Example request:
GET https://api.rezdy-staging.com/distribution/v2/products?apiKey=69f708868ddc45eaa1f9b9fad1ddeba5&latitude=48.8&longitude=20.3
Example response:
{
"products": [
{
"id": "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU",
"productCode": "RCS_67a450caccaccb087b165e76_v4_test_1",
"translation": "en_AU",
"sourceId": "v4_test_1",
"sku": "v4_test_1",
"isMain": true,
"otherTranslations": [
"de_AT",
"de_DE",
"tr_TR"
],
"name": "RCv4 Test Product",
"summary": "This is a v4 test product 1 for Rezdy Connect demonstration and test purpose.",
"details": "<h1>This is a v4 test product 1 for Rezdy Connect demonstration and test purpose.</h1>. It complies with the RezdyConnect version 4 specification. It contains all mandatory field and some optional, to see a full example please see the RezdyConnect specification.",
"highlights": [
"Highlight location 1",
"Highlight location 2",
"Highlight location 2"
],
"inclusions": [
"Inclusion 1",
"Inclusion 2",
"Inclusion 2"
],
"exclusions": [
"Exclusion 1",
"Exclusion 2",
"Exclusion 2"
],
"images": [
{
"url": "https://rezdy-images-test.s3.us-west-1.amazonaws.com/IMG_5565.jpg",
"title": "Image 1 title"
}
],
"isAppointmentNeeded": true,
"faqParticipants": "Faq1: Answer1, Faq2: Answer2",
"additionalInformation": "Additional Information",
"customerShouldBring": "Customer Should Bring",
"locationAddress": {
"googlePlaceId": "0",
"locationName": "V4 test product location",
"address": "V4 test product location address",
"locationInfo": "V4 test product location info",
"latitude": 0.0,
"longitude": 0.0
},
"meetingPoint": {
"googlePlaceId": "0",
"locationName": "V4 test meeting point location",
"address": "V4 test meeting point address",
"locationInfo": "V4 test meeting point info",
"latitude": 0.0,
"longitude": 0.0
},
"pointsOfInterest": [
{
"googlePlaceId": "0",
"locationName": "V4 test Point Of Interest location",
"address": "V4 test Point Of Interest address",
"locationInfo": "V4 test Point Of Interest info",
"latitude": 0.0,
"longitude": 0.0,
"relationType": "ADMISSION_TICKET"
}
],
"pickup": {
"id": "0",
"name": "V4 test pickup location",
"validFrom": "2024-10-22T00:00:00",
"validTo": "2025-10-22T00:00:00",
"additionalNotes": "V4 test pickup location additional info",
"otherPickupLocationAllowed": true,
"otherLocationInstructions": "V4 test pickup location, other location instructions",
"makeYourOwnWay": true
},
"variations": [
{
"id": "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1",
"sourceId": "v4_test_1_variation_1",
"variationMappingId": "P3Z8FC",
"name": "V4 test product 1 Variation 1",
"offerLanguages": [
"en_US",
"de_DE",
"es_ES",
"de_AT",
"tr_TR"
],
"guestTypes": [
{
"sourceId": "adult",
"label": "Adult",
"originalPrice": 12000
},
{
"sourceId": "child",
"label": "Child",
"originalPrice": 6000
}
],
"formFields": [
{
"label": "First Name",
"type": "TEXT",
"guest": {},
"displayOther": false,
"sortOrder": 1
},
{
"label": "Last Name",
"type": "TEXT",
"guest": {},
"displayOther": false,
"sortOrder": 2
},
{
"label": "E-mail",
"type": "TEXT",
"guest": {},
"displayOther": false,
"sortOrder": 3
}
]
}
],
"timezone": "Australia/Sydney",
"currency": "AUD",
"operator": {
"id": "67b6b459d289b8505d62e3e0",
"alias": "apispecificationdemosupplierdonotedit"
},
"barcodeOutputType": "ORDER",
"isUpsell": false,
"upsells": [],
"ratings": {
"rating": 100,
"count": 4.5
},
"accessibilityTags": [
"MOBILITY_ACCESSIBLE"
],
"suitabilityTags": [
"SINGLES",
"FAMILY"
],
"durationTags": [
"SHORT_TRIPS"
],
"themeTags": [
"FOOD_AND_DRINKS"
],
"categoryTags": [
"FOOD_TOURS"
],
"operatorCatalogs": [
{
"value": "Walking tours",
"sortOrder": 1
},
{
"value": "Walking tours",
"sortOrder": 1
}
],
"sortOrder": 1,
"waitListingEnabled": false,
"taxes": [],
"openingHours": [
{
"from": "2024-10-22T00:00:00",
"to": "2025-10-23T00:00:00",
"daysOfTheWeek": [
{
"day": "SATURDAY",
"times": [
{
"openTime": "08:00:00",
"closeTime": "17:00:00"
}
]
},
{
"day": "SUNDAY",
"times": [
{
"openTime": "08:00:00",
"closeTime": "17:00:00"
}
]
}
]
}
]
}
],
"lastId": "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU"
}
Note: This feature is disabled by default. Please contact Rezdy Support if you want to enable it.
Two steps booking flow is useful for minimising availability errors during a Guest checkout, thereby achieving a better Guest experience.
Typical flow with 2 steps booking process follow these steps:
/reserve
to create a reservation (an order with RESERVATION_STARTED
status) upon a Guest cart checkout. This will create an order, which holds reserved product's timeslot availability typically for 60 minutes (may depend on an integrated third party BSw) or until cancelled. CONFIRMED
). Alternatively, cancel the reservation to free the availability when checkout process was abandoned or failed. If it's not done manually, Rezdy will do so after 60 minutes.Create a reservation: call Rezdy API to create a reservation (an order with RESERVATION_STARTED
status at first) upon a Guest cart checkout. Once the reservation has been successfully processed, a response with status RESERVED
will be returned to the Reseller which holds reserved product's session's availability for at least 60 minutes or until cancelled.
POST https://api.rezdy-staging.com/distribution/v2/booking/reserve?apiKey=69f708868ddc45eaa1f9b9fad1ddeba5
{
"status": "RESERVED",
"items": {
...
}
Confirm a reservation - update the booking to CONFIRMED
status:
POST https://api.rezdy-staging.com/distribution/v2/booking/confirm?apiKey=69f708868ddc45eaa1f9b9fad1ddeba5
{
"status": "CONFIRMED",
"items": {
...
}
TO BE UPDATED Note: If a product confirmMode
is not set as AUTOCONFIRM
the resulting order status might not be CONFIRMED
. An order can end up with a PENDING_SUPPLIER
status. Another case is, if the used payment option requires Guest to process a payment in a third party provider, such as PayPal. In such case the status will be PENDING_CUSTOMER
Alternatively, to free up the reserved availability, update a booking to CANCELLED
status, the later option will cause the order to be hidden from UI screens:
POST https://api.rezdy-staging.com/distribution/v2/booking/cancel?apiKey=69f708868ddc45eaa1f9b9fad1ddeba5
{
"status": "CANCELLED",
"items": {
...
}
[TO BE CONFIRMED] If a product is configured isAppointmentNeeded
, the booking date and time have to match a session startTime; otherwise there is no need to specify booking date and time in a booking request.
Once a pickup is configured for a certain product, the product detail will contain a field pickupId. The Id value is not required for further use in other API calls (it's for the future purpose), for now on it just means the pickups are configured for this product.
For example:
https://api.rezdy-staging.com/distribution/v2/products/code/RCS_67a450caccaccb087b165e76_v4_test_1/en_AU?apiKey=69f708868ddc45eaa1f9b9fad1ddeba5
RESPONSE:
{
"id": "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU",
"productCode": "RCS_67a450caccaccb087b165e76_v4_test_1",
"translation": "en_AU",
...
"pickup": {
"id": "0",
"name": "V4 test pickup location",
"validFrom": "2024-10-22T00:00:00",
"validTo": "2025-10-22T00:00:00",
"additionalNotes": "V4 test pickup location additional info",
"otherPickupLocationAllowed": true,
"otherLocationInstructions": "V4 test pickup location, other location instructions",
"makeYourOwnWay": true
},
...
}
Booking fields define what additional information operators require at booking time. This can include participant-specific details or item-specific options, such as participant names, dietary requirements, or the preferred language of the tour guide. These fields can be required either once per booking item or for each participant.
When you create a reservation, the response includes a list of booking fields under each booking item or guest type. These fields indicate what information needs to be collected before confirming the booking.
The following structure shows how each booking field is represented in the reservation response:
{
"label": "string",
"required": true,
"choices": ["Option1", "Option2"]
}
label
: The name of the field (e.g., "First Name", "Last Name").required
: If true
, this field must be included in the confirm booking request.choices
: If present, the value must be one of the provided options (e.g., "Vegetarian", "Vegan").These booking fields are found either:
ReservationResponse.items[].fields
(item-level fields), orReservationResponse.items[].guestTypes[].fields
(guest-level fields per type, such as Adult or Child)Item-level fields apply once per booking item (e.g., tour-specific preferences), whereas guest-level fields apply to each individual guest (e.g., first and last name).
In the confirm booking step, you must include all required booking fields returned in the reservation response.
All values are submitted as strings, regardless of their intended type (e.g., boolean, date, number). The expected format is:
{
"label": "string",
"value": "string"
}
label
: Must match the one returned in the reservation response.value
: A string value filled in by the reseller or customer.Use the following formatting guidelines for the value
field:
In the reservation response, booking fields are provided per GuestType
. Below is an example of a GuestType
object in the reservation response:
{
"label": "Adult",
"quantity": 2,
"guestIds": ["1", "2"],
"fields": [
{
"label": "First Name",
"required": true
},
{
"label": "Last Name",
"required": true
}
]
}
When confirming the booking, these fields must be included for each guest of that type in the request. Below is an example of an Item
object in the confirm booking request:
{
"itemId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"fields": [
{
"label": "Language Preference",
"value": "English"
}
],
"guests": [
{
"guestId": "1",
"guestType": "Adult",
"fields": [
{
"label": "First Name",
"value": "Alice"
},
{
"label": "Last Name",
"value": "Smith"
}
]
},
{
"guestId": "2",
"guestType": "Adult",
"fields": [
{
"label": "First Name",
"value": "Bob"
},
{
"label": "Last Name",
"value": "Brown"
}
]
}
]
}
This structure shows how both item-level and guest-level booking fields are submitted in the confirm booking request. Each guest must include all required booking fields for their guestType
, using the same label
names from the reservation response.
Step | Location | Field Format |
---|---|---|
Reservation Response | items[].fields , items[].guestTypes[].fields |
label , required , choices |
Confirm Booking Request | items[].fields , items[].guests[].fields |
label , value |
Ensure that:
label
values in the confirm request must exactly match the ones returned in the reservation response.Search across all products
productName | string Example: productName=RCv4 Test Product Product name exact match filter |
latitude | number <double> Example: latitude=48.819923775304744 Latitude |
longitude | number <double> Example: longitude=20.371856623495404 Longitude |
radius | integer <int32> Example: radius=10000 When searching products by a geo point (Latitude, Longitude), we will return products with location up to this distance from the point. Default is 10 km, if geo point is specified without a radius. Maximum allowed radius is 500 km. |
unit | string Enum: "METER" "KILOMETER" |
translations | Array of strings unique Example: translations=en_US&translations=de_DE Filter products with specified translations, exact match |
operatorName | string Example: operatorName=API specification demo supplier Operator name exact match filter |
variationLanguages | Array of strings unique Example: variationLanguages=en_US&variationLanguages=de_DE Filter products having at least one variation offered in specified language |
variationMappingIds | Array of strings unique Example: variationMappingIds=P12345&variationMappingIds=P98765 Filter products having at least one variation with specified reseller mapping id |
variationIds | Array of strings unique Example: variationIds=RCS_67a450caccaccb087b165e76_v4_test_1_de_AT_v4_test_1_variation_2&variationIds=RCS_67a450caccaccb087b165e76_v4_test_1_de_AT_v4_test_1_variation_2 Filter products having at least one variation with specified variation id |
theme | Array of strings unique Items Enum: "ADVENTURE_AND_OUTDOORS" "CULTURAL_HISTORICAL_AND_ARTS" "RENTALS_AND_CHARTERS" "TEAM_BUILDING_AND_WORKSHOPS" "FOOD_AND_DRINKS" "NATURE_AND_WILDLIFE" "TRANSFERS_AND_TRANSPORTATION" "URBAN_AND_UNIQUE_EXPERIENCES" "WELLNESS_AND_RELAXATION" Example: theme=ADVENTURE_AND_OUTDOORS Filter products having all the specified Theme tags |
category | Array of strings unique Items Enum: "AIR_TOURS" "AMUSEMENT_CENTER" "ARTS_AND_CRAFTS" "BEAUTY" "BIRDWATCHING_AND_NATURE_TOURS" "BOTANICAL_GARDENS_AND_ZOOS" "BUS_TRANSFERS" "CLASSES" "CULTURAL_IMMERSIONS" "CYCLING_AND_MOUNTAIN_BIKING" "DINING" "DIVING_AND_SNORKELING" "ESCAPE_ROOMS" "EXTREME_SPORTS" "FESTIVALS_AND_EVENTS" "FISHING" "FLIGHT_SIMULATIONS" "FOOD_TOURS" "GHOST_TOURS" "HEALTH_AND_FITNESS" "HIKING_AND_TREKKING" "HISTORICAL_SITES_AND_MONUMENTS" "HISTORY_TOURS" "HOP_ON_HOP_OFF_TOURS" "MOTOR_SPORTS" "MUSEUMS_AND_ART_GALLERIES" "NATIONAL_PARKS_AND_RESERVES" "NIGHT_TOURS" "OFF_ROAD_AND_4WD" "PARTY" "PHOTOGRAPHY_TOURS" "POINT_TO_POINT_TRANSFERS" "PUB_AND_BAR_TOURS" "RELIGIOUS_SITES" "RETREATS" "ROCK_CLIMBING_AND_ABSEILING" "SAILING_AND_CRUISES" "SAUNAS_AND_THERMAL_BATHS" "SEAPLANE_TRANSFERS" "SHUTTLE_TRANSFERS" "SLEDDING_AND_RIDING" "SPA_TREATMENTS_AND_MASSAGE" "SPORTS" "TASTING" "TEAM_AND_CORPORATE_EVENTS" "TEAM_BUILDING_ACTIVITIES" "THEATRE_AND_PERFORMANCES" "THEME_PARKS_AND_ATTRACTIONS" "TICKETS_AND_PASSES" "TRAIN_TRANSFERS" "VIRTUAL_REALITY_EXPERIENCES" "WALKING_TOURS" "WATER_SPORTS" "WATERBASED_TOURS" "WILDLIFE_SAFARIS_AND_TOURS" "WINE_TOURS" "WORKSHOPS_AND_CLASSES" Example: category=WATER_SPORTS Filter products having all the specified Category tags |
accessibility | Array of strings unique Items Enum: "WHEELCHAIR_FRIENDLY" "VISION_IMPAIRED" "MOBILITY_ACCESSIBLE" Example: accessibility=VISION_IMPAIRED Filter products having all the specified Accessibility Tags |
suitability | Array of strings unique Items Enum: "FAMILY" "ADULT_ONLY" "COUPLES" "CHILDREN" "SINGLES" "ROMANTIC" "GROUPS" "BUDGET" "LUXURY" Example: suitability=FAMILY Filter products having all the specified Suitability Tags |
inclusions | Array of strings unique Example: inclusions=snacks Filter products having all the specified Inclusions |
exclusions | Array of strings unique Example: exclusions=entrance fee Filter products having all the specified Exclusions |
lastId | string Example: lastId=lastId=RCS_67a450caccaccb087b165e76_v4_test_1_de_AT Id of the last retrieved record, use it to load the next page. See #section/Overview/Pagination for more details |
catalogIds | Array of strings unique Example: catalogIds=15,23 Filter products belonging to all the specified catalogIds |
limit | integer <int32> Example: limit=10 Page limit. See #section/Overview/Pagination for more details. The default, as well as the maximum is 100. |
required | Array of objects (ProductResponse) |
lastId | string |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
https://api.rezdy-staging.com/distribution/v2/products?latitude=48.8&longitude=20.3
{- "products": [
- {
- "id": "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU",
- "productCode": "RCS_67a450caccaccb087b165e76_v4_test_1",
- "translation": "en_AU",
- "sourceId": "v4_test_1",
- "sku": "v4_test_1",
- "isMain": true,
- "otherTranslations": [
- "de_AT",
- "de_DE",
- "tr_TR"
], - "name": "RCv4 Test Product",
- "summary": "This is a v4 test product 1 for Rezdy Connect demonstration and test purpose.",
- "details": "<h1>This is a v4 test product 1 for Rezdy Connect demonstration and test purpose.</h1>. It complies with the RezdyConnect version 4 specification. It contains all mandatory field and some optional, to see a full example please see the RezdyConnect specification.",
- "highlights": [
- "Highlight location 1",
- "Highlight location 2",
- "Highlight location 2"
], - "inclusions": [
- "Inclusion 1",
- "Inclusion 2",
- "Inclusion 2"
], - "exclusions": [
- "Exclusion 1",
- "Exclusion 2",
- "Exclusion 2"
], - "images": [
- {
- "title": "Image 1 title"
}
], - "isAppointmentNeeded": true,
- "faqParticipants": "Faq1: Answer1, Faq2: Answer2",
- "additionalInformation": "Additional Information",
- "customerShouldBring": "Customer Should Bring",
- "locationAddress": {
- "googlePlaceId": "0",
- "locationName": "V4 test product location",
- "address": "V4 test product location address",
- "locationInfo": "V4 test product location info",
- "latitude": 0,
- "longitude": 0
}, - "meetingPoint": {
- "googlePlaceId": "0",
- "locationName": "V4 test meeting point location",
- "address": "V4 test meeting point address",
- "locationInfo": "V4 test meeting point info",
- "latitude": 0,
- "longitude": 0
}, - "pointsOfInterest": [
- {
- "googlePlaceId": "0",
- "locationName": "V4 test Point Of Interest location",
- "address": "V4 test Point Of Interest address",
- "locationInfo": "V4 test Point Of Interest info",
- "latitude": 0,
- "longitude": 0,
- "relationType": "ADMISSION_TICKET"
}
], - "pickup": {
- "id": "0",
- "name": "V4 test pickup location",
- "validFrom": "2024-10-22T00:00:00",
- "validTo": "2025-10-22T00:00:00",
- "additionalNotes": "V4 test pickup location additional info",
- "otherPickupLocationAllowed": true,
- "otherLocationInstructions": "V4 test pickup location, other location instructions",
- "makeYourOwnWay": true
}, - "variations": [
- {
- "id": "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1",
- "sourceId": "v4_test_1_variation_1",
- "variationMappingId": "P3Z8FC",
- "name": "V4 test product 1 Variation 1",
- "offerLanguages": [
- "en_US",
- "de_DE",
- "es_ES",
- "de_AT",
- "tr_TR"
], - "guestTypes": [
- {
- "sourceId": "adult",
- "label": "Adult",
- "originalPrice": 12000
}, - {
- "sourceId": "child",
- "label": "Child",
- "originalPrice": 6000
}
], - "formFields": [
- {
- "label": "First Name",
- "type": "TEXT",
- "guest": { },
- "displayOther": false,
- "sortOrder": 1
}, - {
- "label": "Last Name",
- "type": "TEXT",
- "guest": { },
- "displayOther": false,
- "sortOrder": 2
}, - {
- "label": "E-mail",
- "type": "TEXT",
- "guest": { },
- "displayOther": false,
- "sortOrder": 3
}
]
}
], - "timezone": "Australia/Sydney",
- "currency": "AUD",
- "operator": {
- "id": "67b6b459d289b8505d62e3e0",
- "alias": "apispecificationdemosupplierdonotedit"
}, - "barcodeOutputType": "ORDER",
- "isUpsell": false,
- "upsells": [ ],
- "ratings": {
- "rating": 100,
- "count": 4.5
}, - "accessibilityTags": [
- "MOBILITY_ACCESSIBLE"
], - "suitabilityTags": [
- "SINGLES",
- "FAMILY"
], - "durationTags": [
- "SHORT_TRIPS"
], - "themeTags": [
- "FOOD_AND_DRINKS"
], - "categoryTags": [
- "FOOD_TOURS"
], - "operatorCatalogs": [
- {
- "value": "Walking tours",
- "sortOrder": 1
}, - {
- "value": "Walking tours",
- "sortOrder": 1
}
], - "sortOrder": 1,
- "waitListingEnabled": false,
- "taxes": [ ],
- "openingHours": [
- {
- "from": "2024-10-22T00:00:00",
- "to": "2025-10-23T00:00:00",
- "daysOfTheWeek": [
- {
- "day": "SATURDAY",
- "times": [
- {
- "openTime": "08:00:00",
- "closeTime": "17:00:00"
}
]
}, - {
- "day": "SUNDAY",
- "times": [
- {
- "openTime": "08:00:00",
- "closeTime": "17:00:00"
}
]
}
]
}
], - "dateCreated": "2025-03-01T00:20:31.189541161Z"
}
], - "lastId": "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU"
}
Load an existing product by product code and translation
productCode required | string Example: RCS_67a450caccaccb087b165e76_v4_test_1 Product code |
translation required | string Example: en_AU ISO 639 two-letter uppercase code with BCP 47 language variants uppercased, separated by underscore |
productCode required | string Permanent code assigned to a product that is unique across operators, together with a translation it does uniquely identify a product |
translation required | string ISO 639 two-letter code (lowercase) with two-letter BCP 47 language variants (uppercase), separated by underscore e.g. en_US. Standardized 5 character Locale. |
sku required | string |
isMain required | boolean Indicates if this is a main version of a product content translation. |
otherTranslations | Array of strings Other translations this product has. |
name required | string |
summary | string |
details | string |
highlights | Array of strings |
inclusions | Array of strings |
exclusions | Array of strings |
Array of objects (MediaDto) | |
Array of objects (MediaDto) | |
isAppointmentNeeded required | boolean |
faqParticipants | string |
additionalInformation | string |
customerShouldBring | string |
object (ProductLocationDto) | |
object (ProductLocationDto) | |
Array of objects (PoiLocationDto) | |
object (PickupDto) | |
required | Array of objects (VariationDto) |
required | object Timezone format, according to names from the standard tz database, "Area/Location". |
currency required | string Enum: "AED" "ANG" "ARS" "AUD" "AWG" "AZN" "BGN" "BHD" "BOB" "BRL" "BYR" "CAD" "CHF" "CLP" "CNY" "COP" "CZK" "DKK" "EGP" "EUR" "FJD" "GBP" "GEL" "HKD" "HRK" "HUF" "IDR" "ILS" "INR" "ISK" "JOD" "JPY" "KES" "KRW" "KWD" "KZT" "LTL" "LVL" "MAD" "MKD" "MUR" "MXN" "MYR" "NGN" "NOK" "NZD" "PGK" "PHP" "OMR" "PEN" "PLN" "PYG" "QAR" "RON" "RSD" "RUB" "SAR" "SBD" "SEK" "SGD" "SRD" "SYP" "THB" "TOP" "TRY" "TWD" "UAH" "USD" "UYU" "VEF" "VUV" "WST" "XAF" "XOF" "XPF" "YER" "ZAR" "AFA" "ALL" "DZD" "AMD" "BSD" "BDT" "BBD" "BZD" "BMD" "BWP" "BND" "BIF" "KHR" "CVE" "KYD" "KMF" "BAM" "CRC" "CUP" "CYP" "DJF" "DOP" "XCD" "ECS" "SVC" "ERN" "EEK" "ETB" "FKP" "CDF" "GMD" "GHS" "GIP" "GTQ" "GNF" "GWP" "GYD" "HTG" "HNL" "IRR" "IQD" "JMD" "AOA" "KGS" "KIP" "LAK" "LBP" "LRD" "LYD" "LSL" "MOP" "MGF" "MGA" "MWK" "MVR" "MTL" "MRO" "MDL" "MNT" "MZM" "MMK" "NAD" "NPR" "NIO" "KPW" "PKR" "PAB" "RWF" "STD" "SCR" "SLL" "SKK" "SIT" "SOS" "LKR" "SHP" "SDD" "SZL" "TJS" "TZS" "TTD" "TND" "TMM" "UGX" "UZS" "VND" "YUM" "ZMK" "ZWD" "AFN" "MZN" "UYI" "ZMW" "GHC" "GGP" "IMP" "JEP" "TRL" "TVD" "BTC" "BTN" "BYN" "CLF" "CNH" "CUC" "MRU" "SDG" "SSP" "STN" "TMT" "XAG" "XAU" "XDR" "XPD" "XPT" "ZWL" ISO 4217 3 letter alphabetic codes |
required | object (ProductOperatorDto) |
barcodeOutputType required | string Enum: "ORDER" "PARTICIPANT" |
offerPdf | Array of strings |
isUpsell required | boolean |
Array of objects (UpsellDto) | |
object (RatingDto) | |
accessibilityTags | Array of strings Items Enum: "WHEELCHAIR_FRIENDLY" "VISION_IMPAIRED" "MOBILITY_ACCESSIBLE" |
suitabilityTags | Array of strings Items Enum: "FAMILY" "ADULT_ONLY" "COUPLES" "CHILDREN" "SINGLES" "ROMANTIC" "GROUPS" "BUDGET" "LUXURY" |
durationTags | Array of strings Items Enum: "DAY_TRIPS" "SHORT_TRIPS" "EXTENDED_TRIPS" "HALF_DAY" "FULL_DAY" |
themeTags | Array of strings Items Enum: "ADVENTURE_AND_OUTDOORS" "CULTURAL_HISTORICAL_AND_ARTS" "RENTALS_AND_CHARTERS" "TEAM_BUILDING_AND_WORKSHOPS" "FOOD_AND_DRINKS" "NATURE_AND_WILDLIFE" "TRANSFERS_AND_TRANSPORTATION" "URBAN_AND_UNIQUE_EXPERIENCES" "WELLNESS_AND_RELAXATION" |
categoryTags | Array of strings Items Enum: "AIR_TOURS" "AMUSEMENT_CENTER" "ARTS_AND_CRAFTS" "BEAUTY" "BIRDWATCHING_AND_NATURE_TOURS" "BOTANICAL_GARDENS_AND_ZOOS" "BUS_TRANSFERS" "CLASSES" "CULTURAL_IMMERSIONS" "CYCLING_AND_MOUNTAIN_BIKING" "DINING" "DIVING_AND_SNORKELING" "ESCAPE_ROOMS" "EXTREME_SPORTS" "FESTIVALS_AND_EVENTS" "FISHING" "FLIGHT_SIMULATIONS" "FOOD_TOURS" "GHOST_TOURS" "HEALTH_AND_FITNESS" "HIKING_AND_TREKKING" "HISTORICAL_SITES_AND_MONUMENTS" "HISTORY_TOURS" "HOP_ON_HOP_OFF_TOURS" "MOTOR_SPORTS" "MUSEUMS_AND_ART_GALLERIES" "NATIONAL_PARKS_AND_RESERVES" "NIGHT_TOURS" "OFF_ROAD_AND_4WD" "PARTY" "PHOTOGRAPHY_TOURS" "POINT_TO_POINT_TRANSFERS" "PUB_AND_BAR_TOURS" "RELIGIOUS_SITES" "RETREATS" "ROCK_CLIMBING_AND_ABSEILING" "SAILING_AND_CRUISES" "SAUNAS_AND_THERMAL_BATHS" "SEAPLANE_TRANSFERS" "SHUTTLE_TRANSFERS" "SLEDDING_AND_RIDING" "SPA_TREATMENTS_AND_MASSAGE" "SPORTS" "TASTING" "TEAM_AND_CORPORATE_EVENTS" "TEAM_BUILDING_ACTIVITIES" "THEATRE_AND_PERFORMANCES" "THEME_PARKS_AND_ATTRACTIONS" "TICKETS_AND_PASSES" "TRAIN_TRANSFERS" "VIRTUAL_REALITY_EXPERIENCES" "WALKING_TOURS" "WATER_SPORTS" "WATERBASED_TOURS" "WILDLIFE_SAFARIS_AND_TOURS" "WINE_TOURS" "WORKSHOPS_AND_CLASSES" |
Array of objects (OperatorCatalogDto) | |
sortOrder | integer <int32> |
waitListingEnabled required | boolean |
taxes | Array of objects (TaxDto) |
Array of objects (OpeningHoursDto) | |
dateCreated required | string <date-time> |
dateUpdated | string <date-time> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
Product RCS_67a450caccaccb087b165e76_v4_test_1
details https://api.rezdy-staging.com/distribution/v2/products/code/RCS_67a450caccaccb087b165e76_v4_test_1/en_AU
{- "id": "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU",
- "productCode": "RCS_67a450caccaccb087b165e76_v4_test_1",
- "translation": "en_AU",
- "sourceId": "v4_test_1",
- "sku": "v4_test_1",
- "isMain": true,
- "otherTranslations": [
- "de_AT",
- "de_DE",
- "tr_TR"
], - "name": "RCv4 Test Product",
- "summary": "This is a v4 test product 1 for Rezdy Connect demonstration and test purpose.",
- "details": "<h1>This is a v4 test product 1 for Rezdy Connect demonstration and test purpose.</h1>. It complies with the RezdyConnect version 4 specification. It contains all mandatory field and some optional, to see a full example please see the RezdyConnect specification.",
- "highlights": [
- "Highlight location 1",
- "Highlight location 2",
- "Highlight location 2"
], - "inclusions": [
- "Inclusion 1",
- "Inclusion 2",
- "Inclusion 2"
], - "exclusions": [
- "Exclusion 1",
- "Exclusion 2",
- "Exclusion 2"
], - "images": [
- {
- "title": "Image 1 title"
}
], - "isAppointmentNeeded": true,
- "faqParticipants": "Faq1: Answer1, Faq2: Answer2",
- "additionalInformation": "Additional Information",
- "customerShouldBring": "Customer Should Bring",
- "locationAddress": {
- "googlePlaceId": "0",
- "locationName": "V4 test product location",
- "address": "V4 test product location address",
- "locationInfo": "V4 test product location info",
- "latitude": 0,
- "longitude": 0
}, - "meetingPoint": {
- "googlePlaceId": "0",
- "locationName": "V4 test meeting point location",
- "address": "V4 test meeting point address",
- "locationInfo": "V4 test meeting point info",
- "latitude": 0,
- "longitude": 0
}, - "pointsOfInterest": [
- {
- "googlePlaceId": "0",
- "locationName": "V4 test Point Of Interest location",
- "address": "V4 test Point Of Interest address",
- "locationInfo": "V4 test Point Of Interest info",
- "latitude": 0,
- "longitude": 0,
- "relationType": "ADMISSION_TICKET"
}
], - "pickup": {
- "id": "0",
- "name": "V4 test pickup location",
- "validFrom": "2024-10-22T00:00:00",
- "validTo": "2025-10-22T00:00:00",
- "additionalNotes": "V4 test pickup location additional info",
- "otherPickupLocationAllowed": true,
- "otherLocationInstructions": "V4 test pickup location, other location instructions",
- "makeYourOwnWay": true
}, - "variations": [
- {
- "id": "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1",
- "sourceId": "v4_test_1_variation_1",
- "variationMappingId": "P3Z8FC",
- "name": "V4 test product 1 Variation 1",
- "offerLanguages": [
- "en_US",
- "de_DE",
- "es_ES",
- "de_AT",
- "tr_TR"
], - "guestTypes": [
- {
- "sourceId": "adult",
- "label": "Adult",
- "originalPrice": 12000
}, - {
- "sourceId": "child",
- "label": "Child",
- "originalPrice": 6000
}
], - "formFields": [
- {
- "label": "First Name",
- "type": "TEXT",
- "guest": { },
- "displayOther": false,
- "sortOrder": 1
}, - {
- "label": "Last Name",
- "type": "TEXT",
- "guest": { },
- "displayOther": false,
- "sortOrder": 2
}, - {
- "label": "E-mail",
- "type": "TEXT",
- "guest": { },
- "displayOther": false,
- "sortOrder": 3
}
]
}
], - "timezone": "Australia/Sydney",
- "currency": "AUD",
- "operator": {
- "id": "67b6b459d289b8505d62e3e0",
- "alias": "apispecificationdemosupplierdonotedit"
}, - "barcodeOutputType": "ORDER",
- "isUpsell": false,
- "upsells": [ ],
- "ratings": {
- "rating": 100,
- "count": 4.5
}, - "accessibilityTags": [
- "MOBILITY_ACCESSIBLE"
], - "suitabilityTags": [
- "SINGLES",
- "FAMILY"
], - "durationTags": [
- "SHORT_TRIPS"
], - "themeTags": [
- "FOOD_AND_DRINKS"
], - "categoryTags": [
- "FOOD_TOURS"
], - "operatorCatalogs": [
- {
- "value": "Walking tours",
- "sortOrder": 1
}, - {
- "value": "Walking tours",
- "sortOrder": 1
}
], - "sortOrder": 1,
- "waitListingEnabled": false,
- "taxes": [ ],
- "openingHours": [
- {
- "from": "2024-10-22T00:00:00",
- "to": "2025-10-23T00:00:00",
- "daysOfTheWeek": [
- {
- "day": "SATURDAY",
- "times": [
- {
- "openTime": "08:00:00",
- "closeTime": "17:00:00"
}
]
}, - {
- "day": "SUNDAY",
- "times": [
- {
- "openTime": "08:00:00",
- "closeTime": "17:00:00"
}
]
}
]
}
], - "dateCreated": "2025-03-01T00:20:31.189541161Z"
}
This service returns a list of availability timeslots for a list of variationsIds, matching specific filters. The service response contains a list of timeslots, including their availability and pricing details.
Pricing in a timeslot can be different than the pricing of a product variation, in a case of a dynamic pricing when a supplier overrides a price for a specific timeslot or a guest type.
fromDateTime required | string <date-time> Example: fromDateTime=2025-01-01T10:00 Filter timeslots starting at, or after |
toDateTime required | string <date-time> Example: toDateTime=2025-02-01T10:00 Filter timeslots starting at, or before |
variationIds required | string Example: variationIds=RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1&variationIds=RCS_67a450caccaccb087b165e76_v4_test_1_de_AT_v4_test_1_variation_2 Search availability timeslots of all specified variations. The variations have to belong to a single operator |
guestTypeIds | Array of strings unique Example: guestTypeIds=adult&guestTypeIds=child Filter timeslots having specified guest type Ids |
guestTypeLabels | Array of strings unique Example: guestTypeLabels=Adult&guestTypeLabels=Child Filter timeslots having specified guest type labels |
guestTypeMinAvailability | integer <int32> Example: guestTypeMinAvailability=4 Filter timeslots having a guest type with min availability |
minAvailability | integer <int32> Example: minAvailability=5 Filter timeslots having a min availability |
lastId | string Example: lastId=RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1-2025-04-30T23:00:00Z-2025-05-01T00:00:00Z Id of the last retrieved record, use it to load the next page. See #section/Overview/Pagination for more details |
limit | integer <int32> Example: limit=10 Page limit. See #section/Overview/Pagination for more details. The default, as well as the maximum is 100. |
required | Array of objects (AvailabilityResponse) |
lastId | string |
required | Array of objects (AvailabilityResponse) |
lastId | string |
required | Array of objects (AvailabilityResponse) |
lastId | string |
required | Array of objects (AvailabilityResponse) |
lastId | string |
required | Array of objects (AvailabilityResponse) |
lastId | string |
required | Array of objects (AvailabilityResponse) |
lastId | string |
required | Array of objects (AvailabilityResponse) |
lastId | string |
Product variation's RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1
availability in interval from 2025-06-01T09:00 to 2025-06-02T09:00: https://api.rezdy-staging.com/distribution/v2/availability?apiKey=69f708868ddc45eaa1f9b9fad1ddeba5&fromDateTime=2025-06-01T09:00&toDateTime=2025-06-02T09:00&variationIds=RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1&variationIds=RCS_67a450caccaccb087b165e76_v4_test_1_de_AT_v4_test_1_variation_2&timezone=Australia/Sydney
{- "availability": [
- {
- "variationId": "RCS_67a450caccaccb087b165e76_v4_test_1_de_AT_v4_test_1_variation_2",
- "startDateTime": "2025-03-02T08:00:00Z",
- "startDateTimeLocal": "2025-03-02T09:00",
- "endDateTime": "2025-03-02T09:00:00Z",
- "endDateTimeLocal": "2025-03-02T10:00",
- "quantityAvailable": 100,
- "totalCapacity": 100,
- "allDay": false,
- "guestTypes": [
- {
- "label": "Adult",
- "retailPrice": 10000,
- "sourceId": "adult"
}, - {
- "label": "Child",
- "retailPrice": 5000,
- "sourceId": "child"
}
]
}
], - "lastId": "RCS_67a450caccaccb087b165e76_v4_test_1_de_AT_v4_test_1_variation_2-2025-03-02T08:00:00Z-2025-03-02T09:00:00Z"
}
This service returns a list of availability timeslots for a specific date range. The service response contains a list of timeslots, including their availability and pricing details.
Pricing in a timeslot can be different than the pricing of a product variation, in a case of a dynamic pricing when a supplier overrides a price for a specific timeslot or a guest type.
variationId required | string Example: RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1 Get availability linked to Variation id |
fromDateTime required | string <date-time> Example: fromDateTime=2025-01-01T10:00 Filter timeslots starting at, or after |
toDateTime required | string <date-time> Example: toDateTime=2025-02-01T10:00 Filter timeslots starting at, or before |
required | Array of objects (AvailabilityResponse) |
lastId | string |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
Retrieve product variation's RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1
single timeslot availability starting at 9:00 am Australia/Sydney local time:
https://api.rezdy-staging.com/distribution/v2/availability/RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1?apiKey=69f708868ddc45eaa1f9b9fad1ddeba5&fromDateTime=2025-06-01T09:00&toDateTime=2025-06-01T09:00&timezone=Australia/Sydney
{- "availability": [
- {
- "variationId": "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1",
- "startDateTime": "2025-05-31T23:00:00Z",
- "startDateTimeLocal": "2025-06-01T09:00",
- "endDateTime": "2025-06-01T00:00:00Z",
- "endDateTimeLocal": "2025-06-01T10:00",
- "quantityAvailable": 100,
- "totalCapacity": 100,
- "allDay": false,
- "guestTypes": [
- {
- "label": "Adult",
- "retailPrice": 10000,
- "sourceId": "adult"
}, - {
- "label": "Child",
- "retailPrice": 5000,
- "sourceId": "child"
}
]
}
]
}
id required | string |
resellerReference required | string |
Array of objects (CancellationRequest.Item) | |
bookingFeatures | Array of strings unique Items Value: "DISABLE_CUSTOMER_NOTIFICATION" |
id required | string |
operatorReference required | string |
resellerReference required | string |
resellerId required | string |
status required | string Enum: "RESERVATION_STARTED" "RESERVED" "RESERVATION_FAILED" "CONFIRMATION_STARTED" "CONFIRMED" "CONFIRMATION_FAILED" "CANCELLATION_STARTED" "CANCELLED" "CANCELLATION_FAILED" |
required | Array of objects (CancellationResponse.Item) |
dateCreated required | string <date-time> |
dateUpdated | string <date-time> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
Create a basic booking with single guest type https://api.rezdy-staging.com/distribution/v2/booking/cancel?apiKey=69f708868ddc45eaa1f9b9fad1ddeba5
{- "id": "6c08a2ec-de46-4143-aca0-26959260a17f",
- "resellerReference": "ResellerApiDemoBooking2",
- "items": [
- {
- "itemId": "ecd62bea-f743-4a2f-a34b-64ec3700eda1"
}
]
}
Create a basic booking with single guest type https://api.rezdy-staging.com/distribution/v2/booking/cancel?apiKey=69f708868ddc45eaa1f9b9fad1ddeba5
{- "id": "6c08a2ec-de46-4143-aca0-26959260a17f",
- "operatorReference": "operatorReference123",
- "resellerReference": "ResellerApiDemoBooking2",
- "status": "CANCELLED",
- "items": [
- {
- "itemId": "ecd62bea-f743-4a2f-a34b-64ec3700eda1",
- "operatorReference": ""
}
], - "dateCreated": "2025-03-01T00:20:31.189541161Z",
- "dateUpdated": "2025-03-04T00:20:31.189541161Z"
}
id required | string |
resellerReference required | string |
required | Array of objects (BookingRequest.Item) |
object (Customer) | |
object (BookingRequest.CustomerPaid) An amount, you as a reseller charged the customer for this booking, inclusive of all taxes and fees. This could differ from the default price calculated by an underlying BSw. | |
resellerComments | Array of strings |
id required | string |
operatorReference | string |
resellerReference required | string |
status required | string Enum: "RESERVATION_STARTED" "RESERVED" "RESERVATION_FAILED" "CONFIRMATION_STARTED" "CONFIRMED" "CONFIRMATION_FAILED" "CANCELLATION_STARTED" "CANCELLED" "CANCELLATION_FAILED" |
object (Customer) | |
required | Array of objects (Item) |
object (OrderBarcode) | |
Array of objects (Tax) | |
total | number The total amount for this booking, as calculated by underlying booking software. This could differ from the actual price the customer paid for you as a reseller. |
currency | string Enum: "AED" "ANG" "ARS" "AUD" "AWG" "AZN" "BGN" "BHD" "BOB" "BRL" "BYR" "CAD" "CHF" "CLP" "CNY" "COP" "CZK" "DKK" "EGP" "EUR" "FJD" "GBP" "GEL" "HKD" "HRK" "HUF" "IDR" "ILS" "INR" "ISK" "JOD" "JPY" "KES" "KRW" "KWD" "KZT" "LTL" "LVL" "MAD" "MKD" "MUR" "MXN" "MYR" "NGN" "NOK" "NZD" "PGK" "PHP" "OMR" "PEN" "PLN" "PYG" "QAR" "RON" "RSD" "RUB" "SAR" "SBD" "SEK" "SGD" "SRD" "SYP" "THB" "TOP" "TRY" "TWD" "UAH" "USD" "UYU" "VEF" "VUV" "WST" "XAF" "XOF" "XPF" "YER" "ZAR" "AFA" "ALL" "DZD" "AMD" "BSD" "BDT" "BBD" "BZD" "BMD" "BWP" "BND" "BIF" "KHR" "CVE" "KYD" "KMF" "BAM" "CRC" "CUP" "CYP" "DJF" "DOP" "XCD" "ECS" "SVC" "ERN" "EEK" "ETB" "FKP" "CDF" "GMD" "GHS" "GIP" "GTQ" "GNF" "GWP" "GYD" "HTG" "HNL" "IRR" "IQD" "JMD" "AOA" "KGS" "KIP" "LAK" "LBP" "LRD" "LYD" "LSL" "MOP" "MGF" "MGA" "MWK" "MVR" "MTL" "MRO" "MDL" "MNT" "MZM" "MMK" "NAD" "NPR" "NIO" "KPW" "PKR" "PAB" "RWF" "STD" "SCR" "SLL" "SKK" "SIT" "SOS" "LKR" "SHP" "SDD" "SZL" "TJS" "TZS" "TTD" "TND" "TMM" "UGX" "UZS" "VND" "YUM" "ZMK" "ZWD" "AFN" "MZN" "UYI" "ZMW" "GHC" "GGP" "IMP" "JEP" "TRL" "TVD" "BTC" "BTN" "BYN" "CLF" "CNH" "CUC" "MRU" "SDG" "SSP" "STN" "TMT" "XAG" "XAU" "XDR" "XPD" "XPT" "ZWL" |
dateCreated required | string <date-time> |
dateUpdated | string <date-time> |
resellerComments | Array of strings |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
Create a basic booking with single guest type https://api.rezdy-staging.com/distribution/v2/booking/confirm?apiKey=69f708868ddc45eaa1f9b9fad1ddeba5
{- "id": "6c08a2ec-de46-4143-aca0-26959260a17f",
- "resellerReference": "ResellerApiDemoBooking1",
- "resellerComments": [
- "Reseller comments for booking cart"
], - "items": [
- {
- "itemId": "16f86bd3-72e0-4f6f-8472-72b29738b4ec",
- "resellerComments": [
- "Reseller comments for item"
]
}
]
}
Create a basic booking with single guest type https://api.rezdy-staging.com/distribution/v2/booking/confirm?apiKey=69f708868ddc45eaa1f9b9fad1ddeba5
{- "id": "6c08a2ec-de46-4143-aca0-26959260a17f",
- "operatorReference": "operatorReference123",
- "resellerReference": "ResellerApiDemoBooking1",
- "status": "CONFIRMED",
- "items": [
- {
- "itemId": "16f86bd3-72e0-4f6f-8472-72b29738b4ec",
- "productId": "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU",
- "variationId": "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1",
- "startDateTime": "2025-03-01T22:00:00Z",
- "startDateTimeLocal": "2025-03-02T09:00:00",
- "guestTypes": [
- {
- "label": "Adult",
- "quantity": 1,
- "price": 1000
}
], - "operatorReference": "",
- "guests": [ ],
- "resellerComments": [
- "Reseller comments for item"
]
}
], - "tax": { },
- "total": 1000,
- "currency": "AUD",
- "dateCreated": "2025-03-01T00:20:31.189541161Z",
- "dateUpdated": "2025-03-04T00:20:31.189541161Z",
- "resellerComments": [
- "Reseller comments for booking cart"
]
}
resellerReference required | string Used for idempotency check, must be unique per booking. |
required | Array of objects (ReservationRequest.Item) Only a single item per booking is currently supported, however this might change in the future versions of the API. |
customerPrice | integer <int64> An amount, you as a reseller intend to charge the customer for this booking, inclusive of all taxes and fees. This could differ from the default price calculated by an underlying BSw. |
currency | string Enum: "AED" "ANG" "ARS" "AUD" "AWG" "AZN" "BGN" "BHD" "BOB" "BRL" "BYR" "CAD" "CHF" "CLP" "CNY" "COP" "CZK" "DKK" "EGP" "EUR" "FJD" "GBP" "GEL" "HKD" "HRK" "HUF" "IDR" "ILS" "INR" "ISK" "JOD" "JPY" "KES" "KRW" "KWD" "KZT" "LTL" "LVL" "MAD" "MKD" "MUR" "MXN" "MYR" "NGN" "NOK" "NZD" "PGK" "PHP" "OMR" "PEN" "PLN" "PYG" "QAR" "RON" "RSD" "RUB" "SAR" "SBD" "SEK" "SGD" "SRD" "SYP" "THB" "TOP" "TRY" "TWD" "UAH" "USD" "UYU" "VEF" "VUV" "WST" "XAF" "XOF" "XPF" "YER" "ZAR" "AFA" "ALL" "DZD" "AMD" "BSD" "BDT" "BBD" "BZD" "BMD" "BWP" "BND" "BIF" "KHR" "CVE" "KYD" "KMF" "BAM" "CRC" "CUP" "CYP" "DJF" "DOP" "XCD" "ECS" "SVC" "ERN" "EEK" "ETB" "FKP" "CDF" "GMD" "GHS" "GIP" "GTQ" "GNF" "GWP" "GYD" "HTG" "HNL" "IRR" "IQD" "JMD" "AOA" "KGS" "KIP" "LAK" "LBP" "LRD" "LYD" "LSL" "MOP" "MGF" "MGA" "MWK" "MVR" "MTL" "MRO" "MDL" "MNT" "MZM" "MMK" "NAD" "NPR" "NIO" "KPW" "PKR" "PAB" "RWF" "STD" "SCR" "SLL" "SKK" "SIT" "SOS" "LKR" "SHP" "SDD" "SZL" "TJS" "TZS" "TTD" "TND" "TMM" "UGX" "UZS" "VND" "YUM" "ZMK" "ZWD" "AFN" "MZN" "UYI" "ZMW" "GHC" "GGP" "IMP" "JEP" "TRL" "TVD" "BTC" "BTN" "BYN" "CLF" "CNH" "CUC" "MRU" "SDG" "SSP" "STN" "TMT" "XAG" "XAU" "XDR" "XPD" "XPT" "ZWL" |
bookingFeatures | Array of strings unique Items Value: "DISABLE_CUSTOMER_NOTIFICATION" |
resellerComments | Array of strings |
id required | string |
operatorReference required | string |
resellerReference required | string |
expirationDate required | string <date-time> |
status required | string Enum: "RESERVATION_STARTED" "RESERVED" "RESERVATION_FAILED" "CONFIRMATION_STARTED" "CONFIRMED" "CONFIRMATION_FAILED" "CANCELLATION_STARTED" "CANCELLED" "CANCELLATION_FAILED" |
required | Array of objects (ReservationResponse.Item) |
Array of objects (Tax) | |
total | integer <int64> The total amount for this booking, as calculated by underlying booking software. This could differ from the actual price the customer is intended to paid for you as a reseller. |
currency | string Enum: "AED" "ANG" "ARS" "AUD" "AWG" "AZN" "BGN" "BHD" "BOB" "BRL" "BYR" "CAD" "CHF" "CLP" "CNY" "COP" "CZK" "DKK" "EGP" "EUR" "FJD" "GBP" "GEL" "HKD" "HRK" "HUF" "IDR" "ILS" "INR" "ISK" "JOD" "JPY" "KES" "KRW" "KWD" "KZT" "LTL" "LVL" "MAD" "MKD" "MUR" "MXN" "MYR" "NGN" "NOK" "NZD" "PGK" "PHP" "OMR" "PEN" "PLN" "PYG" "QAR" "RON" "RSD" "RUB" "SAR" "SBD" "SEK" "SGD" "SRD" "SYP" "THB" "TOP" "TRY" "TWD" "UAH" "USD" "UYU" "VEF" "VUV" "WST" "XAF" "XOF" "XPF" "YER" "ZAR" "AFA" "ALL" "DZD" "AMD" "BSD" "BDT" "BBD" "BZD" "BMD" "BWP" "BND" "BIF" "KHR" "CVE" "KYD" "KMF" "BAM" "CRC" "CUP" "CYP" "DJF" "DOP" "XCD" "ECS" "SVC" "ERN" "EEK" "ETB" "FKP" "CDF" "GMD" "GHS" "GIP" "GTQ" "GNF" "GWP" "GYD" "HTG" "HNL" "IRR" "IQD" "JMD" "AOA" "KGS" "KIP" "LAK" "LBP" "LRD" "LYD" "LSL" "MOP" "MGF" "MGA" "MWK" "MVR" "MTL" "MRO" "MDL" "MNT" "MZM" "MMK" "NAD" "NPR" "NIO" "KPW" "PKR" "PAB" "RWF" "STD" "SCR" "SLL" "SKK" "SIT" "SOS" "LKR" "SHP" "SDD" "SZL" "TJS" "TZS" "TTD" "TND" "TMM" "UGX" "UZS" "VND" "YUM" "ZMK" "ZWD" "AFN" "MZN" "UYI" "ZMW" "GHC" "GGP" "IMP" "JEP" "TRL" "TVD" "BTC" "BTN" "BYN" "CLF" "CNH" "CUC" "MRU" "SDG" "SSP" "STN" "TMT" "XAG" "XAU" "XDR" "XPD" "XPT" "ZWL" |
dateCreated required | string <date-time> |
dateUpdated | string <date-time> |
resellerComments | Array of strings |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
Create a basic reservation with single guest type https://api.rezdy-staging.com/distribution/v2/booking/reserve?apiKey=69f708868ddc45eaa1f9b9fad1ddeba5
{- "resellerReference": "ResellerApiDemoBooking1",
- "items": [
- {
- "variationId": "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1",
- "startDateTimeLocal": "2025-03-02T09:00",
- "guestTypes": [
- {
- "label": "Adult",
- "quantity": 1
}
]
}
], - "customerPrice": 1000,
- "currency": "AUD"
}
Create a basic reservation with single guest type https://api.rezdy-staging.com/distribution/v2/booking/reserve?apiKey=69f708868ddc45eaa1f9b9fad1ddeba5
{- "id": "6c08a2ec-de46-4143-aca0-26959260a17f",
- "operatorReference": "operatorReference123",
- "resellerReference": "ResellerApiDemoBooking1",
- "expirationDate": "2025-03-02T23:02:35.830467648Z",
- "status": "RESERVED",
- "items": [
- {
- "variationId": "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1",
- "startDateTime": "2025-03-01T22:00:00Z",
- "startDateTimeLocal": "2025-03-02T09:00:00",
- "guestTypes": [
- {
- "label": "Adult",
- "quantity": 1,
- "guestIds": [
- "1"
]
}
], - "itemId": "16f86bd3-72e0-4f6f-8472-72b29738b4ec",
- "pickup": {
- "name": "V4 test pickup location",
- "additionalNotes": "V4 test pickup location additional info",
- "otherPickupLocationAllowed": true,
- "otherLocationInstructions": "V4 test pickup location, other location instructions",
- "pickupLocations": [ ]
}, - "taxes": [ ]
}
], - "total": 1000,
- "currency": "AUD",
- "dateCreated": "2025-03-01T00:20:31.189541161Z",
- "resellerComments": [
- "Reseller comments for booking cart"
]
}
bookingId required | string Example: 6c08a2ec-de46-4143-aca0-26959260a17f Booking id |
id required | string |
operatorReference | string |
resellerReference required | string |
status required | string Enum: "RESERVATION_STARTED" "RESERVED" "RESERVATION_FAILED" "CONFIRMATION_STARTED" "CONFIRMED" "CONFIRMATION_FAILED" "CANCELLATION_STARTED" "CANCELLED" "CANCELLATION_FAILED" |
object (Customer) | |
required | Array of objects (Item) |
object (OrderBarcode) | |
Array of objects (Tax) | |
total | number The total amount for this booking, as calculated by underlying booking software. This could differ from the actual price the customer paid for you as a reseller. |
currency | string Enum: "AED" "ANG" "ARS" "AUD" "AWG" "AZN" "BGN" "BHD" "BOB" "BRL" "BYR" "CAD" "CHF" "CLP" "CNY" "COP" "CZK" "DKK" "EGP" "EUR" "FJD" "GBP" "GEL" "HKD" "HRK" "HUF" "IDR" "ILS" "INR" "ISK" "JOD" "JPY" "KES" "KRW" "KWD" "KZT" "LTL" "LVL" "MAD" "MKD" "MUR" "MXN" "MYR" "NGN" "NOK" "NZD" "PGK" "PHP" "OMR" "PEN" "PLN" "PYG" "QAR" "RON" "RSD" "RUB" "SAR" "SBD" "SEK" "SGD" "SRD" "SYP" "THB" "TOP" "TRY" "TWD" "UAH" "USD" "UYU" "VEF" "VUV" "WST" "XAF" "XOF" "XPF" "YER" "ZAR" "AFA" "ALL" "DZD" "AMD" "BSD" "BDT" "BBD" "BZD" "BMD" "BWP" "BND" "BIF" "KHR" "CVE" "KYD" "KMF" "BAM" "CRC" "CUP" "CYP" "DJF" "DOP" "XCD" "ECS" "SVC" "ERN" "EEK" "ETB" "FKP" "CDF" "GMD" "GHS" "GIP" "GTQ" "GNF" "GWP" "GYD" "HTG" "HNL" "IRR" "IQD" "JMD" "AOA" "KGS" "KIP" "LAK" "LBP" "LRD" "LYD" "LSL" "MOP" "MGF" "MGA" "MWK" "MVR" "MTL" "MRO" "MDL" "MNT" "MZM" "MMK" "NAD" "NPR" "NIO" "KPW" "PKR" "PAB" "RWF" "STD" "SCR" "SLL" "SKK" "SIT" "SOS" "LKR" "SHP" "SDD" "SZL" "TJS" "TZS" "TTD" "TND" "TMM" "UGX" "UZS" "VND" "YUM" "ZMK" "ZWD" "AFN" "MZN" "UYI" "ZMW" "GHC" "GGP" "IMP" "JEP" "TRL" "TVD" "BTC" "BTN" "BYN" "CLF" "CNH" "CUC" "MRU" "SDG" "SSP" "STN" "TMT" "XAG" "XAU" "XDR" "XPD" "XPT" "ZWL" |
dateCreated required | string <date-time> |
dateUpdated | string <date-time> |
resellerComments | Array of strings |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
The booking 6c08a2ec-de46-4143-aca0-26959260a17f
https://api.rezdy-staging.com/distribution/v2/booking/6c08a2ec-de46-4143-aca0-26959260a17f?apiKey=69f708868ddc45eaa1f9b9fad1ddeba5
{- "id": "6c08a2ec-de46-4143-aca0-26959260a17f",
- "operatorReference": "operatorReference123",
- "resellerReference": "ResellerApiDemoBooking1",
- "status": "RESERVED",
- "items": [
- {
- "itemId": "16f86bd3-72e0-4f6f-8472-72b29738b4ec",
- "productId": "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU",
- "variationId": "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1",
- "startDateTime": "2025-02-18T22:00:00Z",
- "startDateTimeLocal": "2025-02-19T09:00:00",
- "guestTypes": [
- {
- "label": "Adult",
- "quantity": 1,
- "price": 12000
}
], - "operatorReference": "",
- "guests": [ ]
}
], - "tax": { },
- "total": 10,
- "currency": "AUD",
- "dateCreated": "2025-03-01T00:20:31.189541161Z",
- "dateUpdated": "2025-03-04T00:20:31.189541161Z"
}
Catalogs help to organize products by assigning them to relevant categories or tagging them with key attributes. A well-structured catalogs improves the efficiency of product searches.
Search owned catalogs
name | string Catalog name value that should match. |
tags | Array of strings List of catalog tags that needs to be present in the catalog. |
status | string Enum: "DISABLED" "SAVED" Status of the catalogs. |
required | Array of objects (CatalogDto) List of catalogs |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
Search a 'Demo catalog' by name https://api.rezdy-staging.com/distribution/v2/catalog?name=Demo catalog
{- "catalogs": [
- {
- "catalogId": "2",
- "channelId": "13399",
- "status": "SAVED",
- "name": "Demo catalog",
- "variationIds": [
- "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1",
- "RCS_67a450caccaccb087b165e76_v4_test_1_de_AT_v4_test_1_variation_2"
], - "tags": [
- "demo"
], - "dateCreated": "2025-03-04T00:20:31.189Z",
- "dateUpdated": "2025-03-04T00:20:31.189Z"
}
]
}
Create a new catalog
name required | string Catalog name. |
variationIds | Array of strings List of product variationIds that should be added to the catalog. Unknown and inaccessible variationIds are filter out with warning. |
tags | Array of strings List of custom tags that can be added to the catalog. |
status | string Enum: "DISABLED" "SAVED" Status of the catalog that should be created. Only saved catalogs can be used on product search. |
required | object (CatalogDto) |
warning | string Optional warning when operation on catalog was was not fully successful. Example: Catalog update with invalid variation will proceed but variation will be filtered out |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
Create a catalog with single product variation
{- "name": "Demo simple catalog",
- "variationIds": [
- "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1"
]
}
Create a Demo catalog with 2 product variations
{- "catalog": {
- "catalogId": "1",
- "channelId": "13399",
- "status": "SAVED",
- "name": "Demo simple catalog",
- "variationIds": [
- "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1"
], - "tags": [ ],
- "dateCreated": "2025-03-04T00:20:31.189541161Z"
}
}
catalogId required | string Catalog id to search for |
catalogId required | string Unique identifier of the catalog |
status required | string Enum: "DISABLED" "SAVED" Status of the catalog. Only saved catalogs can be used on product search |
name required | string Catalog name |
variationIds required | Array of strings Product variation ids |
tags required | Array of strings Custom catalog tags |
dateCreated required | string <date-time> Date when catalog was created |
dateUpdated | string <date-time> Date when catalog was last updated |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
Get a Demo catalog https://api.rezdy-staging.com/distribution/v2/catalog/2
{- "catalogId": "2",
- "channelId": "13399",
- "status": "SAVED",
- "name": "Demo catalog",
- "variationIds": [
- "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1",
- "RCS_67a450caccaccb087b165e76_v4_test_1_de_AT_v4_test_1_variation_2"
], - "tags": [
- "demo"
], - "dateCreated": "2025-03-04T00:20:31.189541161Z",
- "dateUpdated": "2025-03-04T00:20:31.189541161Z"
}
Update an existing catalog
catalogId required | string Catalog id to search for |
name required | string Catalog name. |
variationIds required | Array of strings List of product variationIds that should be in the catalog. Unknown and inaccessible variationIds are filter out with warning. |
tags required | Array of strings List of custom tags that can be added to the catalog. |
status required | string Enum: "DISABLED" "SAVED" Status of the catalog. Only saved catalogs can be used on product search. |
required | object (CatalogDto) |
warning | string Optional warning when operation on catalog was was not fully successful. Example: Catalog update with invalid variation will proceed but variation will be filtered out |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
errorCode required | string |
errorMessage required | string |
object (DownstreamCallExceptionDto) | |
resource | string Enum: "AVAILABILITY" "BOOKING" "CATALOG" "COMPANY" "CUSTOMER" "PRODUCT" "VARIATION" "WEBHOOK" "GUEST_TYPE" |
Array of objects (RequestFormFields) | |
Array of objects (RequestGuestTypes) | |
minQuantity | integer <int32> |
maxQuantity | integer <int32> |
quantityAvailable | integer <int32> |
limit | integer <int32> |
Update a Demo catalog with Id 2 https://api.rezdy-staging.com/distribution/v2/catalog/2
{- "status": "SAVED",
- "name": "Demo catalog",
- "variationIds": [
- "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1",
- "RCS_67a450caccaccb087b165e76_v4_test_1_de_AT_v4_test_1_variation_2"
], - "tags": [
- "demo"
]
}
Update a Demo catalog with Id 2 https://api.rezdy-staging.com/distribution/v2/catalog/2
{- "catalog": {
- "catalogId": "2",
- "channelId": "13399",
- "status": "SAVED",
- "name": "Demo catalog",
- "variationIds": [
- "RCS_67a450caccaccb087b165e76_v4_test_1_en_AU_v4_test_1_variation_1",
- "RCS_67a450caccaccb087b165e76_v4_test_1_de_AT_v4_test_1_variation_2"
], - "tags": [
- "demo"
], - "dateCreated": "2025-03-04T00:20:31.189541161Z",
- "dateUpdated": "2025-03-04T00:20:32.189541161Z"
}
}