This document describes the specifications needed to connect an external distributor interested in sharing Weekendesk Single Voucher, our main Gift product. Single Voucher is a gift that contains an specific offer (hotel + activities) from our catalog but without any date selection, just a selection of the length of stay that the buyer wants to gift (1, 2 or 3 nights).
Single Voucher has 2 delivery types for the buyer, digital or physical:
Digital: The gift will be received immediately after the purchase in the form of a voucher received in the buyer’s email.
Physical: The gift will be received directly at the address specified by the buyer, inside a Box.
Once the beneficiary of the gift receives the Single Voucher, it can be redeemed on our beneficiary platform, where they can select the date when they want to use it and we will offer them some other options to enhance this gift with extra nights or extra activities or even to exchange the received single voucher. We may apply an extra cost to the beneficiary for the selection of more expensive dates.
As a distributor of Weekendesk, you will have your own set of offers. This means that Weekendesk selects a group of offers following some internal filters to prepare the final set for you, so each one can just check and interact with its assigned offers. The same happens with the orders, as a distributor, you will just see the orders belonging to you.
The workflow to be followed to use this API, is the following one:
Retrieve all the Single Voucher offers shared with you. Remember that as a distributor, you don't have access to the entire Weekendesk catalog, just a subset of offers prepared for you, previously selected by Weekendesk.
Retrieve the full detail of the offers previously shared with you. This will provide the content of each one of the offers shared in the previous step.
Retrieve the prices of the Single Vouchers. You will obtain the prices for each offer for LoS 1, 2 and 3 nights and for a family composition. You can also check the shipping costs to deliver to all the allowed countries in case it's a physical purchase.
When the client checks an offer that they are interested in, it is important to make a quote, just to ensure at the moment of the purchase, that the Single Voucher prices are up-to-date.
With the quote information, once everything is correct, you will perform an order request.
You can also perform post-purchase actions such as retrieving information of your orders or retrieving the voucher.
The API supports Basic Authentication as defined in RFC2617. You will have to authenticate each one of your requests by adding the following header:
Authorization: Basic Base64Encode(USERNAME:PASSWORD)
{
"appName": "Outbound API",
"date": "2024-05-23 10:42:11:486",
"traceId": "664f1d826eac5ce9f4a7500aba87fdfe",
"errorCode": "RESOURCE_NOT_FOUND",
"messages": [
"No offers available for the request"
],
"path": "uri=/single-voucher/offers/50536992"
}
If you receive an error that you want us to review, the traceId is needed to be able to track it.
For the errorCode field, we can have the following values:
BAD_REQUEST: When the json is not properly validated because of max/min, not null fields, etc.
SERVICE_UNAVAILABLE: When the service is not available.
INTERNAL_SERVER_ERROR: One service that we are consuming is returning an unknown error.
RESOURCE_NOT_FOUND: Not found response, like a booking not found by id.
POINT_OF_SALE_NOT_ALLOWED: the requested point of sale is not allowed.
AGENCY_DOES_NOT_EXIST: the requested agency for the distributor does not exist.
BOOKING_ALREADY_CANCELLED: the booking is already cancelled.
BOOKING_NOT_CANCELLABLE: for the cancellation fees endpoint, the requested booking is not cancellable.
These are the common response codes for the API:
200 Success.
400 Bad request, detailed message with the error.
401 Request incorrectly authenticated.
403 Not authorized to access this resource.
404 Resource not found, detailed message with the error.
500 Internal server error.
503 Service not available.
We have two environments (staging and production) and dedicated credentials for each one. You must contact Weekendesk team to receive the access to any of the environments. You must use the following urls depending on the environment you are using:
Staging: https://outbound-api.staging.weekendesk.com/single-voucher
Production: https://outbound-api.weekendesk.com/single-voucher
Description
This route will allow you to retrieve all the offers that Weekendesk have selected for you and that are available to sell as Single Voucher. The API will return just the available translations for each offer.
No parameter
Request URL
https://outbound-api.weekendesk.com/single-voucher/catalog
Example of a request with ES and FR selected.
curl -X 'GET' \
'https://outbound-api.weekendesk.com/single-voucher/catalog' \
-H 'accept: application/json'
catalogOffers
Attributes
id [number] - Unique identifier of the offer.
offerDetailUrl [string] - Url to ask for offer details.
title [string] - Titles of the offers in the selected languages of the request.
200 OK
{
"catalogOffers": {
"catalogOffer": [
{
"id": 4946022,
"offerDetailUrl": "https://outbound-api.staging.weekendesk.com/single-voucher/offers/4946022",
"title": {
"IT": "Romanticismo e bollicine in Provenza",
"FR": "Charme, romantisme et détente avec champagne en Provence",
"ES": "Escapada romántica con champán en la Provenza",
"NL": "Romantisch weekendje weg in de Provence inclusief champagne "
}
},
{
"id": 5053699,
"offerDetailUrl": "https://outbound-api.staging.weekendesk.com/single-voucher/offers/5053699",
"title": {
"IT": "Week end nel centro storico di Jaén",
"FR": "Week-end dans le centre historique de Jaén",
"ES": "Escapada en pleno centro histórico de Jaén con maravillosas vistas desde el hotel",
"NL": "Weekendje weg in het historische centrum van Jaén"
}
}
Description
This route provides you a way of extracting the detail of a set of offers. The API will return a response with detailed information about the offers containing the descriptions, thumbnails, categories, tags, information about the hotel, information about the room and information about the activities. For more detailed information about the fields in the response, check the schema section next to the example in the response below.
You will receive also information about the different variants we have for each offer. Currently, the list of variants we have for single voucher is:
E-VOUCHER: In order to obtain the voucher, you will have to call the vouchers endpoint after the order and provide it to the client.
BOX: The gift will be received inside a box in the address specified by the buyer.
Query parameters:
offerIds array[number] *mandatory
Request URL
https://outbound-api.weekendesk.com/single-voucher/offers?offerIds=21331516,2923622
CURL
curl -X 'GET' \
'https://outbound-api.weekendesk.com/single-voucher/offers?offerIds=21331516,2923622' \
-H 'accept: application/json'
Offers
Attributes
id [number] - Unique identifier of the offer - example: 21331516
activities
id [number] - Unique identifier of the activity - example: 32480
details - Specific aspects of the activity in the selected languages - example: OrderedMap { "it": List [ "Piscina interna riscaldata" ], "fr": List [ "Piscine intérieure chauffée" ], "es": List [ "Piscina interior climatizada" ] }.
duration - Duration of the activity
length[number] - example: 30
unit[string] - example: MINUTES.
highlights - Most remarkable details of the activity in the selected languages. - example: OrderedMap { "it": List [ "Vai a scaricare la tensione e a godere di un momento di puro relax." ], "fr": List [ "Venez relacher la pression et profiter d'un moment de pure détente." ], "es": List [ "Olvídate del estrés diario y disfruta del relax más intenso." ] }
name - Name of the activity in the selected languages. - example: OrderedMap { "it": "ingresso all'area relax", "fr": "Accès à l'espace détente", "es": "acceso a la zona de relax" }.
restrictions - Constraints of the activity in the selected languages. - example: OrderedMap { "it": List [ "I bambini sotto i 16 anni possono accedere al centro benessere sotto la supervisione di un adulto dalle 7:00 alle 10:00 (vasca idromassaggio e palestra esclusi).", "Nell'area acquatica, gli asciugamani non verranno forniti." ], "fr": List [ "Ouvert sur de larges baies vitrées donnant sur la terrasse, le parc et le Mont Blanc, le bassin de relaxation vous propose un parcours hydro tonique, équipé de buses massantes ainsi qu’un jacuzzi attenant. Séance d’aquagym et d'aquabike possibles.", "Dans l'espace aquatique, les serviettes de bain ne sont pas fournies" ], "es": List [ "Los niños menores de 16 años pueden acceder con un adulto de 07:00h a 10:00h (excepto la habitación con jacuzzi y gimnasio).", "En el espacio acuático no se facilita toalla." ] }
voucherRequired[boolean]- Defines if the activity has a required voucher that needs to be obtained from the documents endpoint. - example: "true"
categories - Offer grouping way.
id[number] - Unique identifier of the category. - example: 455.
name - Detail of the category in the selected languages. - example: OrderedMap { "it": "Paesi Mediterranei", "fr": "en Méditerranée", "es": "en el Mediterráneo" }.
images
index[number]
thumbnails
height [number] - Definition of the image height in pixels. - example: 595.
width [number] - Definition of the image width in pixels. - example: 1920.
url [string] - Url of the thumbnail. - example: https://test/id/size_FSImage_1_EDIT_lobby.jpg.
marketManagerMessages - Special comments from the market manager of the hotel in the selected languages. - example: OrderedMap { "es": "Mensaje del market manager", "it": "Messagio del market manager", "fr": "Message du market manager" }.
mealPlan [string] - Type of meal plan (ALL_INCLUSIVE, FULLBOARD, HALFBOARD, BREAKFAST, ROOM_ONLY) - Example: BREAKFAST.
property
id [number] - Unique identifier of the property. - Example: 5168.
name [string] - Name of the property. - Example: Hôtel Les Jardins de Sainte-Maxime.
descriptions - Description of the hotel in the selected languages. Example: OrderedMap { "it": "Situato vicino al Golfo di Saint-Tropez, segretamente nascosto sul l...", "fr": "A quelques pas d’une belle plage de sable et à quelques minutes de S...", "es": "Situado a las puertas del Golfo de Saint-Tropez, secretamente acurru..." }.
facilities - Details of the facilities provided by the property
category[string]- Detail of the facility type - Example: parking.
type
code[string] - Code of the facility. Example: private_parking.
name - Name of the facility. Example: OrderedMap { "it": "Parcheggio privato", "fr": "Parking privé", "es": "Aparcamiento privado" }.
location
address - Address of the property.
street[string] - Example: Chemin des Deux Ruisseaux.
zipCode [string] - Example: 83120.
city
code [number] - Unique identifier of the city. The reference used is the GeoNames geographical database. - Example: GN22321.
name - Name of the city in the selected languages. - Example: OrderedMap { "fr": "Paris", "es": "París" }.
country
code [string] - Unique identifier of the country. The reference used is the GeoNames geographical database. - Example: GN22.
name - Example: OrderedMap { "fr": "France", "es": "Francia" }.
geolocation - Coordinates of the property
latitude [number] - Example: 43.302.
longitude [number] - Example: 6.621913.
room - Details of the offer’s room.
id [number] - Unique identifier of the room. - Example: 156263.
area [number] - The surface of the room expressed in square meters. - Example: 18.
category [string] - Category of the room. Possible values: CLASSIC, COMFORT, TRADITION, SUPERIOR, DELUXE, PRIVILEGED, EXECUTIVE, PRESTIGE, FAMILY, WITHOUT_CATEGORY. - Example: STANDARD.
type [string] - Type of room. - Example: DOUBLE_BEDROOM.
view [string] - Views from the room. Possible values: SEA, LAKE, MOUNTAIN, GARDENS, CITY, GOLF, FOREST, COURT_YARD. - Example: SEA.
beds
count [number] - Example: 1.
type
code[string] - Code of the bed type. - Example: double.
name - Name of the facility. - Example: OrderedMap { "it": "letto matrimoniale", "fr": "lit double", "es": "cama doble" }.
capacity - Detail of the capacity of the room splitted in adults, children and babies.
adults [number] - Example: 2.
babies [number] - Example: 1.
children [number] - Example: 0.
max [number] - Example: 3.
facilities - Details of the facilities provided by the property
id [number] - Unique identifier of the facility - Example: 78.
category [string] - Detail of the facility type. - Example: bathroom.
type
code [string] - Code of the facility. - Example: hair_dryer.
name - Name of the facility. - Example: OrderedMap { "it": "Asciugacapelli", "fr": "Sèche-cheveux", "es": "Secador de pelo" }.
receptionHours
checkIn - Detail of the checkin conditions.
from [string] - Example: 990.
to [string] - Example: 1320.
checkOut - Detail of the checkout conditions.
from [string] - Example: 700.
to [string] - Example: 600.
stars [number] - Example: 3.
publication
pointsOfSale [string] - Countries where this offer is available to be sold. - Example: List [ "ES", "IT", "FR", "NL", "BE" ]].
from [string] - First day that is available (if needed). - Example: 2018-06-12T00:00:00.000Z.
to [string] - last day that the offer is available (if needed). - Example: 2023-06-12T00:00:00.000Z.
tags - Name of some offer features.
id [number] - Unique identifier of the tag (numeric). - Example: 146.
code [string] - Identifier of the tag (text). - Example: double_room_classic.
name - Detail of the tag in the selected languages. - Example: OrderedMap { "it": "Camera doppia classic", "fr": "Chambre double classique", "es": "Habitación doble clásica" }
title - Title of the offer in the selected languages of the request. - Example: OrderedMap { "it": "Weekend nel relax a Sainte-Maxime", "fr": "Week-end détente à Sainte-Maxime", "es": "Relax en Sainte-Maxime" }.
variants - Delivery types that are available for the offer
code [string] - Identifier of the variant. - Example: E_VOUCHER.
type [string] - Delivery type. - Example: DIGITAL.
offerDetailUrl [string] - Url to ask for offer details. - Example: https://outboundapi.com/offers/21331516
200 OK *we are including just 1 offer in the example
{
"offers": [
{
"id": 21331516,
"activities": [
{
"id": 32480,
"details": {
"it": [
"Piscina interna riscaldata"
],
"fr": [
"Piscine intérieure chauffée"
],
"es": [
"Piscina interior climatizada"
]
},
"duration": {
"length": 30,
"unit": "MINUTES"
},
"highlights": {
"it": [
"Vai a scaricare la tensione e a godere di un momento di puro relax."
],
"fr": [
"Venez relacher la pression et profiter d'un moment de pure détente."
],
"es": [
"Olvídate del estrés diario y disfruta del relax más intenso."
]
},
"name": {
"it": "ingresso all'area relax",
"fr": "Accès à l'espace détente",
"es": "acceso a la zona de relax"
},
"restrictions": {
"it": [
"I bambini sotto i 16 anni possono accedere al centro benessere sotto la supervisione di un adulto dalle 7:00 alle 10:00 (vasca idromassaggio e palestra esclusi).",
"Nell'area acquatica, gli asciugamani non verranno forniti."
],
"fr": [
"Ouvert sur de larges baies vitrées donnant sur la terrasse, le parc et le Mont Blanc, le bassin de relaxation vous propose un parcours hydro tonique, équipé de buses massantes ainsi qu’un jacuzzi attenant. Séance d’aquagym et d'aquabike possibles.",
"Dans l'espace aquatique, les serviettes de bain ne sont pas fournies"
],
"es": [
"Los niños menores de 16 años pueden acceder con un adulto de 07:00h a 10:00h (excepto la habitación con jacuzzi y gimnasio).",
"En el espacio acuático no se facilita toalla."
]
},
"voucherRequired": false
}
],
"categories": [
{
"id": 455,
"name": {
"it": "Paesi Mediterranei",
"fr": "en Méditerranée",
"es": "en el Mediterráneo"
}
}
],
"images": [
{
"index": 0,
"thumbnails": [
{
"height": 595,
"width": 1920,
"url": "https://test/id/size_FSImage_1_EDIT_lobby.jpg"
}
]
}
],
"marketManagerMessages": {
"es": "Mensaje del market manager",
"it": "Messagio del market manager",
"fr": "Message du market manager"
},
"mealPlan": "BREAKFAST",
"property": {
"id": 5168,
"name": "Hôtel Les Jardins de Sainte-Maxime",
"descriptions": {
"it": "Situato vicino al Golfo di Saint-Tropez, segretamente nascosto sul l...",
"fr": "A quelques pas d’une belle plage de sable et à quelques minutes de S...",
"es": "Situado a las puertas del Golfo de Saint-Tropez, secretamente acurru..."
},
"facilities": [
{
"category": "parking",
"type": {
"code": "private_parking",
"name": {
"it": "Parcheggio privato",
"fr": "Parking privé",
"es": "Aparcamiento privado"
}
}
}
],
"location": {
"address": {
"street": "Chemin des Deux Ruisseaux",
"zipCode": "83120"
},
"city": {
"code": "GN22321",
"name": {
"fr": "Paris",
"es": "París"
}
},
"country": {
"code": "GN22",
"name": {
"fr": "France",
"es": "Francia"
}
},
"geolocation": {
"latitude": 43.302,
"longitude": 6.621913
}
},
"room": {
"id": 156263,
"area": 18,
"category": "STANDARD",
"type": "DOUBLE_BEDROOM",
"view": "SEA",
"beds": [
{
"count": 1,
"type": {
"code": "double",
"name": {
"it": "letto matrimoniale",
"fr": "lit double",
"es": "cama doble"
}
}
}
],
"capacity": {
"adults": 2,
"babies": 1,
"children": 0,
"max": 3
},
"facilities": [
{
"id": 78,
"category": "bathroom",
"type": {
"code": "hair_dryer",
"name": {
"it": "Asciugacapelli",
"fr": "Sèche-cheveux",
"es": "Secador de pelo"
}
}
}
]
},
"receptionHours": {
"checkIn": {
"from": "990",
"to": "1320"
},
"checkOut": {
"from": "07:00",
"to": "600"
}
},
"stars": 3
},
"publication": {
"pointsOfSale": [
[
"ES",
"IT",
"FR",
"NL",
"BE"
]
],
"from": "2018-06-12T00:00:00.000Z",
"to": "2023-06-12T00:00:00.000Z"
},
"tags": [
{
"id": 146,
"code": "double_room_classic",
"name": {
"it": "Camera doppia classic",
"fr": "Chambre double classique",
"es": "Habitación doble clásica"
}
}
],
"title": {
"it": "Weekend nel relax a Sainte-Maxime",
"fr": "Week-end détente à Sainte-Maxime",
"es": "Relax en Sainte-Maxime"
},
"variants": [
{
"code": "E_VOUCHER",
"type": "DIGITAL"
},
"code": "BOX",
"type": "PHYSICAL"
],
"offerDetailUrl": "https://outboundapi.com/offers/21331516"
}
]
}
Description
This route provides you a way of extracting the details of a single offer. The API will return a response with detailed information about the offers containing the descriptions, thumbnails, categories, tags, information about the hotel, information about the room and information about the activities. For more detailed information about the fields in the response, check the schema section next to the example in the response below.
You will receive also information about the different variants we have for the offer. Currently, the list of variants we have for single voucher is:
E-VOUCHER: In order to obtain the voucher, you will have to call the vouchers endpoint after the order and provide it to the client.
BOX: The gift will be received inside a box in the address specified by the buyer.
Path parameter:
offerId [number] *mandatory
Request URL
hhttps://outbound-api.weekendesk.com/single-voucher/offers/21331516
CURL
curl -X 'GET' \
'https://outbound-api.weekendesk.com/single-voucher/offers/21331516' \
-H 'accept: application/json'
Offers
Attributes
id [number] - Unique identifier of the offer - example: 21331516
activities
id [number] - Unique identifier of the activity - example: 32480
details - Specific aspects of the activity in the selected languages - example: OrderedMap { "it": List [ "Piscina interna riscaldata" ], "fr": List [ "Piscine intérieure chauffée" ], "es": List [ "Piscina interior climatizada" ] }.
duration - Duration of the activity
length[number] - example: 30
unit[string] - example: MINUTES.
highlights - Most remarkable details of the activity in the selected languages. - example: OrderedMap { "it": List [ "Vai a scaricare la tensione e a godere di un momento di puro relax." ], "fr": List [ "Venez relacher la pression et profiter d'un moment de pure détente." ], "es": List [ "Olvídate del estrés diario y disfruta del relax más intenso." ] }
name - Name of the activity in the selected languages. - example: OrderedMap { "it": "ingresso all'area relax", "fr": "Accès à l'espace détente", "es": "acceso a la zona de relax" }.
restrictions - Constraints of the activity in the selected languages. - example: OrderedMap { "it": List [ "I bambini sotto i 16 anni possono accedere al centro benessere sotto la supervisione di un adulto dalle 7:00 alle 10:00 (vasca idromassaggio e palestra esclusi).", "Nell'area acquatica, gli asciugamani non verranno forniti." ], "fr": List [ "Ouvert sur de larges baies vitrées donnant sur la terrasse, le parc et le Mont Blanc, le bassin de relaxation vous propose un parcours hydro tonique, équipé de buses massantes ainsi qu’un jacuzzi attenant. Séance d’aquagym et d'aquabike possibles.", "Dans l'espace aquatique, les serviettes de bain ne sont pas fournies" ], "es": List [ "Los niños menores de 16 años pueden acceder con un adulto de 07:00h a 10:00h (excepto la habitación con jacuzzi y gimnasio).", "En el espacio acuático no se facilita toalla." ] }
voucherRequired[boolean]- Defines if the activity has a required voucher that needs to be obtained from the documents endpoint. - example: "true"
categories - Offer grouping way.
id[number] - Unique identifier of the category. - example: 455.
name - Detail of the category in the selected languages. - example: OrderedMap { "it": "Paesi Mediterranei", "fr": "en Méditerranée", "es": "en el Mediterráneo" }.
images
index[number]
thumbnails
height [number] - Definition of the image height in pixels. - example: 595.
width [number] - Definition of the image width in pixels. - example: 1920.
url [string] - Url of the thumbnail. - example: https://test/id/size_FSImage_1_EDIT_lobby.jpg.
marketManagerMessages - Special comments from the market manager of the hotel in the selected languages. - example: OrderedMap { "es": "Mensaje del market manager", "it": "Messagio del market manager", "fr": "Message du market manager" }.
mealPlan [string] - Type of meal plan (ALL_INCLUSIVE, FULLBOARD, HALFBOARD, BREAKFAST, ROOM_ONLY) - Example: BREAKFAST.
property
id [number] - Unique identifier of the property. - Example: 5168.
name [string] - Name of the property. - Example: Hôtel Les Jardins de Sainte-Maxime.
descriptions - Description of the hotel in the selected languages. Example: OrderedMap { "it": "Situato vicino al Golfo di Saint-Tropez, segretamente nascosto sul l...", "fr": "A quelques pas d’une belle plage de sable et à quelques minutes de S...", "es": "Situado a las puertas del Golfo de Saint-Tropez, secretamente acurru..." }.
facilities - Details of the facilities provided by the property
category[string]- Detail of the facility type - Example: parking.
type
code[string] - Code of the facility. Example: private_parking.
name - Name of the facility. Example: OrderedMap { "it": "Parcheggio privato", "fr": "Parking privé", "es": "Aparcamiento privado" }.
location
address - Address of the property.
street[string] - Example: Chemin des Deux Ruisseaux.
zipCode [string] - Example: 83120.
city
code [number] - Unique identifier of the city. The reference used is the GeoNames geographical database. - Example: GN22321.
name - Name of the city in the selected languages. - Example: OrderedMap { "fr": "Paris", "es": "París" }.
country
code [string] - Unique identifier of the country. The reference used is the GeoNames geographical database. - Example: GN22.
name - Example: OrderedMap { "fr": "France", "es": "Francia" }.
geolocation - Coordinates of the property
latitude [number] - Example: 43.302.
longitude [number] - Example: 6.621913.
room - Details of the offer’s room.
id [number] - Unique identifier of the room. - Example: 156263.
area [number] - The surface of the room expressed in square meters. - Example: 18.
category [string] - Category of the room. Possible values: CLASSIC, COMFORT, TRADITION, SUPERIOR, DELUXE, PRIVILEGED, EXECUTIVE, PRESTIGE, FAMILY, WITHOUT_CATEGORY. - Example: STANDARD.
type [string] - Type of room. - Example: DOUBLE_BEDROOM.
view [string] - Views from the room. Possible values: SEA, LAKE, MOUNTAIN, GARDENS, CITY, GOLF, FOREST, COURT_YARD. - Example: SEA.
beds
count [number] - Example: 1.
type
code[string] - Code of the bed type. - Example: double.
name - Name of the facility. - Example: OrderedMap { "it": "letto matrimoniale", "fr": "lit double", "es": "cama doble" }.
capacity - Detail of the capacity of the room splitted in adults, children and babies.
adults [number] - Example: 2.
babies [number] - Example: 1.
children [number] - Example: 0.
max [number] - Example: 3.
facilities - Details of the facilities provided by the property
id [number] - Unique identifier of the facility - Example: 78.
category [string] - Detail of the facility type. - Example: bathroom.
type
code [string] - Code of the facility. - Example: hair_dryer.
name - Name of the facility. - Example: OrderedMap { "it": "Asciugacapelli", "fr": "Sèche-cheveux", "es": "Secador de pelo" }.
receptionHours
checkIn - Detail of the checkin conditions.
from [string] - Example: 990.
to [string] - Example: 1320.
checkOut - Detail of the checkout conditions.
from [string] - Example: 700.
to [string] - Example: 600.
stars [number] - Example: 3.
publication
pointsOfSale [string] - Countries where this offer is available to be sold. - Example: List [ "ES", "IT", "FR", "NL", "BE" ]].
from [string] - First day that is available (if needed). - Example: 2018-06-12T00:00:00.000Z.
to [string] - last day that the offer is available (if needed). - Example: 2023-06-12T00:00:00.000Z.
tags - Name of some offer features.
id [number] - Unique identifier of the tag (numeric). - Example: 146.
code [string] - Identifier of the tag (text). - Example: double_room_classic.
name - Detail of the tag in the selected languages. - Example: OrderedMap { "it": "Camera doppia classic", "fr": "Chambre double classique", "es": "Habitación doble clásica" }
title - Title of the offer in the selected languages of the request. - Example: OrderedMap { "it": "Weekend nel relax a Sainte-Maxime", "fr": "Week-end détente à Sainte-Maxime", "es": "Relax en Sainte-Maxime" }.
variants - Delivery types that are available for the offer
code[string] - Identifier of the variant. - Example: E_VOUCHER.
type[string] - Delivery type. - Example: DIGITAL.
offerDetailUrl [string] - Url to ask for offer details. - Example: https://outboundapi.com/offers/21331516
200 OK
{
"offers": [
{
"id": 21331516,
"activities": [
{
"id": 32480,
"details": {
"it": [
"Piscina interna riscaldata"
],
"fr": [
"Piscine intérieure chauffée"
],
"es": [
"Piscina interior climatizada"
]
},
"duration": {
"length": 30,
"unit": "MINUTES"
},
"highlights": {
"it": [
"Vai a scaricare la tensione e a godere di un momento di puro relax."
],
"fr": [
"Venez relacher la pression et profiter d'un moment de pure détente."
],
"es": [
"Olvídate del estrés diario y disfruta del relax más intenso."
]
},
"name": {
"it": "ingresso all'area relax",
"fr": "Accès à l'espace détente",
"es": "acceso a la zona de relax"
},
"restrictions": {
"it": [
"I bambini sotto i 16 anni possono accedere al centro benessere sotto la supervisione di un adulto dalle 7:00 alle 10:00 (vasca idromassaggio e palestra esclusi).",
"Nell'area acquatica, gli asciugamani non verranno forniti."
],
"fr": [
"Ouvert sur de larges baies vitrées donnant sur la terrasse, le parc et le Mont Blanc, le bassin de relaxation vous propose un parcours hydro tonique, équipé de buses massantes ainsi qu’un jacuzzi attenant. Séance d’aquagym et d'aquabike possibles.",
"Dans l'espace aquatique, les serviettes de bain ne sont pas fournies"
],
"es": [
"Los niños menores de 16 años pueden acceder con un adulto de 07:00h a 10:00h (excepto la habitación con jacuzzi y gimnasio).",
"En el espacio acuático no se facilita toalla."
]
},
"voucherRequired": false
}
],
"categories": [
{
"id": 455,
"name": {
"it": "Paesi Mediterranei",
"fr": "en Méditerranée",
"es": "en el Mediterráneo"
}
}
],
"images": [
{
"index": 0,
"thumbnails": [
{
"height": 595,
"width": 1920,
"url": "https://test/id/size_FSImage_1_EDIT_lobby.jpg"
}
]
}
],
"marketManagerMessages": {
"es": "Mensaje del market manager",
"it": "Messagio del market manager",
"fr": "Message du market manager"
},
"mealPlan": "BREAKFAST",
"property": {
"id": 5168,
"name": "Hôtel Les Jardins de Sainte-Maxime",
"descriptions": {
"it": "Situato vicino al Golfo di Saint-Tropez, segretamente nascosto sul l...",
"fr": "A quelques pas d’une belle plage de sable et à quelques minutes de S...",
"es": "Situado a las puertas del Golfo de Saint-Tropez, secretamente acurru..."
},
"facilities": [
{
"category": "parking",
"type": {
"code": "private_parking",
"name": {
"it": "Parcheggio privato",
"fr": "Parking privé",
"es": "Aparcamiento privado"
}
}
}
],
"location": {
"address": {
"street": "Chemin des Deux Ruisseaux",
"zipCode": "83120"
},
"city": {
"code": "GN22321",
"name": {
"fr": "Paris",
"es": "París"
}
},
"country": {
"code": "GN22",
"name": {
"fr": "France",
"es": "Francia"
}
},
"geolocation": {
"latitude": 43.302,
"longitude": 6.621913
}
},
"room": {
"id": 156263,
"area": 18,
"category": "STANDARD",
"type": "DOUBLE_BEDROOM",
"view": "SEA",
"beds": [
{
"count": 1,
"type": {
"code": "double",
"name": {
"it": "letto matrimoniale",
"fr": "lit double",
"es": "cama doble"
}
}
}
],
"capacity": {
"adults": 2,
"babies": 1,
"children": 0,
"max": 3
},
"facilities": [
{
"id": 78,
"category": "bathroom",
"type": {
"code": "hair_dryer",
"name": {
"it": "Asciugacapelli",
"fr": "Sèche-cheveux",
"es": "Secador de pelo"
}
}
}
]
},
"receptionHours": {
"checkIn": {
"from": "990",
"to": "1320"
},
"checkOut": {
"from": "07:00",
"to": "600"
}
},
"stars": 3
},
"publication": {
"pointsOfSale": [
[
"ES",
"IT",
"FR",
"NL",
"BE"
]
],
"from": "2018-06-12T00:00:00.000Z",
"to": "2023-06-12T00:00:00.000Z"
},
"tags": [
{
"id": 146,
"code": "double_room_classic",
"name": {
"it": "Camera doppia classic",
"fr": "Chambre double classique",
"es": "Habitación doble clásica"
}
}
],
"title": {
"it": "Weekend nel relax a Sainte-Maxime",
"fr": "Week-end détente à Sainte-Maxime",
"es": "Relax en Sainte-Maxime"
},
"variants": [
{
"code": "E_VOUCHER",
"type": "DIGITAL"
},
"code": "BOX",
"type": "PHYSICAL"
],
"offerDetailUrl": "https://outboundapi.com/offers/21331516"
}
]
}
Description
Retrieve the information about prices for an array of offerIds. The request just needs the array of offerIds and it will return a response including the BAR and WED prices for the different configuration of Length Of Stays (1, 2 and 3 nights) and the family composition for each offerId.
In case that in the array you are adding offerIds that don't exist or that are not available for you as a distributor but others that are, the API will just return data for the existing ones.
The only accepted familyCompositon for Single Voucher at this stage is 2 adults, 0 children, 0 babies.
Query parameter:
offerIds array[string] *mandatory
- List of offer ids to retrieve price. Max items per request: 100.
Request URL
https://outbound-api.weekendesk.com/single-voucher/offers/prices?offerIds=2783148,2923622
Example of a request.
curl -X 'GET' \
'https://outbound-api.weekendesk.com/single-voucher/offers/prices?offerIds=2783148,2923622' \
-H 'accept: application/json'
prices
Attributes
id [number] - Offer id. Example: 2783148
prices
lengthOfStay [number] - The number of nights for the different prices you can get. Example: 1.
familyComposition
adults [number] - Number of adults. The only accepted familyCompositon for Single Voucher at this stage is 2 adults, 0 children, 0 babies.- Example: 2.
children [number] - Number of children (minimum 0). The only accepted familyCompositon for Single Voucher at this stage is 2 adults, 0 children, 0 babies.- Example: 0.
babies [number] - Number of babies (minimum 0). The only accepted familyCompositon for Single Voucher at this stage is 2 adults, 0 children, 0 babies.- Example: 0.
salePrice [number] - This is our unique sales line/room rate, so we always need to have prices/stocks here. If we have a promotion/special price for Weekendesk, it has to be linked here. Then, if we don’t have any promotion/special price for Weekendesk, the public /BAR room rate has to be linked here. - Example: 15749.
barPrice [number] - We do not sell this line, so it is not mandatory to map it, but interesting. We use it as a reference price to generate a discount on the website. If we have a promotion/special price for Weekendesk, the public /BAR room rate has to be linked here. - Example: 29498.
200 Success
{
"offers": [
{
"id": 2783148,
"prices": [
{
"lengthOfStay": 1,
"familyComposition": {
"adults": 2,
"children": 0,
"babies": 0
},
"salePrice": 11400,
"barPrice": 11500
},
{
"lengthOfStay": 2,
"familyComposition": {
"adults": 2,
"children": 0,
"babies": 0
},
"salePrice": 22900,
"barPrice": 23000
},{
"lengthOfStay": 3,
"familyComposition": {
"adults": 2,
"children": 0,
"babies": 0
},
"salePrice": 34300,
"barPrice": 34500
}
]
},
{
"id": 2923622,
"prices": [
{
"lengthOfStay": 1,
"familyComposition": {
"adults": 2,
"children": 0,
"babies": 0
},
"salePrice": 10300,
"barPrice": 10900
},
{
"lengthOfStay": 2,
"familyComposition": {
"adults": 2,
"children": 0,
"babies": 0
},
"salePrice": 20600,
"barPrice": 21800
},{
"lengthOfStay": 3,
"familyComposition": {
"adults": 2,
"children": 0,
"babies": 0
},
"salePrice": 30900,
"barPrice": 32700
}
]
}
]
}
}
Description
Retrieve the information about prices for a single offerId. The request just needs the offerId and it will return a response including the BAR and WED prices for the different configuration of Length Of Stays (1, 2 and 3 nights) and the family composition for the offerId.
The only accepted familyCompositon for Single Voucher at this stage is 2 adults, 0 children, 0 babies.
Path parameter:
offerId [number] *mandatory
- Offer id to retrieve price.
Request URL
https://outbound-api.weekendesk.com/single-voucher/offers/21749028/prices
Example of a request.
curl -X 'GET' \
'https://outbound-api.weekendesk.com/single-voucher/offers/21749028/prices' \
-H 'accept: application/json'
prices
Attributes
id [number] - Offer id. Example: 2783148
prices
lengthOfStay [number] - The number of nights for the different prices you can get. Example: 1.
familyComposition
adults [number] - Number of adults. The only accepted familyCompositon for Single Voucher at this stage is 2 adults, 0 children, 0 babies.- Example: 2.
children [number] - Number of children (minimum 0). The only accepted familyCompositon for Single Voucher at this stage is 2 adults, 0 children, 0 babies.- Example: 0.
babies [number] - Number of babies (minimum 0). The only accepted familyCompositon for Single Voucher at this stage is 2 adults, 0 children, 0 babies.- Example: 0.
salePrice [number] - This is our unique sales line/room rate, so we always need to have prices/stocks here. If we have a promotion/special price for Weekendesk, it has to be linked here. Then, if we don’t have any promotion/special price for Weekendesk, the public /BAR room rate has to be linked here. - Example: 15749.
barPrice [number] - We do not sell this line, so it is not mandatory to map it, but interesting. We use it as a reference price to generate a discount on the website. If we have a promotion/special price for Weekendesk, the public /BAR room rate has to be linked here. - Example: 29498.
200 OK
{
{
"offers": [
{
"id": 2783148,
"prices": [
{
"lengthOfStay": 1,
"familyComposition": {
"adults": 2,
"children": 0,
"babies": 0
},
"salePrice": 11400,
"barPrice": 11500
},
{
"lengthOfStay": 2,
"familyComposition": {
"adults": 2,
"children": 0,
"babies": 0
},
"salePrice": 22900,
"barPrice": 23000
},{
"lengthOfStay": 3,
"familyComposition": {
"adults": 2,
"children": 0,
"babies": 0
},
"salePrice": 34300,
"barPrice": 34500
}
]
}
]
}
}
Description
Retrieve the information about shipping costs per destination country.
Both query parameters are optional in this endpoint. In case of not using them, we will return all the variantCode - deliveryCountry combinations we have for the specific origin that you have as distributor.
Query parameters:
variantCode [string]
- Variant Code for the physical object to be delivered. Currently, we just have BOX.
deliveryCountry [string]
- Delivery country in case you just want to obtain the filtered prices for a specific country.
Request URL
https://outbound-api.weekendesk.com/single-voucher/shipping-costs?variantCode=BOX&deliveryCountry=FR
Example of a request.
curl -X 'GET' \
'https://outbound-api.weekendesk.com/single-voucher/shipping-costs?variantCode=BOX&deliveryCountry=BE' \
-H 'accept: application/json'
shippingCosts
Attributes
shippingCosts:
variantCode [string] - Code of the type of physical gift. - Example: BOX.
deliveryCountry [string] - Destination country code. - Example: FR.
price [number] - Destination country code. - Example: 1498.
200 OK
{
{
"shippingCosts": [
{
"variantCode": BOX,
"deliveryCountry": "BE",
"price" : "1498"
}
]
}
}
Description
This route will return the final order price for the specified gift configuration.
The response will contain all the information related to the room, the breakfast, the activity details, the LoS that the client is interested and the price for the selected format and correspondent shipping costs (in case of physical delivery) .
Request
We will need body parameters. They are described in the section below.
singleVoucher:
offerId [string]* - Unique identifier of the offer. - Example: 15096834.
lengthOfStay [number] - Amount of nights that the user wants to gift. - Example: 2.
familyComposition
adults [number] - Number of adults (minimum 1) - Example: 2.
children [number] - Number of children (minimum 0). - Example: 0.
babies [number] - Number of babies (minimum 0). Example: 0.
variantCode [string] - Type of gift the user want to purchase. It can be BOX or E_VOUCHER. - Example: E_VOUCHER.
agencyCode [number] - Identifier in case that the purchase is made for an agency of the distributor. - Example: 33.
language [string] - Language of POS where the booking is done (format: es, fr, it, nl). Example: fr.
pointOfSale [string] - Country of POS where the booking is done (format: ES, FR, IT, NL, BE). Example: FR.
shippingInformation:
country [string] - Country where the buyer want the gift to be received (just applies in case of physical). - Example: FR.
{
"singleVoucher":
{
"offerId": "21749028",
"lengthOfStay": 2,
"familyComposition": {
"adults": 1,
"children": 2,
"babies": 0
},
"variantCode": "BOX"
},
"agencyCode" : "",
"language" : "fr",
"pointOfSale" : "FR",
"shippingInformation" :
{
"country": "FR"
}
}
}
Request URL
https://outbound-api.weekendesk.com/single-voucher/quotes
Example of a request
curl -X 'POST' \
'https://outbound-api.weekendesk.com/single-voucher/quotes' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"singleVoucher" {
"offerId": "21749028",
"lengthOfStay": 2,
"familyComposition": {
"adults": 2,
"children": 0,
"babies": 0
},
"variantCode" : "BOX"
},
"agencyCode" : "",
"language": "fr",
"pointOfSale": "FR"
"shippingInformation" : {
"country" : "FR"
}
}'
Quotes
Attributes
offerId: Unique identifier of the offer. - Example: 21749028
room
title [string] - Description of the room. - Example: 2 nuits en chambre double standard Vue jardin pour 2 adultes.
details [string] - Details of the room. - Example: Vue jardin ou piscine en fonction des disponibilités.
facilities
title [string] - Facilities title. - Example: Équipements de la chambre.
details [string] - Facilities details. Example: Wifi gratuit et illimité.
roomType [string] - Type of the room. - Example: DOUBLE_BEDROOM.
roomCategory [string] - Category of the room. Example: STANDARD.
breakfast
title [string] - Breakfast title. - Example: 2 petits déjeuners continentaux (buffet) pour 2 adultes.
description [string] - Breakfast description. - Example: Heures d`ouvertures : Du lundi au dimanche de 7h00 à 10h00.
details [string] - Breakfast details. - Example: composition : Pains divers, Fromages, Boissons chaudes, Pâtisseries, Toasts, Yaourts, Fruits, Viennoiseries, Céréales, Confiture, miel, beurre, Jus de fruits, oeufs, Charcuterie].
type [string] - Breakfast type. Possible values: BUFFET, A_LA_CARTE. - Example: BUFFET.
activities
activityId [integer] - Activity id. - Example: 66256.
title [string] - Activity title. - Example: 1 Traversée en bateau pour 2 adultes.
details [string] - Activity details. - Example: À proximité de l`etablissement.
availableForChildren [boolean] - Returns if it's available for children. Example: True.
repeatedEveryDay [boolean] - Returns if it's a non selectable activity, due it's repeated every day. Example: false.
prices
variantCode [string] - Type of gift the user want to purchase. It can be BOX or E_VOUCHER. - Example: E_VOUCHER
salePrice [number] - This is our unique sales line/room rate, so we always need to have prices/stocks here. If we have a promotion/special price for Weekendesk, it has to be linked here. Then, if we don’t have any promotion/special price for Weekendesk, the public /BAR room rate has to be linked here. - Example: 31298.
barPrice [number] - We do not sell this line, so it is not mandatory to map it, but interesting. We use it as a reference price to generate a discount on the website. If we have a promotion/special price for Weekendesk, the public /BAR room rate has to be linked here. - Example: 29498.
shippingCosts [number] - Costs associated to the shipping costs in the specified country. Just applies for the physical Delivery. - Example: 2000.
totalAmount [number] - Final amount to be paid by the client. It's calculated by adding the salePrice and the shippingCosts. - Example: 33298.
lengthOfStay [number] - Amount of nights that the user wants to gift. - Example: 2.
orderUrl [string] - Url to perform an order. - Example: https://outbound-api.weekendesk.com/single-vouchers/orders.
200 OK
{
{21749028
"offerId": 21749028,
"room": {
"title": "2 nuits en chambre double standard Vue jardin pour 2 adultes",
"details": [
"Vue jardin ou piscine en fonction des disponibilités."
],
"facilities": [
{
"title": "Équipements de la chambre",
"details": [
"Wifi gratuit et illimité"
]
}
],
"roomType": "DOUBLE_BEDROOM",
"roomCategory": "STANDARD"
},
"breakfast": {
"title": "2 petits déjeuners continentaux (buffet) pour 2 adultes",
"description": "Heures d`ouvertures : Du lundi au dimanche de 7h00 à 10h00",
"details": [
"composition : Pains divers, Fromages, Boissons chaudes, Pâtisseries, Toasts, Yaourts, Fruits, Viennoiseries, Céréales, Confiture, miel, beurre, Jus de fruits, oeufs, Charcuterie"
],
"type": "BUFFET"
},
"activities": [
{
"activityId": 66256,
"title": "1 Traversée en bateau pour 2 adultes",
"details": [
"À proximité de l`etablissement"
],
"availableForChildren": true,
"repeatedEveryDay": false
}
],
"prices": {
"variantCode" : "BOX",
"salePrice": 31298,
"barPrice": 29498,
"shippingCosts": 2000,
"totalAmount": 33298
}
],
"lengthOfStay": 2,
"orderUrl": "https://outbound-api.weekendesk.com/single-voucher/orders"
}
}
Description
This route allows you to perform and confirm an order in the Weekendesk side. The orders endpoint requires a list of fields related to the general information of the order described in the schema section below.
The order route is accepting the same values for the configuration of the stay as the route used for the quote. This helps to assure that you are buying the same stay that has been previously quoted.
We accept customization at this stage. The user can decide 3 parameters that will be added in the voucher of the gift (no matter if it's physical or digital)
From: Who is/are the person(s) doing the gift.
To: Name of the receiver of the gift.
Message: Customized message for the receiver.
We will need body parameters. They are described in the section below.
singleVoucher:
offerId [string] - Unique identifier of the offer. - Example: 15096834.
lengthOfStay [number] - Amount of nights that the user wants to gift. - Example: 2.
familyComposition
adults [number] - Number of adults (minimum 1) - Example: 2.
children [number] - Number of children (minimum 0). - Example: 0.
babies [number] - Number of babies (minimum 0). Example: 0.
variantCode [string] - Type of gift the user want to purchase. It can be BOX or E_VOUCHER. - Example: E_VOUCHER.
agencyCode [number] - Identifier in case that the purchase is made for an agency of the distributor. - Example: 33.
language [string] - Language of POS where the booking is done (format: es, fr, it, nl). Example: fr.
pointOfSale [string] - Country of POS where the booking is done (format: ES, FR, IT, NL, BE). Example: FR.
customer:
person:
title [string] - Civility of the buyer. - Example: Mr.
firstName [string] - First name of the buyer. - Example: Thomas.
lastName [string] - Last name of the buyer. - Example: Edison.
shippingInformation:
person:
title [string] - Civility of the receiver. It can be the same person as the buyer. - Example: Mr.
firstName [string] - First name of the receiver. It can be the same person as the buyer. - Example: Thomas.
lastName [string] - Last name of the buyer. It can be the same person as the buyer. - Example: Edison.
contactInfo:
phoneNumber [string] - Phone number of the gift receiver. - Example: +34 678532559.
email [string] - Email of the gift receiver. - Example: thomas.edison@weekendesk.fr.
address:
addressLine [string] - Address where the gift will be delivered. Street + number - Example: 33 Rue de la Fayette.
addressLine2 [string] - Address where the gift will be delivered. Floor and extra details - Example: 4th floor.
city [string] - City where the gift will be delivered. - Example: Paris.
postalCode [string] - Postal code where the gift will be delivered. - Example: 75009.
country [string] - Country where the gift will be delivered - Example: FR.
customization:
fromName [string] - Who is buying the gift. This information will appear in the voucher that will be generated. - Example: Thomas.
toName [string] - Receiver of the gift. This information will appear in the voucher that will be generated.. - Example: Albert.
message [string] - Message for the receiver of the gift - Example: With Love.
{
"singleVoucher":{
"offerId": 21749028,
"lengthOfStay": 2,
"familyComposition": {
"adults": 2,
"children": 0,
"babies": 0
},
"variantCode": "E_VOUCHER"
},
"agencyCode" : "",
"language": "fr",
"pointOfSale": "FR",
"customer" : {
"person" : {
"title": "Mr.",
"firstName": "Thomas",
"lastName": "Edison"
}
},
"shippingInformation":
{
"person" : {
"title": "Mr.",
"firstName": "Thomas",
"lastName": "Edison"
},
"contactInfo":
{
"phoneNumber": "+34 971981981",
"email": "thomas.edison@weekendesk.fr"
},
"address": {
"addressLine" : "33 Rue de la Fayette",
"addressLine2" : "4th floor",
"city": "Paris",
"postalCode": "75009",
"country" : "FR"
}
},
"customization" : {
"fromName" : "Thomas",
"toName" : "Albert",
"message" : "With Love"
}
}
}
Request URL
https://outbound-api.weekendesk.com/single-voucher/orders
Example of a request
curl -X 'POST' \
'https://outbound-api.weekendesk.com/single-voucher/orders' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"singleVoucher":
"offerId": "21749028",
"lengthOfStay": "2",
"familyComposition": {
"adults": 2,
"children": 0,
"babies": 0
},
"variantCode": "E_VOUCHER",
},
"agencyCode" : "",
"language": "fr",
"pointOfSale": "FR",
"customer" : {
"person" : {
"title": "Mr.",
"firstName": "Thomas",
"lastName": "Edison"
}
},
"shippingInformation":
{
"person" : {
"title": "Mr.",
"firstName": "Thomas",
"lastName": "Edison"
},
"contactInfo":
{
"phoneNumber": "+34 971981981",
"email": "thomas.edison@weekendesk.fr"
},
"address": {
"addressLine" : "33 Rue de la Fayette",
"addressLine2" : "4th floor",
"city": "Paris",
"postalCode": "75009",
"country" : "FR"
}
},
"customization" : {
"fromName" : "Thomas",
"toName" : "Albert",
"message" : "With Love"
}'
Orders
The orders response gives information about the orderId and the post order actions that you can do after the order is confirmed on Weekendesk side.
Attributes
id [string] - Id of the order. - Example: ae79bc1a-e864-4cfc-8579-9ad4598ab95e.
orderUrl [string] - Url to get the order information. - Example: https://outbound-api.weekendesk.com/single-voucher/orders/ae79bc1a-e864-4cfc-8579-9ad4598ab95e
voucherUrl [string] - Url to download the voucher (in case of a digital version). - Example: https://outbound-api.weekendesk.com/single-voucher/orders/ae79bc1a-e864-4cfc-8579-9ad4598ab95e/voucher
200 OK
{
{
"id": "ae79bc1a-e864-4cfc-8579-9ad4598ab95e",
"orderUrl": "https://outbound-api.weekendesk.com/single-voucher/orders/ae79bc1a-e864-4cfc-8579-9ad4598ab95e
",
"voucherUrl": "https://outbound-api.weekendesk.com/single-voucher/orders/ae79bc1a-e864-4cfc-8579-9ad4598ab95e/voucher"
}
Description
This route allows you to retrieve the information about an order that was done from your side.
The API just needs the orderId previously obtained in the order request.
The API response will give you the information about all the related fields of the order like the offer selected, LoS, status of the gift, status of the shipping, room, breakfast, activities and prices.
Path parameter:
orderId [string] *mandatory
- Order Id to get the information of the order.
Request URL
https://outbound-api.weekendesk.com/single-voucher/orders/ae79bc1a-e864-4cfc-8579-9ad4598ab95e
Example of a request
curl -X 'GET' \
'https://outbound-api.weekendesk.com/single-voucher/orders/ae79bc1a-e864-4cfc-8579-9ad4598ab95e' \
-H 'accept: application/json'
Orders
The orders response gives information about the room (details, facilities, room type and category), the breakfast (type: buffet or “carta”), the included activities and LoS, the price information and the status of the gift and delivery.
Attributes
id [string] - Id of the order. - Example: ae79bc1a-e864-4cfc-8579-9ad4598ab95e.
singleVoucher
title [string] - Title of the offer. - Example: Weekend au cœur de Paris.
offerId [string] - Unique identifier of the offer. - Example: 4040859.
variantCode [string] - Type of gift the user purchased. It can be BOX or E_VOUCHER. - Example: E_VOUCHER.
status [string] - Status of the gift. It can be ACTIVE (the receiver hasn't used it yet), ALREADY_USED (the receiver has used it), INACTIVE (the gift is not active anymore), EXPIRED (the gift validity date has passed), NOT_ISSUED (there was some error on the process). - Example: ACTIVE.
shippingStatus [string] - Status of the delivery of the gift. This only applies to physical type. It can be PENDING (the receiver hasn't received it yet), SHIPPED (the gift is on route to be delivered), DELIVERED (the buyer has received the gift), NA (the gift is digital and has no physical delivery). - Example: DELIVERED.
familyComposition
adults [number] - Number of adults. - Example: 2.
children [number] - Number of children. - Example: 2.
babies [number] - Number of babies. - Example: 2.
lengthOfStay [number] - Amount of nights that the user wants to gift. - Example: 2.
hotel:
title [string] - Name of the hotel. Example: Brit Hotel Avignon Sud
room
title [string] - Description of the room. Example: Double standard room.
quantity [number] - Number of rooms. Example: 2.
breakfast
title [string] - Breakfast title - Example: 4 petits déjeneurs continentaux (buffet) pour 2 adultes.
type [string] - Breakfast type (BUFFET, A_LA_CARTE) . Example: BUFFET.
activities
title [string] - Description of the activity. - Example: 1 Traversée en bateau pour 2 adultes.
repeatedEveryDay [boolean] - Returns if it's a non selectable activity, due it's repeated every day. Example: false.
prices
totalAmount [number] - Price that the client paid to purchase the Single Voucher. It can include shipping costs in case of physical delivery. Example: 13068.
dates
activation [date] - Day that the gift was activated. It is the same day of purchase. - Example: 2024-12-16.
expiration [date] - Day that the gift expires. The single voucher has 1 year of validity. - Example: 2025-12-16.
status [string] - Status of the transaction to purchase the single voucher. - Example: OK.
200 OK
{
{
"id": "ae79bc1a-e864-4cfc-8579-9ad4598ab95e",
"singleVoucher": {
"title": "Week-end au cœur de Paris",
"offerId" : 4040859,
"variantCode" : "BOX",
"status" : "ACTIVE",
"shippingStatus" : "DELIVERED",
"familyComposition": {
"adults": 2,
"children": 0,
"babies": 0
},
"lengthOfStay" : 2,
"hotel" : {
"title": "Brit Hotel Avignon Sud",
},
"room": {
"title": "Double Standard Room",
"quantity": 1
},
"breakfast": {
"title": "2 petits déjeuners continentaux (buffet) pour 2 adultes",
"type": "BUFFET"
},
"activities": [
{
"title": "1 Traversée en bateau pour 2 adultes",
"repeatedEveryDay": false,
}
],
"price": {
"totalAmount": 13068
},
"dates": {
"activation": "2024-12-16",
"expiration": "2025-12-16"
}
},
"status" : "OK"
}
Description
This route allows you to retrieve the vouchers of those orders that require it. We won't send any email to the client, being that responsibility of you as a distributor, but we will share the url where the voucher is present.
You can have two situations:
Digital Single Voucher: It is mandatory to obtain the voucher as it's the document the client needs to use it. We will share an url where the voucher can be downloaded.
Physical Single Voucher: Nothing will be returned as the voucher will be received in the delivery address selected in the moment of the order. We will inform about that in the response.
Request
Path parameter:
orderId [number] *mandatory
- Order Id to get the single voucher document.
Request URL
https://outbound-api.weekendesk.com/single-voucher/orders/ae79bc1a-e864-4cfc-8579-9ad4598ab95e/voucher
Example of a request
curl -X 'GET' \
'https://outbound-api.weekendesk.com/single-voucher/orders/ae79bc1a-e864-4cfc-8579-9ad4598ab95e/voucher' \
-H 'accept: application/json'
Response
Attributes
voucherUrl [string] - Url to download the document of the Single Voucher. - Example: https://www.weekendesk.es/mvc/downloadvoucher.jsp?b=349357511&type=KlantActivityVoucher&baw=58861006&checksum=2140f69af21db29b544256a623150a0d
200 OK
{
{
"voucherUrl": "https://www.weekendesk.es/mvc/downloadvoucher.jsp?b=ae79bc1a-e864-4cfc-8579-9ad4598ab95e&type=KlantActivityVoucher&baw=58861006&checksum=2140f69af21db29b544256a623150a0d",
}