Skip to main content
POST
/
business
/
{business_id}
/
lodging
Set Google Lodging attributes for your business
curl --request POST \
  --url https://api.partoo.co/v2/business/{business_id}/lodging \
  --header 'Content-Type: application/json' \
  --header 'x-APIKey: <api-key>' \
  --data '
{
  "lodging": [
    {
      "gmb_id": "lodging.services.frontDesk",
      "type": "BOOL",
      "value": true,
      "exception": null
    },
    {
      "gmb_id": "lodging.property.roomCount",
      "type": "INTEGER",
      "value": 42,
      "exception": null
    },
    {
      "gmb_id": "lodging.property.checkinTime",
      "type": "TIME",
      "value": null,
      "exception": "LODGING_DEPENDENT_ON_SEASON"
    },
    {
      "gmb_id": "lodging.services.languagesSpoken",
      "type": "REPEATABLE_ENUM",
      "value": [
        "ENGLISH",
        "FRENCH"
      ],
      "exception": null
    }
  ]
}
'
import requests

url = "https://api.partoo.co/v2/business/{business_id}/lodging"

payload = { "lodging": [
{
"gmb_id": "lodging.services.frontDesk",
"type": "BOOL",
"value": True,
"exception": None
},
{
"gmb_id": "lodging.property.roomCount",
"type": "INTEGER",
"value": 42,
"exception": None
},
{
"gmb_id": "lodging.property.checkinTime",
"type": "TIME",
"value": None,
"exception": "LODGING_DEPENDENT_ON_SEASON"
},
{
"gmb_id": "lodging.services.languagesSpoken",
"type": "REPEATABLE_ENUM",
"value": ["ENGLISH", "FRENCH"],
"exception": None
}
] }
headers = {
"x-APIKey": "<api-key>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {'x-APIKey': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
lodging: [
{
gmb_id: 'lodging.services.frontDesk',
type: 'BOOL',
value: true,
exception: null
},
{
gmb_id: 'lodging.property.roomCount',
type: 'INTEGER',
value: 42,
exception: null
},
{
gmb_id: 'lodging.property.checkinTime',
type: 'TIME',
value: null,
exception: 'LODGING_DEPENDENT_ON_SEASON'
},
{
gmb_id: 'lodging.services.languagesSpoken',
type: 'REPEATABLE_ENUM',
value: ['ENGLISH', 'FRENCH'],
exception: null
}
]
})
};

fetch('https://api.partoo.co/v2/business/{business_id}/lodging', 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/business/{business_id}/lodging",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'lodging' => [
[
'gmb_id' => 'lodging.services.frontDesk',
'type' => 'BOOL',
'value' => true,
'exception' => null
],
[
'gmb_id' => 'lodging.property.roomCount',
'type' => 'INTEGER',
'value' => 42,
'exception' => null
],
[
'gmb_id' => 'lodging.property.checkinTime',
'type' => 'TIME',
'value' => null,
'exception' => 'LODGING_DEPENDENT_ON_SEASON'
],
[
'gmb_id' => 'lodging.services.languagesSpoken',
'type' => 'REPEATABLE_ENUM',
'value' => [
'ENGLISH',
'FRENCH'
],
'exception' => null
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.partoo.co/v2/business/{business_id}/lodging"

payload := strings.NewReader("{\n \"lodging\": [\n {\n \"gmb_id\": \"lodging.services.frontDesk\",\n \"type\": \"BOOL\",\n \"value\": true,\n \"exception\": null\n },\n {\n \"gmb_id\": \"lodging.property.roomCount\",\n \"type\": \"INTEGER\",\n \"value\": 42,\n \"exception\": null\n },\n {\n \"gmb_id\": \"lodging.property.checkinTime\",\n \"type\": \"TIME\",\n \"value\": null,\n \"exception\": \"LODGING_DEPENDENT_ON_SEASON\"\n },\n {\n \"gmb_id\": \"lodging.services.languagesSpoken\",\n \"type\": \"REPEATABLE_ENUM\",\n \"value\": [\n \"ENGLISH\",\n \"FRENCH\"\n ],\n \"exception\": null\n }\n ]\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("x-APIKey", "<api-key>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.partoo.co/v2/business/{business_id}/lodging")
.header("x-APIKey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"lodging\": [\n {\n \"gmb_id\": \"lodging.services.frontDesk\",\n \"type\": \"BOOL\",\n \"value\": true,\n \"exception\": null\n },\n {\n \"gmb_id\": \"lodging.property.roomCount\",\n \"type\": \"INTEGER\",\n \"value\": 42,\n \"exception\": null\n },\n {\n \"gmb_id\": \"lodging.property.checkinTime\",\n \"type\": \"TIME\",\n \"value\": null,\n \"exception\": \"LODGING_DEPENDENT_ON_SEASON\"\n },\n {\n \"gmb_id\": \"lodging.services.languagesSpoken\",\n \"type\": \"REPEATABLE_ENUM\",\n \"value\": [\n \"ENGLISH\",\n \"FRENCH\"\n ],\n \"exception\": null\n }\n ]\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.partoo.co/v2/business/{business_id}/lodging")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-APIKey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"lodging\": [\n {\n \"gmb_id\": \"lodging.services.frontDesk\",\n \"type\": \"BOOL\",\n \"value\": true,\n \"exception\": null\n },\n {\n \"gmb_id\": \"lodging.property.roomCount\",\n \"type\": \"INTEGER\",\n \"value\": 42,\n \"exception\": null\n },\n {\n \"gmb_id\": \"lodging.property.checkinTime\",\n \"type\": \"TIME\",\n \"value\": null,\n \"exception\": \"LODGING_DEPENDENT_ON_SEASON\"\n },\n {\n \"gmb_id\": \"lodging.services.languagesSpoken\",\n \"type\": \"REPEATABLE_ENUM\",\n \"value\": [\n \"ENGLISH\",\n \"FRENCH\"\n ],\n \"exception\": null\n }\n ]\n}"

response = http.request(request)
puts response.read_body
{
  "status": "success"
}
{
"errors": {
"json": "Read-only lodging attribute(s) cannot be modified: ['lodging.property.roomCount']"
}
}
{
"errors": {
"authentication": "User not authenticated"
}
}
{
"errors": {
"authorization": "Operation not allowed"
}
}
{
"errors": {
"json": "Resource not found"
}
}

Authorizations

x-APIKey
string
header
required

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.

Path Parameters

business_id
string
required

Business id.

It may be replaced by c-{code} where code is the store code, which should be unique per organization. This can be used only for ORG_ADMIN, GROUP_MANAGER and BUSINESS_MANAGER users.

Body

application/json
lodging
(Boolean · object | Integer · object | Time · object | Enum · object | Repeatable Enum · object)[]
required

List of Google Lodging attribute values.

Example:
[
{
"gmb_id": "lodging.services.frontDesk",
"type": "BOOL",
"value": true,
"exception": null
},
{
"gmb_id": "lodging.property.roomCount",
"type": "INTEGER",
"value": 42,
"exception": null
},
{
"gmb_id": "lodging.property.checkinTime",
"type": "TIME",
"value": null,
"exception": "LODGING_DEPENDENT_ON_SEASON"
},
{
"gmb_id": "lodging.services.languagesSpoken",
"type": "REPEATABLE_ENUM",
"value": ["ENGLISH", "FRENCH"],
"exception": null
}
]

Response

OK

status
enum<string>

Request status

Available options:
success