Property Location & Details

Retrieve an existing listing's address or update a listing's address and related details.

Overview

Hosts must provide an accurate address to avoid any problems for guests locating and arriving at their stay. Several different parameters define it:

  • The latitude and longitude
  • The country code, state, and city
  • The zip code, street, and apartment number

🚧

Address Change Notice

Guesty synchronizes the listing address with supported booking channels. However, once guests have stayed at the listing, or if the listing has upcoming reservations, you may need to contact their Support to change the location. See our Help Center

for more details.


Editing the Property Address


🚧

Zipcode Requirement

Some booking channels require that all properties have a zipcode in their address. If your property legitimately doesn't have one, enter 0000as its value.


Step 1: Set geocode location

Use this API resource to set the geographical coordinates for your property. Guesty and OTAs use these to pinpoint listings on maps and increase the accuracy of the listing's location.


API resource


Step 2a: Set the property addresses

Use this resource to set or correct a property's private and public addresses.


API resource


Step 2b: Set the complex address

If you have hotel-like properties or like to organize your properties under a complex , use this resource to set and update the complex addresses.


API resource


Retrieving the Property's Address

You can pull a property's private and public addresses using this resource.


API resource


πŸ“˜

Differentiating Between Address Objects

The address contains the property's exact location for sharing confirmed guests and within your organisation. You only need to describe the publishedAddress to have a more general location to increase the security of your property on booking channels.


Other details


API resource

Cleaning Instructions

You can upload cleaning instructions for your guests that can be inserted into auto-messages when you include the {{listing_cleaning_instructions}} variable.


Request Example

curl --globoff --request PUT 'https://open-api.guesty.com/v1/listings/{id}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {accessToken}' \
--data '{
     "cleaning": {
        "instructions": "Cleaning instructions."
    }
}'
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer {accessToken}");

const raw = JSON.stringify({
  "cleaning": {
    "instructions": "Cleaning instructions."
  }
});

const requestOptions = {
  method: "PUT",
  headers: myHeaders,
  body: raw,
  redirect: "manual"
};

fetch("https://open-api.guesty.com/v1/listings/{id}", requestOptions)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.error(error));
var https = require('follow-redirects').https;
var fs = require('fs');

var options = {
  'method': 'PUT',
  'hostname': 'open-api.guesty.com',
  'path': '/v1/listings/{id}',
  'headers': {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer {accessToken}'
  },
  'maxRedirects': 20
};

var req = https.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function (chunk) {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });

  res.on("error", function (error) {
    console.error(error);
  });
});

var postData = JSON.stringify({
  "cleaning": {
    "instructions": "Cleaning instructions."
  }
});

req.write(postData);

req.end();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://open-api.guesty.com/v1/listings/{id}',
  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 =>'{
     "cleaning": {
        "instructions": "Cleaning instructions."
    }
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'Authorization: Bearer {accessToken}'
  ),
));

$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({
  "cleaning": {
    "instructions": "Cleaning instructions."
  }
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer {accessToken}'
}
conn.request("PUT", "/v1/listings/{id}", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

Guest Should Know

This is where you can store other useful information to share with your guests. These fields can be used as variables to populate the information in your auto-messages.


Request Example

curl --globoff --request PUT 'https://open-api.guesty.com/v1/listings/{id}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {accessToken}' \
--data '{
    "hostName": "string",
    "houseManual": "string",
    "parkingInstructions": "string",
    "trashCollectedOn": "string",
    "wifiName": "string",
    "wifiPassword": "string"
}'
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Authorization", "Bearer {accessToken}");

const raw = JSON.stringify({
  "hostName": "string",
  "houseManual": "string",
  "parkingInstructions": "string",
  "trashCollectedOn": "string",
  "wifiName": "string",
  "wifiPassword": "string"
});

const requestOptions = {
  method: "PUT",
  headers: myHeaders,
  body: raw,
  redirect: "manual"
};

fetch("https://open-api.guesty.com/v1/listings/{id}", requestOptions)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.error(error));
var https = require('follow-redirects').https;
var fs = require('fs');

var options = {
  'method': 'PUT',
  'hostname': 'open-api.guesty.com',
  'path': '/v1/listings/{id}',
  'headers': {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer {accessToken}'
  },
  'maxRedirects': 20
};

var req = https.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function (chunk) {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });

  res.on("error", function (error) {
    console.error(error);
  });
});

var postData = JSON.stringify({
  "hostName": "string",
  "houseManual": "string",
  "parkingInstructions": "string",
  "trashCollectedOn": "string",
  "wifiName": "string",
  "wifiPassword": "string"
});

req.write(postData);

req.end();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://open-api.guesty.com/v1/listings/{id}',
  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 =>'{
    "hostName": "string",
    "houseManual": "string",
    "parkingInstructions": "string",
    "trashCollectedOn": "string",
    "wifiName": "string",
    "wifiPassword": "string"
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'Authorization: Bearer {accessToken}'
  ),
));

$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({
  "hostName": "string",
  "houseManual": "string",
  "parkingInstructions": "string",
  "trashCollectedOn": "string",
  "wifiName": "string",
  "wifiPassword": "string"
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer {accessToken}'
}
conn.request("PUT", "/v1/listings/{id}", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))