Confirm a reservation hold
curl --request POST \
--url https://api-sandbox.vulcanopro.com/api/v1/reservations/confirm \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"id": "11111111-1111-1111-1111-111111111111",
"customer": {
"name": "Ana",
"lastname": "Pérez",
"email": "[email protected]",
"phone": "99999999",
"phone_code": "+56",
"identification": "11.111.111-1",
"birthday": "1990-05-10"
},
"passengers": [
{
"type": "adult",
"name": "Ana",
"lastname": "Pérez",
"email": "[email protected]",
"birthday": "1990-05-10",
"identification": "11.111.111-1",
"phone_cod": "+56",
"phone": "99999999",
"nationality": 44
}
],
"external_reference": "OTA-99",
"additional_activities": [
{
"id": 12,
"quantity": 2
}
]
}
'const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
id: '11111111-1111-1111-1111-111111111111',
customer: {
name: 'Ana',
lastname: 'Pérez',
email: '[email protected]',
phone: '99999999',
phone_code: '+56',
identification: '11.111.111-1',
birthday: '1990-05-10'
},
passengers: [
{
type: 'adult',
name: 'Ana',
lastname: 'Pérez',
email: '[email protected]',
birthday: '1990-05-10',
identification: '11.111.111-1',
phone_cod: '+56',
phone: '99999999',
nationality: 44
}
],
external_reference: 'OTA-99',
additional_activities: [{id: 12, quantity: 2}]
})
};
fetch('https://api-sandbox.vulcanopro.com/api/v1/reservations/confirm', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api-sandbox.vulcanopro.com/api/v1/reservations/confirm"
payload = {
"id": "11111111-1111-1111-1111-111111111111",
"customer": {
"name": "Ana",
"lastname": "Pérez",
"email": "[email protected]",
"phone": "99999999",
"phone_code": "+56",
"identification": "11.111.111-1",
"birthday": "1990-05-10"
},
"passengers": [
{
"type": "adult",
"name": "Ana",
"lastname": "Pérez",
"email": "[email protected]",
"birthday": "1990-05-10",
"identification": "11.111.111-1",
"phone_cod": "+56",
"phone": "99999999",
"nationality": 44
}
],
"external_reference": "OTA-99",
"additional_activities": [
{
"id": 12,
"quantity": 2
}
]
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"status": "ok",
"timestamp": "<string>",
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "HOLD",
"tour_id": 123,
"date": "2023-12-25",
"time": "15:30",
"pax": {
"adult": 2,
"child": 1,
"senior": 0,
"infant": 1
},
"seats": 123,
"sale_channel_id": 123,
"expires_at": "2023-11-07T05:31:56Z",
"order_id": 123,
"external_reference": "<string>",
"customer": {},
"passengers": [
{}
],
"additional_activities": [
{
"id": 123,
"name": "<string>",
"quantity": 123,
"amount": 123,
"amount_usd": 123
}
],
"created_at": "2023-11-07T05:31:56Z"
}
}Reservations
Confirm a reservation hold
Requires reservations:write. Passengers must match the hold pax counts. Optional additional_activities use id and quantity from GET /tours. Confirms the order as COMPLETADA without payment.
POST
/
reservations
/
confirm
Confirm a reservation hold
curl --request POST \
--url https://api-sandbox.vulcanopro.com/api/v1/reservations/confirm \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"id": "11111111-1111-1111-1111-111111111111",
"customer": {
"name": "Ana",
"lastname": "Pérez",
"email": "[email protected]",
"phone": "99999999",
"phone_code": "+56",
"identification": "11.111.111-1",
"birthday": "1990-05-10"
},
"passengers": [
{
"type": "adult",
"name": "Ana",
"lastname": "Pérez",
"email": "[email protected]",
"birthday": "1990-05-10",
"identification": "11.111.111-1",
"phone_cod": "+56",
"phone": "99999999",
"nationality": 44
}
],
"external_reference": "OTA-99",
"additional_activities": [
{
"id": 12,
"quantity": 2
}
]
}
'const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
id: '11111111-1111-1111-1111-111111111111',
customer: {
name: 'Ana',
lastname: 'Pérez',
email: '[email protected]',
phone: '99999999',
phone_code: '+56',
identification: '11.111.111-1',
birthday: '1990-05-10'
},
passengers: [
{
type: 'adult',
name: 'Ana',
lastname: 'Pérez',
email: '[email protected]',
birthday: '1990-05-10',
identification: '11.111.111-1',
phone_cod: '+56',
phone: '99999999',
nationality: 44
}
],
external_reference: 'OTA-99',
additional_activities: [{id: 12, quantity: 2}]
})
};
fetch('https://api-sandbox.vulcanopro.com/api/v1/reservations/confirm', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api-sandbox.vulcanopro.com/api/v1/reservations/confirm"
payload = {
"id": "11111111-1111-1111-1111-111111111111",
"customer": {
"name": "Ana",
"lastname": "Pérez",
"email": "[email protected]",
"phone": "99999999",
"phone_code": "+56",
"identification": "11.111.111-1",
"birthday": "1990-05-10"
},
"passengers": [
{
"type": "adult",
"name": "Ana",
"lastname": "Pérez",
"email": "[email protected]",
"birthday": "1990-05-10",
"identification": "11.111.111-1",
"phone_cod": "+56",
"phone": "99999999",
"nationality": 44
}
],
"external_reference": "OTA-99",
"additional_activities": [
{
"id": 12,
"quantity": 2
}
]
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"status": "ok",
"timestamp": "<string>",
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "HOLD",
"tour_id": 123,
"date": "2023-12-25",
"time": "15:30",
"pax": {
"adult": 2,
"child": 1,
"senior": 0,
"infant": 1
},
"seats": 123,
"sale_channel_id": 123,
"expires_at": "2023-11-07T05:31:56Z",
"order_id": 123,
"external_reference": "<string>",
"customer": {},
"passengers": [
{}
],
"additional_activities": [
{
"id": 123,
"name": "<string>",
"quantity": 123,
"amount": 123,
"amount_usd": 123
}
],
"created_at": "2023-11-07T05:31:56Z"
}
}Authorizations
api-keyapi-secret
Partner API key
Body
application/json