curl --request GET \
--url https://api.partoo.co/v2/lodging/list \
--header 'x-APIKey: <api-key>'import requests
url = "https://api.partoo.co/v2/lodging/list"
headers = {"x-APIKey": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-APIKey': '<api-key>'}};
fetch('https://api.partoo.co/v2/lodging/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.partoo.co/v2/lodging/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-APIKey: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.partoo.co/v2/lodging/list"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-APIKey", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.partoo.co/v2/lodging/list")
.header("x-APIKey", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.partoo.co/v2/lodging/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-APIKey"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"available_exceptions": [
{
"id": "LODGING_EXCEPTION_UNSPECIFIED"
},
{
"id": "LODGING_UNDER_CONSTRUCTION"
},
{
"id": "LODGING_DEPENDENT_ON_DAY_OF_WEEK"
},
{
"id": "LODGING_DEPENDENT_ON_SEASON"
}
],
"groups": [
{
"section_id": "lodging.property",
"order": 100,
"attributes": [
{
"gmb_id": "lodging.property.checkinTime",
"type": "TIME",
"order": 10,
"options": null,
"allowed_exception": true,
"read_only": false
},
{
"gmb_id": "lodging.property.roomCount",
"type": "INTEGER",
"order": 20,
"options": null,
"allowed_exception": false,
"read_only": true
}
]
},
{
"section_id": "lodging.services",
"order": 200,
"attributes": [
{
"gmb_id": "lodging.services.languagesSpoken",
"type": "REPEATABLE_ENUM",
"order": 20,
"options": [
{
"id": "ENGLISH"
},
{
"id": "FRENCH"
}
],
"allowed_exception": true,
"read_only": false
}
]
}
]
}{
"errors": {
"authentication": "User not authenticated"
}
}{
"errors": {
"authorization": "Operation not allowed"
}
}{
"errors": {
"json": "Resource not found"
}
}List Google Lodging attributes
Get all Google Lodging attributes available in Partoo.
Google Lodging attributes describe hotel-specific information such as property features, services, policies, amenities, and guest unit details.
The response is grouped by lodging section. Each attribute definition gives the Google attribute id, its type, display order, available enum options when relevant, whether an exception code can be used instead of a value, and whether the attribute is read-only.
Attributes marked with read_only: true are returned for display purposes only and cannot be modified through POST /v2/business/{business_id}/lodging.
curl --request GET \
--url https://api.partoo.co/v2/lodging/list \
--header 'x-APIKey: <api-key>'import requests
url = "https://api.partoo.co/v2/lodging/list"
headers = {"x-APIKey": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-APIKey': '<api-key>'}};
fetch('https://api.partoo.co/v2/lodging/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.partoo.co/v2/lodging/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-APIKey: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.partoo.co/v2/lodging/list"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-APIKey", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.partoo.co/v2/lodging/list")
.header("x-APIKey", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.partoo.co/v2/lodging/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-APIKey"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"available_exceptions": [
{
"id": "LODGING_EXCEPTION_UNSPECIFIED"
},
{
"id": "LODGING_UNDER_CONSTRUCTION"
},
{
"id": "LODGING_DEPENDENT_ON_DAY_OF_WEEK"
},
{
"id": "LODGING_DEPENDENT_ON_SEASON"
}
],
"groups": [
{
"section_id": "lodging.property",
"order": 100,
"attributes": [
{
"gmb_id": "lodging.property.checkinTime",
"type": "TIME",
"order": 10,
"options": null,
"allowed_exception": true,
"read_only": false
},
{
"gmb_id": "lodging.property.roomCount",
"type": "INTEGER",
"order": 20,
"options": null,
"allowed_exception": false,
"read_only": true
}
]
},
{
"section_id": "lodging.services",
"order": 200,
"attributes": [
{
"gmb_id": "lodging.services.languagesSpoken",
"type": "REPEATABLE_ENUM",
"order": 20,
"options": [
{
"id": "ENGLISH"
},
{
"id": "FRENCH"
}
],
"allowed_exception": true,
"read_only": false
}
]
}
]
}{
"errors": {
"authentication": "User not authenticated"
}
}{
"errors": {
"authorization": "Operation not allowed"
}
}{
"errors": {
"json": "Resource not found"
}
}Authorizations
The authentication system on Partoo API is using API Key that should be put in the header of the request (the name of the header is x-APIKey). An api_key is linked to a user. This user's role will give you different access level to the API features.
Was this page helpful?