Relocating a Guest
Moving a reservation to another listing.
Relocate a guest by assigning the reservation to a different property/unit. This function is handy in situations where:
- The original accommodation requires urgent maintenance before another guest can stay there.
- You’ve accepted one too many bookings outside of Guesty and need to find space for all your guests.
- The guest’s requirements have changed.
- The guest decides to upgrade accommodation.
This action won’t change the payout amount by default, but you can do so afterwards.
Available Endpoints
Method | Endpoint |
---|---|
PUT | /reservations/{id} |
Key Parameters
Query Parameter | Type | Description | Required |
---|---|---|---|
id | string | The reservation ID. | ✔️ |
Body Parameters | Type | Description | Required |
---|---|---|---|
listingId | string | The ID of the listing the reservation is being assigned to. | ✔️ |
ignoreCalendar | boolean | Default: false . Set to true to override any calendar blocks (including other reservations). | |
ignoreTerms | boolean | Default: false . Set to true if you wish to overlook the listing terms such as max occupancy, min nights, etc. |
Override Parameters
You are responsible for any overbooking incurred as a result of the use of the
ignoreCalendar
andignoreTerms
parameters. These parameters should be used sparingly with care and caution.
Example
Our guest has booked our Central Sydney property. However, the apartment won't be available for the dates he booked due to water damage. We have another available property, Central Sydney Multi, in that same vicinity, and the guest has agreed to be relocated to it. The price is the same.
{
"_id": "64c9213ba097ec00417a9911",
"integration": {
"_id": "5b9a25fd3bfa6d01b15a0b14",
"platform": "manual",
"limitations": {
"availableStatuses": [
"checked_in",
"checked_out",
"canceled"
]
}
},
"listingId": "62ec6975134d780032b62221",
"checkInDateLocalized": "2023-09-12",
"checkOutDateLocalized": "2023-09-22",
"status": "confirmed",
"guest": {
"_id": "64c9213aa097ec00417a9910",
"fullName": "Ernest Hemingway"
},
"accountId": "5b852676354b34003f0a55eb",
"guestId": "64c9213aa097ec00417a9910",
"source": "Manual",
"confirmationCode": "r2Bk86Yj4",
"listing": {
"_id": "62ec6975134d780032b62221",
"nickname": "Central Sydney"
}
}
Request
curl --request PUT 'https://open-api.guesty.com/v1/reservations/64c9213ba097ec00417a9911' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"listingId": "6034db72fc09e3002cf64bdf"
}
'
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/json");
var raw = JSON.stringify({
"listingId": "6034db72fc09e3002cf64bdf"
});
var requestOptions = {
method: 'PUT',
headers: myHeaders,
body: raw,
redirect: 'manual'
};
fetch("https://open-api.guesty.com/v1/reservations/64c9213ba097ec00417a9911", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://open-api.guesty.com/v1/reservations/64c9213ba097ec00417a9911',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => false,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_POSTFIELDS =>'
{
"listingId": "6034db72fc09e3002cf64bdf"
}
',
CURLOPT_HTTPHEADER => array(
'accept: application/json',
'content-type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import http.client
import json
conn = http.client.HTTPSConnection("open-api.guesty.com")
payload = json.dumps({
"listingId": "6034db72fc09e3002cf64bdf"
})
headers = {
'accept': 'application/json',
'content-type': 'application/json'
}
conn.request("PUT", "/v1/reservations/64c9213ba097ec00417a9911", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Response
{
"listingId": "5b87b8a82940fc01da91241d",
"_id": "64c9213ba097ec00417a9911",
"confirmationCode": "r2Bk86Yj4"
}
Updated 5 months ago