---
updatedAt: 2026-07-30T14:16:06.000Z
agentTools:
  projectIndex: https://open-api-docs.guesty.com/llms.txt
---

# Relocating a Guest

Moving a reservation to another listing.

<Callout icon="fad fa-octagon-exclamation" theme="error">
  ### Deprecated

  Alter the listing assigned to your booking using <Anchor target="_blank" href="https://open-api-docs.guesty.com/reference/reservationsopenapicontroller_updatereservationlisting">Update reservation listing</Anchor>
</Callout>

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.

<br />

#### Available Endpoints

| Method | Endpoint                                                                               |
| :----- | :------------------------------------------------------------------------------------- |
| PUT    | [/reservations/`{id}`](https://open-api-docs.guesty.com/reference/put_reservations-id) |

<br />

#### Key Parameters

| Query Parameter | Type   | Description         | Required |
| :-------------- | :----- | :------------------ | :------- |
| `id`            | string | The reservation ID. | ✔️       |

<br />

| 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. |          |

<br />

<Callout icon="❗️" theme="error">
  ### Override Parameters

  You are responsible for any overbooking incurred as a result of the use of the `ignoreCalendar` and `ignoreTerms` parameters. These parameters should be used sparingly with care and caution.
</Callout>

<br />

### 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.

<br />

```json
{
    "_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"
    }
}
```

<br />

**Request**

```curl
curl --request PUT 'https://open-api.guesty.com/v1/reservations/64c9213ba097ec00417a9911' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
  "listingId": "6034db72fc09e3002cf64bdf"
}
'
```
```javascript
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
<?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;

```
```python
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"))
```

<br />

**Response**

```json
{
    "listingId": "5b87b8a82940fc01da91241d",
    "_id": "64c9213ba097ec00417a9911",
    "confirmationCode": "r2Bk86Yj4"
}
```

<br />