NAV
Shell Ruby PHP JavaScript

Introduction

Welcome to the Booking Experts API v3 reference documentation. API calls are made by a Booking Experts App. For more information on Booking Experts Apps, please see our App Guide.

Basics

Standards

The Booking Experts API is organized around REST and it follows the JSON API specification. The API has predictable, resource-oriented URLs, and uses HTTP response codes to indicate API errors.

Documentation is standardized by using the Open API 3 (OAS3) specification, this allows you to inspect the API using other clients like for example Swagger UI and Postman. The specification is hosted here: https://api.bookingexperts.nl/v3/oas3.json

Responses

curl --request GET \
  --url https://api.bookingexperts.nl/v3/administrations \
  --header 'accept: application/vnd.api+json' \
  --header 'accept-language: en,nl' \
  --header 'x-api-key: API_KEY'

Might produce the following output

{
  "errors": [
    {
      "status": 401,
      "code": "RESOURCE_NOT_FOUND",
      "title": "Unauthorized error",
      "detail": "Please make sure to set the Authorization HTTP header"
    }
  ]
}

The Booking Experts API will always respond with a HTTP status code. The API can return the following codes:

Code Semantic Meaning
200 OK Request was successful
400 Bad Request Parameters for the request are missing or malformed. Body contains the errors.
401 Unauthorized Your API key is wrong
403 Forbidden IP is blacklisted for API usage, see Throttling information
404 Not Found Entity not found
422 Unprocessable entity Saving the entity in the database failed due to validation errors. Body contains the errors.
429 Too Many Requests You're requesting too many kittens! Slow down!
5XX Server Errors Something went wrong on Booking Experts's end. We are probably already busy solving the issue. It's your responsibility to retry the request at a later point.

Error codes

Error codes are custom to give you more information. The list below contains the most common errors that can occur.

Accept Language

You can always pass an Accept-Language header containing a comma separated list of locales. This will limit the result of 'localized' attributes to the locales specified.

X_BE_ENV header

When your application receives a request from Booking Experts, for example when a webhook or command is called, the X_BE_ENV header is passed. Usually, the value of this header will be 'production', denoting that the request originated from our production environment. For testing purposes however, it might be possible that your app will receive requests from a different environment, for example 'staging'. You can check this header if you want to handle these requests differently.

X_BE_SIGNATURE header

When your application receives a request from Booking Experts, for example when a webhook or command is called, the X_BE_SIGNATURE header is passed to allow you to verify that the request was sent by our systems. It uses a HMAC hexdigest to compute the hash based on your Client Secret.

To verify a request, your code should look something like this:

def verify_signature(payload_body)
  signature =
    'sha256=' +
      OpenSSL::HMAC.hexdigest(
        OpenSSL::Digest.new('sha256'),
        ENV['OAUTH_CLIENT_SECRET'],
        payload_body
      )
  unless Rack::Utils.secure_compare(
           signature,
           request.env['HTTP_X_BE_SIGNATURE']
         )
    return halt 500, "Signatures didn't match!"
  end
end
import os

secret = os.environ['OAUTH_CLIENT_SECRET']
header_signature = request.headers.get('X_BE_SIGNATURE')

# HMAC requires the key to be bytes, but data is string
mac = hmac.new(str(secret), msg=request.data, digestmod='sha256')

# Python prior to 2.7.7 does not have hmac.compare_digest
if hexversion >= 0x020707F0:
  if not hmac.compare_digest(str(mac.hexdigest()), str(signature)):
    abort(403)
else:
  # What compare_digest provides is protection against timing
  # attacks; we can live without this protection for a web-based
  # application
  if not str(mac.hexdigest()) == str(signature):
    abort(403)
$sig_check = 'sha256=' . hash_hmac('sha256', Request::getContent(), $_ENV['OAUTH_CLIENT_SECRET']);

if ($sig_check === Request::header('HTTP_X_BE_SIGNATURE')) {  // php >=5.6 and above should use hash_equals() for comparison
  // sigs match, do stuff
}

Throttling

Usage of the Booking Experts API is virtually unlimited. However, to prevent fraud and abuse, requests to the API are throttled. By default you are allowed to call the API 500 times within a moving window of 15 minutes. Additionally, bursts of 100 calls per minute are allowed within this window.

While within the limit, each response contains a X-RateLimit-Limit and a X-RateLimit-Remaining header containing the set limit & the remaining allowance in the window. If you exceed the limit, the API will respond with a 429 Too many requests response. This response contains a header Retry-After containing the time after which a new calls are allowed.

If your use case requires more lenient rate limits, please contact us at api@bookingexperts.nl to request a higher limit.

Pagination

{
  "links": {
    "self": "https://api.bookingexperts.nl/v3/administrations/1/reservations?page%5Bnumber%5D=2",
    "first": "https://api.bookingexperts.nl/v3/administrations/1/reservations?page%5Bnumber%5D=1",
    "last": "https://api.bookingexperts.nl/v3/administrations/1/reservations?page%5Bnumber%5D=14",
    "prev": "https://api.bookingexperts.nl/v3/administrations/1/reservations?page%5Bnumber%5D=1",
    "next": "https://api.bookingexperts.nl/v3/administrations/1/reservations?page%5Bnumber%5D=3"
  }
  "data": [...]
}

All collection responses include pagination. In the response body you will find a links node that contains links to first, self, next, prev, last pages. Most responses have 30 records per page.

Sparse field sets

By default every request returns a quite complete set of fields (attributes and relationships). You can limit or expand this default set however. Per record type you can specify which fields to include.

curl --request GET \
  --url 'http://api.lvh.me:3000/v3/administrations?fields[administration]=name,description' \
  --header 'accept: application/vnd.api+json' \
  --header 'accept-language: en,nl' \
  --header 'x-api-key: API_KEY' | jsonpp

Will return only the name and description fields of every administration. Note that this will also omit defined relationships of the resource.

Includes

Includes are a standard part of the jsonapi specification. Each relationship on a resource can be included. Which relationships a resource has can be determined by looking at its Schema.

As an example: the Reservation resource defines a relationship called extra_order_items. This means that you can add extra_order_items to the includes list in the query string. In turn, the ExtraOrderItem has a relationship with an extra, so you could in that case also include the metadata of the associated extra by specifying extra_order_items.extra in your includes list. When you only need the ID of a relationship, it is not necessary to include a resource, as the ID is defined within the relationship itself.

Filters

The following attribute filters are available on GET API calls:

All expressions can be inverted by prefixing a !, this holds for the entire expression.

OR-filtering

An OR filter can be created by separating attribute names in a filter with a pipe:

Security

{
  "errors": [{
    "status": "403",
    "code": "NO_VALID_SCOPE",
    "title": "Forbidden",
    "detail": "The scopes for your application do not grant you permission to perform this action. One of the following scopes is required: payment|write."
  }]
}

To be able to fetch resources, either directly or through including related resources, you need the appropriate permissions. Permissions can be defined in you App's settings and they translate into OAuth2 scopes that the user needs to explicitly approve. When you are missing permissions for the call you are executing, an error will be returned like the one on the right.

Note: When you update your App's permissions, these will apply directly when using API keys. When using OAuth2 however, subscribers will need to grant permission again in order for the new permissions to be applied.

Example permissions (scopes):

There are also some channel specific permissions. This functionality is meant for tour operators who don't need to access all reservations, but only reservations and related resources that have been created through their own channel:

Authorization scopes

Scope Scope Description
administration read
agenda_period delete
agenda_period read
agenda_period write
agreement read
amenity read
area_type read
availability read
billing/bill read
billing/entry read
booking read
category_group read
category read
category write
channel::booking read
channel::customer read
channel::order read
channel::reservation read
channel delete
channel read
channel write
chargeback write
checkout_portal manage
city read
contact read
cost read
currency_conversion read
customer read
customer write
debtor read
discount_action read
discount_card read
domain read
executor read
extra_order_item read
extra_order_item write
extra read
facility read
guest delete
guest read
guest write
internal_message write
invoice read
journal_transaction read
label read
label write
ledger_account read
main_order_item read
master_price_list read
master_price_list write
memo write
message write
meter_type read
order read
organization read
owner read
package_entry read
package read
payment_handler delete
payment_handler read
payment_handler write
payment_method read
payment_method write
payment_request read
payment_result write
payment read
payment write
period read
question_answer read
receipt read
refund_request read
refund_result write
region read
register read
rentable_identity delete
rentable_identity read
rentable_identity write
rentable_segment read
rentable_type_group read
rentable_type read
rentable_type write
rentable delete
rentable read
rentable write
reservation read
reservation write
review_form read
review read
review write
room_type read
room read
signature read
signature write
subdomain read
terms read
timesheet delete
timesheet read
timesheet write
todo_image delete
todo_image read
todo_image write
todo_list read
todo delete
todo read
todo write
user read
vat_code read
vat_tariff read

Administration AdministrationAmenities

GET administration_amenities

Code samples

curl --request GET \
  --url https://api.bookingexperts.nl/v3/administrations/1/administration_amenities \
  --header 'Accept: application/vnd.api+json' \
  --header 'Accept-Language: en,nl' \
  --header 'X-API-KEY: API_KEY'
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.bookingexperts.nl/v3/administrations/1/administration_amenities")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/vnd.api+json'
request["Accept-Language"] = 'en,nl'
request["X-API-KEY"] = 'API_KEY'

response = http.request(request)
puts response.read_body
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.bookingexperts.nl/v3/administrations/1/administration_amenities",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/vnd.api+json",
    "Accept-Language: en,nl",
    "X-API-KEY: API_KEY"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.bookingexperts.nl/v3/administrations/1/administration_amenities");
xhr.setRequestHeader("Accept", "application/vnd.api+json");
xhr.setRequestHeader("Accept-Language", "en,nl");
xhr.setRequestHeader("X-API-KEY", "API_KEY");

xhr.send(data);

GET /v3/administrations/{administration_id}/administration_amenities

Returns Administration Amenities of the administration

Parameters

Name In Type Required Example Description
administration_id path string true 1 Administration ID
page[number] query integer false 1 Page number
page[size] query integer false 10 Page size
sort query string false attr1,attr2 Sort. Specify a comma separated list of attributes to sort on. Prefix attribute with a \- to sort in descending order
fields[administration_amenity] query string false field1,field2 Fieldset. Specify a comma separated list of attributes to return
filter[id] query string false 1 Filter on ID
filter[value] query string false value Filter on value
filter[administration] query string false 1,2 Filter on administration. Specify a comma separated list of IDs to filter on.
filter[amenity] query string false 1,2 Filter on amenity. Specify a comma separated list of IDs to filter on.
include query string false relationship1,relationship2 Includes list. Specify a comma separated list of resources to include.
Accept-Language header string false en,nl Supported languages. A comma separated list with one or more of the following locales: nl, nl-BE, en, de, de-AT, de-CH, fr, fr-BE, fr-LU, da, cs, es, tr, pt, it, pl, nb. Default: 'en'.

Example responses

200 Response

{
  "data": [
    {
      "id": "1",
      "type": "administration_amenity",
      "attributes": {
        "value": 1
      },
      "relationships": {
        "administration": {
          "data": {}
        },
        "amenity": {
          "data": {}
        }
      },
      "meta": {
        "temp_id": "string"
      }
    }
  ],
  "meta": {
    "pagination": {
      "total_records": 0,
      "page": 0,
      "size": 0
    }
  }
}

Responses

Status Meaning Description Schema
200 OK AdministrationAmenityCollectionResponse Inline
429 Too Many Requests Error Inline
default Default Error Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
— data [[AdministrationAmenity](#schemaadministrationamenity)] false none [An AdministrationAmenity is a relationship between an Administration and an Amenity. When the linked Amenity
is a numerical or multiple choice Amenity, the value of this AdministrationAmenity denotes the
numerical value or the AmenityOption ID (as integer), respectively.
]
—— id string false none ID
—— type string false none Type
—— attributes object false none Attributes
——— value integer false none none
—— relationships object false none Relationships
——— administration object false none none
———— data object false none none
————— id string false none administration ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— amenity object false none none
———— data object false none none
————— id string false none amenity ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
—— meta object false none Metadata
——— temp_id string false none UUID for internal resource linking. Should be omitted when the relationship ID is known.
— meta object false none none
—— pagination object false none none
——— total_records integer false none none
——— page integer false none none
——— size integer false none none

Status Code 429

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

Status Code default

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

GET administration_amenity

Code samples

curl --request GET \
  --url https://api.bookingexperts.nl/v3/administrations/1/administration_amenities/string \
  --header 'Accept: application/vnd.api+json' \
  --header 'Accept-Language: en,nl' \
  --header 'X-API-KEY: API_KEY'
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.bookingexperts.nl/v3/administrations/1/administration_amenities/string")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/vnd.api+json'
request["Accept-Language"] = 'en,nl'
request["X-API-KEY"] = 'API_KEY'

response = http.request(request)
puts response.read_body
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.bookingexperts.nl/v3/administrations/1/administration_amenities/string",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/vnd.api+json",
    "Accept-Language: en,nl",
    "X-API-KEY: API_KEY"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.bookingexperts.nl/v3/administrations/1/administration_amenities/string");
xhr.setRequestHeader("Accept", "application/vnd.api+json");
xhr.setRequestHeader("Accept-Language", "en,nl");
xhr.setRequestHeader("X-API-KEY", "API_KEY");

xhr.send(data);

GET /v3/administrations/{administration_id}/administration_amenities/{id}

Returns the Administration Amenity for the given ID

Parameters

Name In Type Required Example Description
administration_id path string true 1 Administration ID
id path string true string Resource ID
fields[administration_amenity] query string false field1,field2 Fieldset. Specify a comma separated list of attributes to return
filter[id] query string false 1 Filter on ID
filter[value] query string false value Filter on value
filter[administration] query string false 1,2 Filter on administration. Specify a comma separated list of IDs to filter on.
filter[amenity] query string false 1,2 Filter on amenity. Specify a comma separated list of IDs to filter on.
include query string false relationship1,relationship2 Includes list. Specify a comma separated list of resources to include.
Accept-Language header string false en,nl Supported languages. A comma separated list with one or more of the following locales: nl, nl-BE, en, de, de-AT, de-CH, fr, fr-BE, fr-LU, da, cs, es, tr, pt, it, pl, nb. Default: 'en'.

Example responses

200 Response

{
  "data": {
    "id": "1",
    "type": "administration_amenity",
    "attributes": {
      "value": 1
    },
    "relationships": {
      "administration": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "amenity": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      }
    },
    "meta": {
      "temp_id": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK AdministrationAmenityResponse Inline
429 Too Many Requests Error Inline
default Default Error Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
— data [AdministrationAmenity](#schemaadministrationamenity) false none An AdministrationAmenity is a relationship between an Administration and an Amenity. When the linked Amenity
is a numerical or multiple choice Amenity, the value of this AdministrationAmenity denotes the
numerical value or the AmenityOption ID (as integer), respectively.
—— id string false none ID
—— type string false none Type
—— attributes object false none Attributes
——— value integer false none none
—— relationships object false none Relationships
——— administration object false none none
———— data object false none none
————— id string false none administration ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— amenity object false none none
———— data object false none none
————— id string false none amenity ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
—— meta object false none Metadata
——— temp_id string false none UUID for internal resource linking. Should be omitted when the relationship ID is known.

Status Code 429

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

Status Code default

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

Administration AgendaPeriods

GET agenda_periods

Code samples

curl --request GET \
  --url https://api.bookingexperts.nl/v3/administrations/1/agenda_periods \
  --header 'Accept: application/vnd.api+json' \
  --header 'Accept-Language: en,nl' \
  --header 'X-API-KEY: API_KEY'
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.bookingexperts.nl/v3/administrations/1/agenda_periods")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/vnd.api+json'
request["Accept-Language"] = 'en,nl'
request["X-API-KEY"] = 'API_KEY'

response = http.request(request)
puts response.read_body
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.bookingexperts.nl/v3/administrations/1/agenda_periods",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/vnd.api+json",
    "Accept-Language: en,nl",
    "X-API-KEY: API_KEY"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.bookingexperts.nl/v3/administrations/1/agenda_periods");
xhr.setRequestHeader("Accept", "application/vnd.api+json");
xhr.setRequestHeader("Accept-Language", "en,nl");
xhr.setRequestHeader("X-API-KEY", "API_KEY");

xhr.send(data);

GET /v3/administrations/{administration_id}/agenda_periods

Returns agenda periods the administration

Parameters

Name In Type Required Example Description
administration_id path string true 1 Administration ID
page[number] query integer false 1 Page number
page[size] query integer false 10 Page size
sort query string false attr1,attr2 Sort. Specify a comma separated list of attributes to sort on. Prefix attribute with a \- to sort in descending order
fields[agenda_period] query string false field1,field2 Fieldset. Specify a comma separated list of attributes to return
filter[id] query string false 1 Filter on ID
filter[start_date] query string false start_date Filter on start_date
filter[end_date] query string false end_date Filter on end_date
filter[type] query string false type Filter on type
filter[created_at] query string false created_at Filter on created_at
filter[updated_at] query string false updated_at Filter on updated_at
filter[rentable] query string false 1,2 Filter on rentable. Specify a comma separated list of IDs to filter on.
filter[reservation] query string false 1,2 Filter on reservation. Specify a comma separated list of IDs to filter on.
include query string false relationship1,relationship2 Includes list. Specify a comma separated list of resources to include.
Accept-Language header string false en,nl Supported languages. A comma separated list with one or more of the following locales: nl, nl-BE, en, de, de-AT, de-CH, fr, fr-BE, fr-LU, da, cs, es, tr, pt, it, pl, nb. Default: 'en'.

Example responses

200 Response

{
  "data": [
    {
      "id": "1",
      "type": "agenda_period",
      "attributes": {
        "label": "string",
        "start_date": "2019-08-24",
        "end_date": "2019-08-24",
        "type": "MaintenanceAgendaPeriod",
        "ical_uid": "string",
        "created_at": "2019-08-24T14:15:22Z",
        "updated_at": "2019-08-24T14:15:22Z"
      },
      "relationships": {
        "rentable": {
          "data": {}
        },
        "reservation": {
          "data": {}
        }
      },
      "meta": {
        "temp_id": "string"
      }
    }
  ],
  "meta": {
    "pagination": {
      "total_records": 0,
      "page": 0,
      "size": 0
    }
  }
}

Responses

Status Meaning Description Schema
200 OK AgendaPeriodCollectionResponse Inline
429 Too Many Requests Error Inline
default Default Error Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
— data [[AgendaPeriod](#schemaagendaperiod)] false none [A blocking event on the calendar of a Rentable. This includes Reservations and maintenance events.]
—— id string false none ID
—— type string false none Type
—— attributes object false none Attributes
——— label string false none none
——— start_date string(date) false none none
——— end_date string(date) false none none
——— type string false read-only none
——— ical_uid string false read-only none
——— created_at string(date-time) false read-only none
——— updated_at string(date-time) false read-only none
—— relationships object false none Relationships
——— rentable object false none none
———— data object false none none
————— id string false none rentable ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— reservation object false none none
———— data object false read-only none
————— id string false none reservation ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
—— meta object false none Metadata
——— temp_id string false none UUID for internal resource linking. Should be omitted when the relationship ID is known.
— meta object false none none
—— pagination object false none none
——— total_records integer false none none
——— page integer false none none
——— size integer false none none

Enumerated Values

Property Value
type MaintenanceAgendaPeriod
type OwnerMaintenanceAgendaPeriod
type BlockedByGroupedRentableTypeAgendaPeriod
type ReservationAgendaPeriod
type ExternalBlockedAgendaPeriod
type NotEnoughStockAgendaPeriod

Status Code 429

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

Status Code default

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

GET agenda_period

Code samples

curl --request GET \
  --url https://api.bookingexperts.nl/v3/administrations/1/agenda_periods/string \
  --header 'Accept: application/vnd.api+json' \
  --header 'Accept-Language: en,nl' \
  --header 'X-API-KEY: API_KEY'
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.bookingexperts.nl/v3/administrations/1/agenda_periods/string")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/vnd.api+json'
request["Accept-Language"] = 'en,nl'
request["X-API-KEY"] = 'API_KEY'

response = http.request(request)
puts response.read_body
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.bookingexperts.nl/v3/administrations/1/agenda_periods/string",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/vnd.api+json",
    "Accept-Language: en,nl",
    "X-API-KEY: API_KEY"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.bookingexperts.nl/v3/administrations/1/agenda_periods/string");
xhr.setRequestHeader("Accept", "application/vnd.api+json");
xhr.setRequestHeader("Accept-Language", "en,nl");
xhr.setRequestHeader("X-API-KEY", "API_KEY");

xhr.send(data);

GET /v3/administrations/{administration_id}/agenda_periods/{id}

Returns the agenda period for the given ID

Parameters

Name In Type Required Example Description
administration_id path string true 1 Administration ID
id path string true string Resource ID
fields[agenda_period] query string false field1,field2 Fieldset. Specify a comma separated list of attributes to return
filter[id] query string false 1 Filter on ID
filter[start_date] query string false start_date Filter on start_date
filter[end_date] query string false end_date Filter on end_date
filter[type] query string false type Filter on type
filter[created_at] query string false created_at Filter on created_at
filter[updated_at] query string false updated_at Filter on updated_at
filter[rentable] query string false 1,2 Filter on rentable. Specify a comma separated list of IDs to filter on.
filter[reservation] query string false 1,2 Filter on reservation. Specify a comma separated list of IDs to filter on.
include query string false relationship1,relationship2 Includes list. Specify a comma separated list of resources to include.
Accept-Language header string false en,nl Supported languages. A comma separated list with one or more of the following locales: nl, nl-BE, en, de, de-AT, de-CH, fr, fr-BE, fr-LU, da, cs, es, tr, pt, it, pl, nb. Default: 'en'.

Example responses

200 Response

{
  "data": {
    "id": "1",
    "type": "agenda_period",
    "attributes": {
      "label": "string",
      "start_date": "2019-08-24",
      "end_date": "2019-08-24",
      "type": "MaintenanceAgendaPeriod",
      "ical_uid": "string",
      "created_at": "2019-08-24T14:15:22Z",
      "updated_at": "2019-08-24T14:15:22Z"
    },
    "relationships": {
      "rentable": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "reservation": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      }
    },
    "meta": {
      "temp_id": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK AgendaPeriodResponse Inline
429 Too Many Requests Error Inline
default Default Error Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
— data [AgendaPeriod](#schemaagendaperiod) false none A blocking event on the calendar of a Rentable. This includes Reservations and maintenance events.
—— id string false none ID
—— type string false none Type
—— attributes object false none Attributes
——— label string false none none
——— start_date string(date) false none none
——— end_date string(date) false none none
——— type string false read-only none
——— ical_uid string false read-only none
——— created_at string(date-time) false read-only none
——— updated_at string(date-time) false read-only none
—— relationships object false none Relationships
——— rentable object false none none
———— data object false none none
————— id string false none rentable ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— reservation object false none none
———— data object false read-only none
————— id string false none reservation ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
—— meta object false none Metadata
——— temp_id string false none UUID for internal resource linking. Should be omitted when the relationship ID is known.

Enumerated Values

Property Value
type MaintenanceAgendaPeriod
type OwnerMaintenanceAgendaPeriod
type BlockedByGroupedRentableTypeAgendaPeriod
type ReservationAgendaPeriod
type ExternalBlockedAgendaPeriod
type NotEnoughStockAgendaPeriod

Status Code 429

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

Status Code default

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

POST external_blocked_agenda_period

Code samples

curl --request POST \
  --url https://api.bookingexperts.nl/v3/administrations/1/external_blocked_agenda_periods \
  --header 'Accept: application/vnd.api+json' \
  --header 'Accept-Language: en,nl' \
  --header 'Content-Type: application/vnd.api+json' \
  --header 'X-API-KEY: API_KEY' \
  --data '{"data":{"type":"agenda_period","attributes":{"label":"string","start_date":"2019-08-24","end_date":"2019-08-24"},"relationships":{"rentable":{"data":{"id":null,"type":null,"meta":null}}},"meta":{"temp_id":"string"}}}'
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.bookingexperts.nl/v3/administrations/1/external_blocked_agenda_periods")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/vnd.api+json'
request["Accept"] = 'application/vnd.api+json'
request["Accept-Language"] = 'en,nl'
request["X-API-KEY"] = 'API_KEY'
request.body = "{\"data\":{\"type\":\"agenda_period\",\"attributes\":{\"label\":\"string\",\"start_date\":\"2019-08-24\",\"end_date\":\"2019-08-24\"},\"relationships\":{\"rentable\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}}},\"meta\":{\"temp_id\":\"string\"}}}"

response = http.request(request)
puts response.read_body
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.bookingexperts.nl/v3/administrations/1/external_blocked_agenda_periods",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"data\":{\"type\":\"agenda_period\",\"attributes\":{\"label\":\"string\",\"start_date\":\"2019-08-24\",\"end_date\":\"2019-08-24\"},\"relationships\":{\"rentable\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}}},\"meta\":{\"temp_id\":\"string\"}}}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/vnd.api+json",
    "Accept-Language: en,nl",
    "Content-Type: application/vnd.api+json",
    "X-API-KEY: API_KEY"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
const data = "{\"data\":{\"type\":\"agenda_period\",\"attributes\":{\"label\":\"string\",\"start_date\":\"2019-08-24\",\"end_date\":\"2019-08-24\"},\"relationships\":{\"rentable\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}}},\"meta\":{\"temp_id\":\"string\"}}}";

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.bookingexperts.nl/v3/administrations/1/external_blocked_agenda_periods");
xhr.setRequestHeader("Content-Type", "application/vnd.api+json");
xhr.setRequestHeader("Accept", "application/vnd.api+json");
xhr.setRequestHeader("Accept-Language", "en,nl");
xhr.setRequestHeader("X-API-KEY", "API_KEY");

xhr.send(data);

POST /v3/administrations/{administration_id}/external_blocked_agenda_periods

Create a new external blocked agenda period for a given rentable.

Body parameter

{
  "data": {
    "type": "agenda_period",
    "attributes": {
      "label": "string",
      "start_date": "2019-08-24",
      "end_date": "2019-08-24"
    },
    "relationships": {
      "rentable": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      }
    },
    "meta": {
      "temp_id": "string"
    }
  }
}

Parameters

Name In Type Required Example Description
administration_id path string true 1 Administration ID
Accept-Language header string false en,nl Supported languages. A comma separated list with one or more of the following locales: nl, nl-BE, en, de, de-AT, de-CH, fr, fr-BE, fr-LU, da, cs, es, tr, pt, it, pl, nb. Default: 'en'.
body body object true [object Object] none
— data body object false [object Object] A blocking event on the calendar of a Rentable. This includes Reservations and maintenance events.
—— type body string false agenda_period Type
—— attributes body object false [object Object] Attributes
——— label body string false string none
——— start_date body string(date) false 2019-08-24 none
——— end_date body string(date) false 2019-08-24 none
—— relationships body object false [object Object] Relationships
——— rentable body object false [object Object] none
———— data body object false [object Object] none
————— id body string false string rentable ID
————— type body string false rentable none
————— meta body object false [object Object] none
—————— temp_id body string false string UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method body string false string Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
—— meta body object false [object Object] Metadata
——— temp_id body string false string UUID for internal resource linking. Should be omitted when the relationship ID is known.

Example responses

200 Response

{
  "data": {
    "id": "1",
    "type": "agenda_period",
    "attributes": {
      "label": "string",
      "start_date": "2019-08-24",
      "end_date": "2019-08-24",
      "type": "MaintenanceAgendaPeriod",
      "ical_uid": "string",
      "created_at": "2019-08-24T14:15:22Z",
      "updated_at": "2019-08-24T14:15:22Z"
    },
    "relationships": {
      "rentable": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "reservation": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      }
    },
    "meta": {
      "temp_id": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK AgendaPeriodResponse Inline
429 Too Many Requests Error Inline
default Default Error Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
— data [AgendaPeriod](#schemaagendaperiod) false none A blocking event on the calendar of a Rentable. This includes Reservations and maintenance events.
—— id string false none ID
—— type string false none Type
—— attributes object false none Attributes
——— label string false none none
——— start_date string(date) false none none
——— end_date string(date) false none none
——— type string false read-only none
——— ical_uid string false read-only none
——— created_at string(date-time) false read-only none
——— updated_at string(date-time) false read-only none
—— relationships object false none Relationships
——— rentable object false none none
———— data object false none none
————— id string false none rentable ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— reservation object false none none
———— data object false read-only none
————— id string false none reservation ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
—— meta object false none Metadata
——— temp_id string false none UUID for internal resource linking. Should be omitted when the relationship ID is known.

Enumerated Values

Property Value
type MaintenanceAgendaPeriod
type OwnerMaintenanceAgendaPeriod
type BlockedByGroupedRentableTypeAgendaPeriod
type ReservationAgendaPeriod
type ExternalBlockedAgendaPeriod
type NotEnoughStockAgendaPeriod

Status Code 429

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

Status Code default

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

PATCH external_blocked_agenda_period

Code samples

curl --request PATCH \
  --url https://api.bookingexperts.nl/v3/administrations/1/external_blocked_agenda_periods/string \
  --header 'Accept: application/vnd.api+json' \
  --header 'Accept-Language: en,nl' \
  --header 'Content-Type: application/vnd.api+json' \
  --header 'X-API-KEY: API_KEY' \
  --data '{"data":{"id":"1","type":"agenda_period","attributes":{"label":"string","start_date":"2019-08-24","end_date":"2019-08-24"},"relationships":{"rentable":{"data":{"id":null,"type":null,"meta":null}}},"meta":{"temp_id":"string"}}}'
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.bookingexperts.nl/v3/administrations/1/external_blocked_agenda_periods/string")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/vnd.api+json'
request["Accept"] = 'application/vnd.api+json'
request["Accept-Language"] = 'en,nl'
request["X-API-KEY"] = 'API_KEY'
request.body = "{\"data\":{\"id\":\"1\",\"type\":\"agenda_period\",\"attributes\":{\"label\":\"string\",\"start_date\":\"2019-08-24\",\"end_date\":\"2019-08-24\"},\"relationships\":{\"rentable\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}}},\"meta\":{\"temp_id\":\"string\"}}}"

response = http.request(request)
puts response.read_body
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.bookingexperts.nl/v3/administrations/1/external_blocked_agenda_periods/string",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PATCH",
  CURLOPT_POSTFIELDS => "{\"data\":{\"id\":\"1\",\"type\":\"agenda_period\",\"attributes\":{\"label\":\"string\",\"start_date\":\"2019-08-24\",\"end_date\":\"2019-08-24\"},\"relationships\":{\"rentable\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}}},\"meta\":{\"temp_id\":\"string\"}}}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/vnd.api+json",
    "Accept-Language: en,nl",
    "Content-Type: application/vnd.api+json",
    "X-API-KEY: API_KEY"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
const data = "{\"data\":{\"id\":\"1\",\"type\":\"agenda_period\",\"attributes\":{\"label\":\"string\",\"start_date\":\"2019-08-24\",\"end_date\":\"2019-08-24\"},\"relationships\":{\"rentable\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}}},\"meta\":{\"temp_id\":\"string\"}}}";

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PATCH", "https://api.bookingexperts.nl/v3/administrations/1/external_blocked_agenda_periods/string");
xhr.setRequestHeader("Content-Type", "application/vnd.api+json");
xhr.setRequestHeader("Accept", "application/vnd.api+json");
xhr.setRequestHeader("Accept-Language", "en,nl");
xhr.setRequestHeader("X-API-KEY", "API_KEY");

xhr.send(data);

PATCH /v3/administrations/{administration_id}/external_blocked_agenda_periods/{id}

Update an external blocked agenda period.

Body parameter

{
  "data": {
    "id": "1",
    "type": "agenda_period",
    "attributes": {
      "label": "string",
      "start_date": "2019-08-24",
      "end_date": "2019-08-24"
    },
    "relationships": {
      "rentable": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      }
    },
    "meta": {
      "temp_id": "string"
    }
  }
}

Parameters

Name In Type Required Example Description
administration_id path string true 1 Administration ID
id path string true string Resource ID
Accept-Language header string false en,nl Supported languages. A comma separated list with one or more of the following locales: nl, nl-BE, en, de, de-AT, de-CH, fr, fr-BE, fr-LU, da, cs, es, tr, pt, it, pl, nb. Default: 'en'.
body body object true [object Object] none
— data body object false [object Object] A blocking event on the calendar of a Rentable. This includes Reservations and maintenance events.
—— id body string false 1 ID
—— type body string false agenda_period Type
—— attributes body object false [object Object] Attributes
——— label body string false string none
——— start_date body string(date) false 2019-08-24 none
——— end_date body string(date) false 2019-08-24 none
—— relationships body object false [object Object] Relationships
——— rentable body object false [object Object] none
———— data body object false [object Object] none
————— id body string false string rentable ID
————— type body string false rentable none
————— meta body object false [object Object] none
—————— temp_id body string false string UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method body string false string Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
—— meta body object false [object Object] Metadata
——— temp_id body string false string UUID for internal resource linking. Should be omitted when the relationship ID is known.

Example responses

200 Response

{
  "data": {
    "id": "1",
    "type": "agenda_period",
    "attributes": {
      "label": "string",
      "start_date": "2019-08-24",
      "end_date": "2019-08-24",
      "type": "MaintenanceAgendaPeriod",
      "ical_uid": "string",
      "created_at": "2019-08-24T14:15:22Z",
      "updated_at": "2019-08-24T14:15:22Z"
    },
    "relationships": {
      "rentable": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "reservation": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      }
    },
    "meta": {
      "temp_id": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK AgendaPeriodResponse Inline
429 Too Many Requests Error Inline
default Default Error Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
— data [AgendaPeriod](#schemaagendaperiod) false none A blocking event on the calendar of a Rentable. This includes Reservations and maintenance events.
—— id string false none ID
—— type string false none Type
—— attributes object false none Attributes
——— label string false none none
——— start_date string(date) false none none
——— end_date string(date) false none none
——— type string false read-only none
——— ical_uid string false read-only none
——— created_at string(date-time) false read-only none
——— updated_at string(date-time) false read-only none
—— relationships object false none Relationships
——— rentable object false none none
———— data object false none none
————— id string false none rentable ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— reservation object false none none
———— data object false read-only none
————— id string false none reservation ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
—— meta object false none Metadata
——— temp_id string false none UUID for internal resource linking. Should be omitted when the relationship ID is known.

Enumerated Values

Property Value
type MaintenanceAgendaPeriod
type OwnerMaintenanceAgendaPeriod
type BlockedByGroupedRentableTypeAgendaPeriod
type ReservationAgendaPeriod
type ExternalBlockedAgendaPeriod
type NotEnoughStockAgendaPeriod

Status Code 429

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

Status Code default

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

DELETE external_blocked_agenda_period

Code samples

curl --request DELETE \
  --url https://api.bookingexperts.nl/v3/administrations/1/external_blocked_agenda_periods/string \
  --header 'Accept: application/vnd.api+json' \
  --header 'Accept-Language: en,nl' \
  --header 'X-API-KEY: API_KEY'
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.bookingexperts.nl/v3/administrations/1/external_blocked_agenda_periods/string")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Delete.new(url)
request["Accept"] = 'application/vnd.api+json'
request["Accept-Language"] = 'en,nl'
request["X-API-KEY"] = 'API_KEY'

response = http.request(request)
puts response.read_body
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.bookingexperts.nl/v3/administrations/1/external_blocked_agenda_periods/string",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_HTTPHEADER => [
    "Accept: application/vnd.api+json",
    "Accept-Language: en,nl",
    "X-API-KEY: API_KEY"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.bookingexperts.nl/v3/administrations/1/external_blocked_agenda_periods/string");
xhr.setRequestHeader("Accept", "application/vnd.api+json");
xhr.setRequestHeader("Accept-Language", "en,nl");
xhr.setRequestHeader("X-API-KEY", "API_KEY");

xhr.send(data);

DELETE /v3/administrations/{administration_id}/external_blocked_agenda_periods/{id}

Destroy an external blocked agenda period.

Parameters

Name In Type Required Example Description
administration_id path string true 1 Administration ID
id path string true string Resource ID
Accept-Language header string false en,nl Supported languages. A comma separated list with one or more of the following locales: nl, nl-BE, en, de, de-AT, de-CH, fr, fr-BE, fr-LU, da, cs, es, tr, pt, it, pl, nb. Default: 'en'.

Example responses

429 Response

{
  "errors": [
    {
      "status": "string",
      "code": "string",
      "title": "string",
      "detail": "string",
      "source": {
        "pointer": "string"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
204 No Content Success None
429 Too Many Requests Error Inline
default Default Error Inline

Response Schema

Status Code 429

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

Status Code default

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

POST maintenance_agenda_period

Code samples

curl --request POST \
  --url https://api.bookingexperts.nl/v3/administrations/1/maintenance_agenda_periods \
  --header 'Accept: application/vnd.api+json' \
  --header 'Accept-Language: en,nl' \
  --header 'Content-Type: application/vnd.api+json' \
  --header 'X-API-KEY: API_KEY' \
  --data '{"data":{"type":"agenda_period","attributes":{"label":"string","start_date":"2019-08-24","end_date":"2019-08-24"},"relationships":{"rentable":{"data":{"id":null,"type":null,"meta":null}}},"meta":{"temp_id":"string"}}}'
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.bookingexperts.nl/v3/administrations/1/maintenance_agenda_periods")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/vnd.api+json'
request["Accept"] = 'application/vnd.api+json'
request["Accept-Language"] = 'en,nl'
request["X-API-KEY"] = 'API_KEY'
request.body = "{\"data\":{\"type\":\"agenda_period\",\"attributes\":{\"label\":\"string\",\"start_date\":\"2019-08-24\",\"end_date\":\"2019-08-24\"},\"relationships\":{\"rentable\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}}},\"meta\":{\"temp_id\":\"string\"}}}"

response = http.request(request)
puts response.read_body
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.bookingexperts.nl/v3/administrations/1/maintenance_agenda_periods",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"data\":{\"type\":\"agenda_period\",\"attributes\":{\"label\":\"string\",\"start_date\":\"2019-08-24\",\"end_date\":\"2019-08-24\"},\"relationships\":{\"rentable\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}}},\"meta\":{\"temp_id\":\"string\"}}}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/vnd.api+json",
    "Accept-Language: en,nl",
    "Content-Type: application/vnd.api+json",
    "X-API-KEY: API_KEY"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
const data = "{\"data\":{\"type\":\"agenda_period\",\"attributes\":{\"label\":\"string\",\"start_date\":\"2019-08-24\",\"end_date\":\"2019-08-24\"},\"relationships\":{\"rentable\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}}},\"meta\":{\"temp_id\":\"string\"}}}";

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.bookingexperts.nl/v3/administrations/1/maintenance_agenda_periods");
xhr.setRequestHeader("Content-Type", "application/vnd.api+json");
xhr.setRequestHeader("Accept", "application/vnd.api+json");
xhr.setRequestHeader("Accept-Language", "en,nl");
xhr.setRequestHeader("X-API-KEY", "API_KEY");

xhr.send(data);

POST /v3/administrations/{administration_id}/maintenance_agenda_periods

Create a new maintenance agenda period for a given rentable.

Body parameter

{
  "data": {
    "type": "agenda_period",
    "attributes": {
      "label": "string",
      "start_date": "2019-08-24",
      "end_date": "2019-08-24"
    },
    "relationships": {
      "rentable": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      }
    },
    "meta": {
      "temp_id": "string"
    }
  }
}

Parameters

Name In Type Required Example Description
administration_id path string true 1 Administration ID
Accept-Language header string false en,nl Supported languages. A comma separated list with one or more of the following locales: nl, nl-BE, en, de, de-AT, de-CH, fr, fr-BE, fr-LU, da, cs, es, tr, pt, it, pl, nb. Default: 'en'.
body body object true [object Object] none
— data body object false [object Object] A blocking event on the calendar of a Rentable. This includes Reservations and maintenance events.
—— type body string false agenda_period Type
—— attributes body object false [object Object] Attributes
——— label body string false string none
——— start_date body string(date) false 2019-08-24 none
——— end_date body string(date) false 2019-08-24 none
—— relationships body object false [object Object] Relationships
——— rentable body object false [object Object] none
———— data body object false [object Object] none
————— id body string false string rentable ID
————— type body string false rentable none
————— meta body object false [object Object] none
—————— temp_id body string false string UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method body string false string Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
—— meta body object false [object Object] Metadata
——— temp_id body string false string UUID for internal resource linking. Should be omitted when the relationship ID is known.

Example responses

200 Response

{
  "data": {
    "id": "1",
    "type": "agenda_period",
    "attributes": {
      "label": "string",
      "start_date": "2019-08-24",
      "end_date": "2019-08-24",
      "type": "MaintenanceAgendaPeriod",
      "ical_uid": "string",
      "created_at": "2019-08-24T14:15:22Z",
      "updated_at": "2019-08-24T14:15:22Z"
    },
    "relationships": {
      "rentable": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "reservation": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      }
    },
    "meta": {
      "temp_id": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK AgendaPeriodResponse Inline
429 Too Many Requests Error Inline
default Default Error Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
— data [AgendaPeriod](#schemaagendaperiod) false none A blocking event on the calendar of a Rentable. This includes Reservations and maintenance events.
—— id string false none ID
—— type string false none Type
—— attributes object false none Attributes
——— label string false none none
——— start_date string(date) false none none
——— end_date string(date) false none none
——— type string false read-only none
——— ical_uid string false read-only none
——— created_at string(date-time) false read-only none
——— updated_at string(date-time) false read-only none
—— relationships object false none Relationships
——— rentable object false none none
———— data object false none none
————— id string false none rentable ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— reservation object false none none
———— data object false read-only none
————— id string false none reservation ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
—— meta object false none Metadata
——— temp_id string false none UUID for internal resource linking. Should be omitted when the relationship ID is known.

Enumerated Values

Property Value
type MaintenanceAgendaPeriod
type OwnerMaintenanceAgendaPeriod
type BlockedByGroupedRentableTypeAgendaPeriod
type ReservationAgendaPeriod
type ExternalBlockedAgendaPeriod
type NotEnoughStockAgendaPeriod

Status Code 429

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

Status Code default

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

PATCH maintenance_agenda_period

Code samples

curl --request PATCH \
  --url https://api.bookingexperts.nl/v3/administrations/1/maintenance_agenda_periods/string \
  --header 'Accept: application/vnd.api+json' \
  --header 'Accept-Language: en,nl' \
  --header 'Content-Type: application/vnd.api+json' \
  --header 'X-API-KEY: API_KEY' \
  --data '{"data":{"id":"1","type":"agenda_period","attributes":{"label":"string","start_date":"2019-08-24","end_date":"2019-08-24"},"relationships":{"rentable":{"data":{"id":null,"type":null,"meta":null}}},"meta":{"temp_id":"string"}}}'
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.bookingexperts.nl/v3/administrations/1/maintenance_agenda_periods/string")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/vnd.api+json'
request["Accept"] = 'application/vnd.api+json'
request["Accept-Language"] = 'en,nl'
request["X-API-KEY"] = 'API_KEY'
request.body = "{\"data\":{\"id\":\"1\",\"type\":\"agenda_period\",\"attributes\":{\"label\":\"string\",\"start_date\":\"2019-08-24\",\"end_date\":\"2019-08-24\"},\"relationships\":{\"rentable\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}}},\"meta\":{\"temp_id\":\"string\"}}}"

response = http.request(request)
puts response.read_body
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.bookingexperts.nl/v3/administrations/1/maintenance_agenda_periods/string",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PATCH",
  CURLOPT_POSTFIELDS => "{\"data\":{\"id\":\"1\",\"type\":\"agenda_period\",\"attributes\":{\"label\":\"string\",\"start_date\":\"2019-08-24\",\"end_date\":\"2019-08-24\"},\"relationships\":{\"rentable\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}}},\"meta\":{\"temp_id\":\"string\"}}}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/vnd.api+json",
    "Accept-Language: en,nl",
    "Content-Type: application/vnd.api+json",
    "X-API-KEY: API_KEY"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
const data = "{\"data\":{\"id\":\"1\",\"type\":\"agenda_period\",\"attributes\":{\"label\":\"string\",\"start_date\":\"2019-08-24\",\"end_date\":\"2019-08-24\"},\"relationships\":{\"rentable\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}}},\"meta\":{\"temp_id\":\"string\"}}}";

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PATCH", "https://api.bookingexperts.nl/v3/administrations/1/maintenance_agenda_periods/string");
xhr.setRequestHeader("Content-Type", "application/vnd.api+json");
xhr.setRequestHeader("Accept", "application/vnd.api+json");
xhr.setRequestHeader("Accept-Language", "en,nl");
xhr.setRequestHeader("X-API-KEY", "API_KEY");

xhr.send(data);

PATCH /v3/administrations/{administration_id}/maintenance_agenda_periods/{id}

Update an maintenance agenda period.

Body parameter

{
  "data": {
    "id": "1",
    "type": "agenda_period",
    "attributes": {
      "label": "string",
      "start_date": "2019-08-24",
      "end_date": "2019-08-24"
    },
    "relationships": {
      "rentable": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      }
    },
    "meta": {
      "temp_id": "string"
    }
  }
}

Parameters

Name In Type Required Example Description
administration_id path string true 1 Administration ID
id path string true string Resource ID
Accept-Language header string false en,nl Supported languages. A comma separated list with one or more of the following locales: nl, nl-BE, en, de, de-AT, de-CH, fr, fr-BE, fr-LU, da, cs, es, tr, pt, it, pl, nb. Default: 'en'.
body body object true [object Object] none
— data body object false [object Object] A blocking event on the calendar of a Rentable. This includes Reservations and maintenance events.
—— id body string false 1 ID
—— type body string false agenda_period Type
—— attributes body object false [object Object] Attributes
——— label body string false string none
——— start_date body string(date) false 2019-08-24 none
——— end_date body string(date) false 2019-08-24 none
—— relationships body object false [object Object] Relationships
——— rentable body object false [object Object] none
———— data body object false [object Object] none
————— id body string false string rentable ID
————— type body string false rentable none
————— meta body object false [object Object] none
—————— temp_id body string false string UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method body string false string Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
—— meta body object false [object Object] Metadata
——— temp_id body string false string UUID for internal resource linking. Should be omitted when the relationship ID is known.

Example responses

200 Response

{
  "data": {
    "id": "1",
    "type": "agenda_period",
    "attributes": {
      "label": "string",
      "start_date": "2019-08-24",
      "end_date": "2019-08-24",
      "type": "MaintenanceAgendaPeriod",
      "ical_uid": "string",
      "created_at": "2019-08-24T14:15:22Z",
      "updated_at": "2019-08-24T14:15:22Z"
    },
    "relationships": {
      "rentable": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "reservation": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      }
    },
    "meta": {
      "temp_id": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK AgendaPeriodResponse Inline
429 Too Many Requests Error Inline
default Default Error Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
— data [AgendaPeriod](#schemaagendaperiod) false none A blocking event on the calendar of a Rentable. This includes Reservations and maintenance events.
—— id string false none ID
—— type string false none Type
—— attributes object false none Attributes
——— label string false none none
——— start_date string(date) false none none
——— end_date string(date) false none none
——— type string false read-only none
——— ical_uid string false read-only none
——— created_at string(date-time) false read-only none
——— updated_at string(date-time) false read-only none
—— relationships object false none Relationships
——— rentable object false none none
———— data object false none none
————— id string false none rentable ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— reservation object false none none
———— data object false read-only none
————— id string false none reservation ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
—— meta object false none Metadata
——— temp_id string false none UUID for internal resource linking. Should be omitted when the relationship ID is known.

Enumerated Values

Property Value
type MaintenanceAgendaPeriod
type OwnerMaintenanceAgendaPeriod
type BlockedByGroupedRentableTypeAgendaPeriod
type ReservationAgendaPeriod
type ExternalBlockedAgendaPeriod
type NotEnoughStockAgendaPeriod

Status Code 429

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

Status Code default

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

DELETE maintenance_agenda_period

Code samples

curl --request DELETE \
  --url https://api.bookingexperts.nl/v3/administrations/1/maintenance_agenda_periods/string \
  --header 'Accept: application/vnd.api+json' \
  --header 'Accept-Language: en,nl' \
  --header 'X-API-KEY: API_KEY'
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.bookingexperts.nl/v3/administrations/1/maintenance_agenda_periods/string")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Delete.new(url)
request["Accept"] = 'application/vnd.api+json'
request["Accept-Language"] = 'en,nl'
request["X-API-KEY"] = 'API_KEY'

response = http.request(request)
puts response.read_body
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.bookingexperts.nl/v3/administrations/1/maintenance_agenda_periods/string",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_HTTPHEADER => [
    "Accept: application/vnd.api+json",
    "Accept-Language: en,nl",
    "X-API-KEY: API_KEY"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.bookingexperts.nl/v3/administrations/1/maintenance_agenda_periods/string");
xhr.setRequestHeader("Accept", "application/vnd.api+json");
xhr.setRequestHeader("Accept-Language", "en,nl");
xhr.setRequestHeader("X-API-KEY", "API_KEY");

xhr.send(data);

DELETE /v3/administrations/{administration_id}/maintenance_agenda_periods/{id}

Destroy an maintenance agenda period.

Parameters

Name In Type Required Example Description
administration_id path string true 1 Administration ID
id path string true string Resource ID
Accept-Language header string false en,nl Supported languages. A comma separated list with one or more of the following locales: nl, nl-BE, en, de, de-AT, de-CH, fr, fr-BE, fr-LU, da, cs, es, tr, pt, it, pl, nb. Default: 'en'.

Example responses

429 Response

{
  "errors": [
    {
      "status": "string",
      "code": "string",
      "title": "string",
      "detail": "string",
      "source": {
        "pointer": "string"
      }
    }
  ]
}

Responses

Status Meaning Description Schema
204 No Content Success None
429 Too Many Requests Error Inline
default Default Error Inline

Response Schema

Status Code 429

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

Status Code default

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

Administration Agreements

GET agreements

Code samples

curl --request GET \
  --url https://api.bookingexperts.nl/v3/administrations/1/agreements \
  --header 'Accept: application/vnd.api+json' \
  --header 'Accept-Language: en,nl' \
  --header 'X-API-KEY: API_KEY'
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.bookingexperts.nl/v3/administrations/1/agreements")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/vnd.api+json'
request["Accept-Language"] = 'en,nl'
request["X-API-KEY"] = 'API_KEY'

response = http.request(request)
puts response.read_body
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.bookingexperts.nl/v3/administrations/1/agreements",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/vnd.api+json",
    "Accept-Language: en,nl",
    "X-API-KEY: API_KEY"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.bookingexperts.nl/v3/administrations/1/agreements");
xhr.setRequestHeader("Accept", "application/vnd.api+json");
xhr.setRequestHeader("Accept-Language", "en,nl");
xhr.setRequestHeader("X-API-KEY", "API_KEY");

xhr.send(data);

GET /v3/administrations/{administration_id}/agreements

Returns agreements of the administration

Parameters

Name In Type Required Example Description
administration_id path string true 1 Administration ID
page[number] query integer false 1 Page number
page[size] query integer false 10 Page size
sort query string false attr1,attr2 Sort. Specify a comma separated list of attributes to sort on. Prefix attribute with a \- to sort in descending order
fields[agreement] query string false field1,field2 Fieldset. Specify a comma separated list of attributes to return
filter[id] query string false 1 Filter on ID
filter[active_from] query string false active_from Filter on active_from
filter[active_till] query string false active_till Filter on active_till
filter[owner_reservable] query string false owner_reservable Filter on owner_reservable
filter[owner_can_make_reservation_on_irregular_price_periods] query string false owner_can_make_reservation_on_irregular_price_periods Filter on owner_can_make_reservation_on_irregular_price_periods
filter[owner_can_view_availability] query string false owner_can_view_availability Filter on owner_can_view_availability
filter[owner_can_view_reservations] query string false owner_can_view_reservations Filter on owner_can_view_reservations
filter[owner_can_view_contact_data] query string false owner_can_view_contact_data Filter on owner_can_view_contact_data
filter[owner_can_view_order] query string false owner_can_view_order Filter on owner_can_view_order
filter[owner_can_view_invoice] query string false owner_can_view_invoice Filter on owner_can_view_invoice
filter[owner_can_view_rent_amount] query string false owner_can_view_rent_amount Filter on owner_can_view_rent_amount
filter[owner_can_view_settlements] query string false owner_can_view_settlements Filter on owner_can_view_settlements
filter[owner_should_check_reservations] query string false owner_should_check_reservations Filter on owner_should_check_reservations
filter[owner_can_edit_agenda_periods] query string false owner_can_edit_agenda_periods Filter on owner_can_edit_agenda_periods
filter[owner_can_view_rentable_details] query string false owner_can_view_rentable_details Filter on owner_can_view_rentable_details
filter[owner_can_create_pricing_change_request] query string false owner_can_create_pricing_change_request Filter on owner_can_create_pricing_change_request
filter[owner_can_view_guest_details] query string false owner_can_view_guest_details Filter on owner_can_view_guest_details
filter[owner_can_view_guest_memo] query string false owner_can_view_guest_memo Filter on owner_can_view_guest_memo
filter[can_promote] query string false can_promote Filter on can_promote
filter[can_view_reviews] query string false can_view_reviews Filter on can_view_reviews
filter[created_at] query string false created_at Filter on created_at
filter[updated_at] query string false updated_at Filter on updated_at
filter[owner] query string false 1,2 Filter on owner. Specify a comma separated list of IDs to filter on.
filter[rentable_identity] query string false 1,2 Filter on rentable_identity. Specify a comma separated list of IDs to filter on.
filter[commission_agreement] query string false 1,2 Filter on commission_agreement. Specify a comma separated list of IDs to filter on.
include query string false relationship1,relationship2 Includes list. Specify a comma separated list of resources to include.
Accept-Language header string false en,nl Supported languages. A comma separated list with one or more of the following locales: nl, nl-BE, en, de, de-AT, de-CH, fr, fr-BE, fr-LU, da, cs, es, tr, pt, it, pl, nb. Default: 'en'.

Example responses

200 Response

{
  "data": [
    {
      "id": "1",
      "type": "agreement",
      "attributes": {
        "name": "string",
        "active_from": "2019-08-24",
        "active_till": "2019-08-24",
        "frequency": "anytime",
        "settlement_method": "end_date",
        "owner_reservable": true,
        "owner_can_make_reservation_on_irregular_price_periods": true,
        "owner_can_view_availability": true,
        "owner_can_view_reservations": true,
        "owner_can_view_contact_data": true,
        "owner_can_view_order": true,
        "owner_can_view_invoice": true,
        "owner_can_view_rent_amount": true,
        "owner_can_view_settlements": true,
        "owner_should_check_reservations": true,
        "owner_can_edit_agenda_periods": true,
        "owner_can_view_rentable_details": true,
        "owner_can_create_pricing_change_request": true,
        "owner_can_view_guest_details": true,
        "owner_can_view_guest_memo": true,
        "can_promote": true,
        "can_view_reviews": true,
        "created_at": "2019-08-24T14:15:22Z",
        "updated_at": "2019-08-24T14:15:22Z"
      },
      "relationships": {
        "owner": {
          "data": {}
        },
        "rentable_identity": {
          "data": {}
        },
        "commission_agreement": {
          "data": {}
        }
      },
      "meta": {
        "temp_id": "string"
      }
    }
  ],
  "meta": {
    "pagination": {
      "total_records": 0,
      "page": 0,
      "size": 0
    }
  }
}

Responses

Status Meaning Description Schema
200 OK AgreementCollectionResponse Inline
429 Too Many Requests Error Inline
default Default Error Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
— data [[Agreement](#schemaagreement)] false none [An agreement with an Owner for a given RentableIdentity]
—— id string false none ID
—— type string false none Type
—— attributes object false none Attributes
——— name string false none none
——— active_from string(date) false none none
——— active_till string(date) false none none
——— frequency string false none Frequency of settlement.
——— settlement_method string false none Defines which date to look at when rent turnover is calculated.
——— owner_reservable boolean false none none
——— owner_can_make_reservation_on_irregular_price_periods boolean false none none
——— owner_can_view_availability boolean false none none
——— owner_can_view_reservations boolean false none none
——— owner_can_view_contact_data boolean false none none
——— owner_can_view_order boolean false none none
——— owner_can_view_invoice boolean false none none
——— owner_can_view_rent_amount boolean false none none
——— owner_can_view_settlements boolean false none none
——— owner_should_check_reservations boolean false none none
——— owner_can_edit_agenda_periods boolean false none none
——— owner_can_view_rentable_details boolean false none none
——— owner_can_create_pricing_change_request boolean false none none
——— owner_can_view_guest_details boolean false none none
——— owner_can_view_guest_memo boolean false none none
——— can_promote boolean false none none
——— can_view_reviews boolean false none none
——— created_at string(date-time) false none none
——— updated_at string(date-time) false none none
—— relationships object false none Relationships
——— owner object false none none
———— data object false none none
————— id string false none owner ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— rentable_identity object false none none
———— data object false none none
————— id string false none rentable_identity ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— commission_agreement object false none none
———— data object false none none
————— id string false none commission_agreement ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
—— meta object false none Metadata
——— temp_id string false none UUID for internal resource linking. Should be omitted when the relationship ID is known.
— meta object false none none
—— pagination object false none none
——— total_records integer false none none
——— page integer false none none
——— size integer false none none

Enumerated Values

Property Value
frequency anytime
frequency monthly
frequency quarterly
frequency halfyearly
frequency yearly
settlement_method end_date
settlement_method start_date
settlement_method overlapping
settlement_method confirmed_date

Status Code 429

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

Status Code default

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

GET agreement

Code samples

curl --request GET \
  --url https://api.bookingexperts.nl/v3/administrations/1/agreements/string \
  --header 'Accept: application/vnd.api+json' \
  --header 'Accept-Language: en,nl' \
  --header 'X-API-KEY: API_KEY'
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.bookingexperts.nl/v3/administrations/1/agreements/string")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/vnd.api+json'
request["Accept-Language"] = 'en,nl'
request["X-API-KEY"] = 'API_KEY'

response = http.request(request)
puts response.read_body
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.bookingexperts.nl/v3/administrations/1/agreements/string",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/vnd.api+json",
    "Accept-Language: en,nl",
    "X-API-KEY: API_KEY"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.bookingexperts.nl/v3/administrations/1/agreements/string");
xhr.setRequestHeader("Accept", "application/vnd.api+json");
xhr.setRequestHeader("Accept-Language", "en,nl");
xhr.setRequestHeader("X-API-KEY", "API_KEY");

xhr.send(data);

GET /v3/administrations/{administration_id}/agreements/{id}

Returns the agreement for the given ID

Parameters

Name In Type Required Example Description
administration_id path string true 1 Administration ID
id path string true string Resource ID
fields[agreement] query string false field1,field2 Fieldset. Specify a comma separated list of attributes to return
filter[id] query string false 1 Filter on ID
filter[active_from] query string false active_from Filter on active_from
filter[active_till] query string false active_till Filter on active_till
filter[owner_reservable] query string false owner_reservable Filter on owner_reservable
filter[owner_can_make_reservation_on_irregular_price_periods] query string false owner_can_make_reservation_on_irregular_price_periods Filter on owner_can_make_reservation_on_irregular_price_periods
filter[owner_can_view_availability] query string false owner_can_view_availability Filter on owner_can_view_availability
filter[owner_can_view_reservations] query string false owner_can_view_reservations Filter on owner_can_view_reservations
filter[owner_can_view_contact_data] query string false owner_can_view_contact_data Filter on owner_can_view_contact_data
filter[owner_can_view_order] query string false owner_can_view_order Filter on owner_can_view_order
filter[owner_can_view_invoice] query string false owner_can_view_invoice Filter on owner_can_view_invoice
filter[owner_can_view_rent_amount] query string false owner_can_view_rent_amount Filter on owner_can_view_rent_amount
filter[owner_can_view_settlements] query string false owner_can_view_settlements Filter on owner_can_view_settlements
filter[owner_should_check_reservations] query string false owner_should_check_reservations Filter on owner_should_check_reservations
filter[owner_can_edit_agenda_periods] query string false owner_can_edit_agenda_periods Filter on owner_can_edit_agenda_periods
filter[owner_can_view_rentable_details] query string false owner_can_view_rentable_details Filter on owner_can_view_rentable_details
filter[owner_can_create_pricing_change_request] query string false owner_can_create_pricing_change_request Filter on owner_can_create_pricing_change_request
filter[owner_can_view_guest_details] query string false owner_can_view_guest_details Filter on owner_can_view_guest_details
filter[owner_can_view_guest_memo] query string false owner_can_view_guest_memo Filter on owner_can_view_guest_memo
filter[can_promote] query string false can_promote Filter on can_promote
filter[can_view_reviews] query string false can_view_reviews Filter on can_view_reviews
filter[created_at] query string false created_at Filter on created_at
filter[updated_at] query string false updated_at Filter on updated_at
filter[owner] query string false 1,2 Filter on owner. Specify a comma separated list of IDs to filter on.
filter[rentable_identity] query string false 1,2 Filter on rentable_identity. Specify a comma separated list of IDs to filter on.
filter[commission_agreement] query string false 1,2 Filter on commission_agreement. Specify a comma separated list of IDs to filter on.
include query string false relationship1,relationship2 Includes list. Specify a comma separated list of resources to include.
Accept-Language header string false en,nl Supported languages. A comma separated list with one or more of the following locales: nl, nl-BE, en, de, de-AT, de-CH, fr, fr-BE, fr-LU, da, cs, es, tr, pt, it, pl, nb. Default: 'en'.

Example responses

200 Response

{
  "data": {
    "id": "1",
    "type": "agreement",
    "attributes": {
      "name": "string",
      "active_from": "2019-08-24",
      "active_till": "2019-08-24",
      "frequency": "anytime",
      "settlement_method": "end_date",
      "owner_reservable": true,
      "owner_can_make_reservation_on_irregular_price_periods": true,
      "owner_can_view_availability": true,
      "owner_can_view_reservations": true,
      "owner_can_view_contact_data": true,
      "owner_can_view_order": true,
      "owner_can_view_invoice": true,
      "owner_can_view_rent_amount": true,
      "owner_can_view_settlements": true,
      "owner_should_check_reservations": true,
      "owner_can_edit_agenda_periods": true,
      "owner_can_view_rentable_details": true,
      "owner_can_create_pricing_change_request": true,
      "owner_can_view_guest_details": true,
      "owner_can_view_guest_memo": true,
      "can_promote": true,
      "can_view_reviews": true,
      "created_at": "2019-08-24T14:15:22Z",
      "updated_at": "2019-08-24T14:15:22Z"
    },
    "relationships": {
      "owner": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "rentable_identity": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "commission_agreement": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      }
    },
    "meta": {
      "temp_id": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK AgreementResponse Inline
429 Too Many Requests Error Inline
default Default Error Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
— data [Agreement](#schemaagreement) false none An agreement with an Owner for a given RentableIdentity
—— id string false none ID
—— type string false none Type
—— attributes object false none Attributes
——— name string false none none
——— active_from string(date) false none none
——— active_till string(date) false none none
——— frequency string false none Frequency of settlement.
——— settlement_method string false none Defines which date to look at when rent turnover is calculated.
——— owner_reservable boolean false none none
——— owner_can_make_reservation_on_irregular_price_periods boolean false none none
——— owner_can_view_availability boolean false none none
——— owner_can_view_reservations boolean false none none
——— owner_can_view_contact_data boolean false none none
——— owner_can_view_order boolean false none none
——— owner_can_view_invoice boolean false none none
——— owner_can_view_rent_amount boolean false none none
——— owner_can_view_settlements boolean false none none
——— owner_should_check_reservations boolean false none none
——— owner_can_edit_agenda_periods boolean false none none
——— owner_can_view_rentable_details boolean false none none
——— owner_can_create_pricing_change_request boolean false none none
——— owner_can_view_guest_details boolean false none none
——— owner_can_view_guest_memo boolean false none none
——— can_promote boolean false none none
——— can_view_reviews boolean false none none
——— created_at string(date-time) false none none
——— updated_at string(date-time) false none none
—— relationships object false none Relationships
——— owner object false none none
———— data object false none none
————— id string false none owner ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— rentable_identity object false none none
———— data object false none none
————— id string false none rentable_identity ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— commission_agreement object false none none
———— data object false none none
————— id string false none commission_agreement ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
—— meta object false none Metadata
——— temp_id string false none UUID for internal resource linking. Should be omitted when the relationship ID is known.

Enumerated Values

Property Value
frequency anytime
frequency monthly
frequency quarterly
frequency halfyearly
frequency yearly
settlement_method end_date
settlement_method start_date
settlement_method overlapping
settlement_method confirmed_date

Status Code 429

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

Status Code default

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

Administration Booking Customer

PATCH customer

Code samples

curl --request PATCH \
  --url https://api.bookingexperts.nl/v3/administrations/1/bookings/1/customer \
  --header 'Accept: application/vnd.api+json' \
  --header 'Accept-Language: en,nl' \
  --header 'Content-Type: application/vnd.api+json' \
  --header 'X-API-KEY: API_KEY' \
  --data '{"data":{"id":"1","type":"customer","attributes":{"title":"mr","first_name":"string","last_name":"string","phone":"string","email":"string","is_company":true,"company":"string","vat_nr":"string","date_of_birth":"2019-08-24","receive_newsletter":true,"address":"string","number":"string","postalcode":"string","city":"string","country_code":"NL","locale":"string","iban":"string","bic":"string","has_custom_invoice_details":true,"custom_invoice_details":{"name":"string","address":"string","postalcode":"string","city":"string","country_code":"string","email":"string"}},"relationships":{"labels":{"data":[{}]}},"meta":{"temp_id":"string"}}}'
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.bookingexperts.nl/v3/administrations/1/bookings/1/customer")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/vnd.api+json'
request["Accept"] = 'application/vnd.api+json'
request["Accept-Language"] = 'en,nl'
request["X-API-KEY"] = 'API_KEY'
request.body = "{\"data\":{\"id\":\"1\",\"type\":\"customer\",\"attributes\":{\"title\":\"mr\",\"first_name\":\"string\",\"last_name\":\"string\",\"phone\":\"string\",\"email\":\"string\",\"is_company\":true,\"company\":\"string\",\"vat_nr\":\"string\",\"date_of_birth\":\"2019-08-24\",\"receive_newsletter\":true,\"address\":\"string\",\"number\":\"string\",\"postalcode\":\"string\",\"city\":\"string\",\"country_code\":\"NL\",\"locale\":\"string\",\"iban\":\"string\",\"bic\":\"string\",\"has_custom_invoice_details\":true,\"custom_invoice_details\":{\"name\":\"string\",\"address\":\"string\",\"postalcode\":\"string\",\"city\":\"string\",\"country_code\":\"string\",\"email\":\"string\"}},\"relationships\":{\"labels\":{\"data\":[{}]}},\"meta\":{\"temp_id\":\"string\"}}}"

response = http.request(request)
puts response.read_body
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.bookingexperts.nl/v3/administrations/1/bookings/1/customer",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PATCH",
  CURLOPT_POSTFIELDS => "{\"data\":{\"id\":\"1\",\"type\":\"customer\",\"attributes\":{\"title\":\"mr\",\"first_name\":\"string\",\"last_name\":\"string\",\"phone\":\"string\",\"email\":\"string\",\"is_company\":true,\"company\":\"string\",\"vat_nr\":\"string\",\"date_of_birth\":\"2019-08-24\",\"receive_newsletter\":true,\"address\":\"string\",\"number\":\"string\",\"postalcode\":\"string\",\"city\":\"string\",\"country_code\":\"NL\",\"locale\":\"string\",\"iban\":\"string\",\"bic\":\"string\",\"has_custom_invoice_details\":true,\"custom_invoice_details\":{\"name\":\"string\",\"address\":\"string\",\"postalcode\":\"string\",\"city\":\"string\",\"country_code\":\"string\",\"email\":\"string\"}},\"relationships\":{\"labels\":{\"data\":[{}]}},\"meta\":{\"temp_id\":\"string\"}}}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/vnd.api+json",
    "Accept-Language: en,nl",
    "Content-Type: application/vnd.api+json",
    "X-API-KEY: API_KEY"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
const data = "{\"data\":{\"id\":\"1\",\"type\":\"customer\",\"attributes\":{\"title\":\"mr\",\"first_name\":\"string\",\"last_name\":\"string\",\"phone\":\"string\",\"email\":\"string\",\"is_company\":true,\"company\":\"string\",\"vat_nr\":\"string\",\"date_of_birth\":\"2019-08-24\",\"receive_newsletter\":true,\"address\":\"string\",\"number\":\"string\",\"postalcode\":\"string\",\"city\":\"string\",\"country_code\":\"NL\",\"locale\":\"string\",\"iban\":\"string\",\"bic\":\"string\",\"has_custom_invoice_details\":true,\"custom_invoice_details\":{\"name\":\"string\",\"address\":\"string\",\"postalcode\":\"string\",\"city\":\"string\",\"country_code\":\"string\",\"email\":\"string\"}},\"relationships\":{\"labels\":{\"data\":[{}]}},\"meta\":{\"temp_id\":\"string\"}}}";

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("PATCH", "https://api.bookingexperts.nl/v3/administrations/1/bookings/1/customer");
xhr.setRequestHeader("Content-Type", "application/vnd.api+json");
xhr.setRequestHeader("Accept", "application/vnd.api+json");
xhr.setRequestHeader("Accept-Language", "en,nl");
xhr.setRequestHeader("X-API-KEY", "API_KEY");

xhr.send(data);

PATCH /v3/administrations/{administration_id}/bookings/{booking_id}/customer

Update customer details of a specific Booking

Body parameter

{
  "data": {
    "id": "1",
    "type": "customer",
    "attributes": {
      "title": "mr",
      "first_name": "string",
      "last_name": "string",
      "phone": "string",
      "email": "string",
      "is_company": true,
      "company": "string",
      "vat_nr": "string",
      "date_of_birth": "2019-08-24",
      "receive_newsletter": true,
      "address": "string",
      "number": "string",
      "postalcode": "string",
      "city": "string",
      "country_code": "NL",
      "locale": "string",
      "iban": "string",
      "bic": "string",
      "has_custom_invoice_details": true,
      "custom_invoice_details": {
        "name": "string",
        "address": "string",
        "postalcode": "string",
        "city": "string",
        "country_code": "string",
        "email": "string"
      }
    },
    "relationships": {
      "labels": {
        "data": [
          {}
        ]
      }
    },
    "meta": {
      "temp_id": "string"
    }
  }
}

Parameters

Name In Type Required Example Description
administration_id path string true 1 Administration ID
Accept-Language header string false en,nl Supported languages. A comma separated list with one or more of the following locales: nl, nl-BE, en, de, de-AT, de-CH, fr, fr-BE, fr-LU, da, cs, es, tr, pt, it, pl, nb. Default: 'en'.
booking_id path string true 1 Booking ID
body body object true [object Object] none
— data body object false [object Object] Encapsulates the Customer details of a Booking.
—— id body string false 1 ID
—— type body string false customer Type
—— attributes body object false [object Object] Attributes
——— title body string false mr The title by which the customer should be addressed. May be left blank. If specified, one of: mr, ms, family.
——— first_name body string false string none
——— last_name body string false string none
——— phone body string false string none
——— email body string false string none
——— is_company body boolean false true none
——— company body string false string none
——— vat_nr body string false string none
——— date_of_birth body string(date) false 2019-08-24 none
——— receive_newsletter body boolean false true none
——— address body string false string none
——— number body string false string none
——— postalcode body string false string none
——— city body string false string none
——— country_code body string false NL none
——— locale body string false string none
——— iban body string false string none
——— bic body string false string none
——— has_custom_invoice_details body boolean false true none
——— custom_invoice_details body object false [object Object] none
———— name body string false string none
———— address body string false string none
———— postalcode body string false string none
———— city body string false string none
———— country_code body string false string none
———— email body string false string none
—— relationships body object false [object Object] Relationships
——— labels body object false [object Object] none
———— data body [object] false [object Object] none
————— id body string false string labels ID
————— type body string false label none
————— meta body object false [object Object] none
—————— temp_id body string false string UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method body string false string Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
—— meta body object false [object Object] Metadata
——— temp_id body string false string UUID for internal resource linking. Should be omitted when the relationship ID is known.

Example responses

200 Response

{
  "data": {
    "id": "1",
    "type": "customer",
    "attributes": {
      "title": "mr",
      "first_name": "string",
      "last_name": "string",
      "phone": "string",
      "email": "string",
      "receive_newsletter": true,
      "is_company": true,
      "company": "string",
      "vat_nr": "string",
      "date_of_birth": "2019-08-24",
      "address": "string",
      "number": "string",
      "postalcode": "string",
      "city": "string",
      "country_code": "NL",
      "locale": "string",
      "debtor_code": "string"
    },
    "relationships": {
      "labels": {
        "data": [
          {}
        ]
      }
    },
    "meta": {
      "temp_id": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK CustomerResponse Inline
429 Too Many Requests Error Inline
default Default Error Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
— data [Customer](#schemacustomer) false none A Customer is a guest that created one or multiple Bookings. Note that a Customer of a particular Booking may have custom IBAN or BIC details.
—— id string false none ID
—— type string false none Type
—— attributes object false none Attributes
——— title string false read-only The title by which the customer should be addressed. May be left blank. If specified, one of: mr, ms, family.
——— first_name string false read-only none
——— last_name string false read-only none
——— phone string false read-only none
——— email string false read-only none
——— receive_newsletter boolean false read-only none
——— is_company boolean false read-only none
——— company string false read-only none
——— vat_nr string false read-only none
——— date_of_birth string(date) false read-only none
——— address string false read-only none
——— number string false read-only none
——— postalcode string false read-only none
——— city string false read-only none
——— country_code string false read-only none
——— locale string false read-only none
——— debtor_code string false read-only A system wide unique identifier for this debtor
—— relationships object false none Relationships
——— labels object false none none
———— data [object] false none none
————— id string false none labels ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
—— meta object false none Metadata
——— temp_id string false none UUID for internal resource linking. Should be omitted when the relationship ID is known.

Status Code 429

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

Status Code default

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

Administration Bookings

GET bookings

Code samples

curl --request GET \
  --url https://api.bookingexperts.nl/v3/administrations/1/bookings \
  --header 'Accept: application/vnd.api+json' \
  --header 'Accept-Language: en,nl' \
  --header 'X-API-KEY: API_KEY'
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.bookingexperts.nl/v3/administrations/1/bookings")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/vnd.api+json'
request["Accept-Language"] = 'en,nl'
request["X-API-KEY"] = 'API_KEY'

response = http.request(request)
puts response.read_body
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.bookingexperts.nl/v3/administrations/1/bookings",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/vnd.api+json",
    "Accept-Language: en,nl",
    "X-API-KEY: API_KEY"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.bookingexperts.nl/v3/administrations/1/bookings");
xhr.setRequestHeader("Accept", "application/vnd.api+json");
xhr.setRequestHeader("Accept-Language", "en,nl");
xhr.setRequestHeader("X-API-KEY", "API_KEY");

xhr.send(data);

GET /v3/administrations/{administration_id}/bookings

Returns all bookings of the administration

Parameters

Name In Type Required Example Description
administration_id path string true 1 Administration ID
page[number] query integer false 1 Page number
page[size] query integer false 10 Page size
sort query string false attr1,attr2 Sort. Specify a comma separated list of attributes to sort on. Prefix attribute with a \- to sort in descending order
fields[booking] query string false field1,field2 Fieldset. Specify a comma separated list of attributes to return
filter[id] query string false 1 Filter on ID
filter[customer_desires_downpayment] query string false customer_desires_downpayment Filter on customer_desires_downpayment
filter[after_payment_return_url] query string false after_payment_return_url Filter on after_payment_return_url
filter[option_validity] query string false option_validity Filter on option_validity
filter[remote_booking_nr] query string false remote_booking_nr Filter on remote_booking_nr
filter[reference_nr] query string false reference_nr Filter on reference_nr
filter[locale] query string false locale Filter on locale
filter[memo] query string false memo Filter on memo
filter[cancel_date] query string false cancel_date Filter on cancel_date
filter[cancel_reason] query string false cancel_reason Filter on cancel_reason
filter[state] query string false state Filter on state
filter[token] query string false token Filter on token
filter[confirmed_at] query string false confirmed_at Filter on confirmed_at
filter[booking_nr] query string false booking_nr Filter on booking_nr
filter[created_at] query string false created_at Filter on created_at
filter[updated_at] query string false updated_at Filter on updated_at
filter[customer] query string false 1,2 Filter on customer. Specify a comma separated list of IDs to filter on.
filter[owner] query string false 1,2 Filter on owner. Specify a comma separated list of IDs to filter on.
filter[traffic_source] query string false 1,2 Filter on traffic_source. Specify a comma separated list of IDs to filter on.
filter[administration] query string false 1,2 Filter on administration. Specify a comma separated list of IDs to filter on.
filter[channel] query string false 1,2 Filter on channel. Specify a comma separated list of IDs to filter on.
filter[reservations] query string false 1,2 Filter on reservations. Specify a comma separated list of IDs to filter on.
include query string false relationship1,relationship2 Includes list. Specify a comma separated list of resources to include.
Accept-Language header string false en,nl Supported languages. A comma separated list with one or more of the following locales: nl, nl-BE, en, de, de-AT, de-CH, fr, fr-BE, fr-LU, da, cs, es, tr, pt, it, pl, nb. Default: 'en'.

Example responses

200 Response

{
  "data": [
    {
      "id": "1",
      "type": "booking",
      "attributes": {
        "customer_desires_downpayment": true,
        "after_payment_return_url": "string",
        "redeemable_codes": [
          "string"
        ],
        "option_validity": 3,
        "remote_booking_nr": "string",
        "reference_nr": "string",
        "locale": "nl",
        "memo": "string",
        "currency": "EUR",
        "cancel_date": "2019-08-24",
        "cancel_reason": "string",
        "state": "concept",
        "token": "string",
        "confirmed_at": "2019-08-24T14:15:22Z",
        "paid_by_customer": true,
        "deposit_completed": false,
        "booking_nr": "string",
        "owner_reservation": true,
        "total": {
          "currency": "string",
          "value": "string"
        },
        "total_without_vat": {
          "currency": "string",
          "value": "string"
        },
        "guest_payment_due": {
          "currency": "string",
          "value": "string"
        },
        "guest_total_paid": {
          "currency": "string",
          "value": "string"
        },
        "deposit": {
          "currency": "string",
          "value": "string"
        },
        "rent_turnover": {
          "currency": "string",
          "value": "string"
        },
        "rent_turnover_without_vat": {
          "currency": "string",
          "value": "string"
        },
        "provision": {
          "currency": "string",
          "value": "string"
        },
        "payment_deadlines": [
          {
            "date": null,
            "open_amount": null,
            "paid_amount": null
          }
        ],
        "pending_vouchers": [
          {
            "code": null,
            "balance": null,
            "amount": null
          }
        ],
        "created_at": "2019-08-24T14:15:22Z",
        "updated_at": "2019-08-24T14:15:22Z"
      },
      "links": {
        "self": "string",
        "pay_url": "string"
      },
      "relationships": {
        "customer": {
          "data": {}
        },
        "owner": {
          "data": {}
        },
        "traffic_source": {
          "data": {}
        },
        "administration": {
          "data": {}
        },
        "channel": {
          "data": {}
        },
        "guest_invoice": {
          "data": {}
        },
        "customer_invoice": {
          "data": {}
        },
        "channel_invoice": {
          "data": {}
        },
        "reservations": {
          "data": [
            null
          ]
        },
        "payments": {
          "data": [
            null
          ]
        }
      },
      "meta": {
        "temp_id": "string"
      }
    }
  ],
  "meta": {
    "pagination": {
      "total_records": 0,
      "page": 0,
      "size": 0
    }
  }
}

Responses

Status Meaning Description Schema
200 OK BookingCollectionResponse Inline
429 Too Many Requests Error Inline
default Default Error Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
— data [[Booking](#schemabooking)] false none [A Booking consists of one or more reservations.
It should be considered a shopping cart.
The Booking defines the total amount that needs to be paid.
]
—— id string false none ID
—— type string false none Type
—— attributes object false none Attributes
——— customer_desires_downpayment boolean false none When true, only the initial downpayment will be invoiced on visiting the returned pay_url.
——— after_payment_return_url string false none none
——— redeemable_codes [string] false none none
——— option_validity integer false none Returns the option validity in days when this is an option. Specify this attribute on create to make an option.
——— remote_booking_nr string false none External booking number
——— reference_nr string false none Reference number
——— locale string false none Locale of customer. Is used for communication.
——— memo string false none Returns the current content of the memo. Can be specified as input to set an initial memo.
——— currency string false read-only none
——— cancel_date string(date) false none Date on which the reservation has been cancelled
——— cancel_reason string false none Reason why the reservation is cancelled
——— state string false read-only Marks the state of the reservation.
——— token string false read-only Unique token which is used to prevent tampering. Token is mostly used for all customer facing urls.
——— confirmed_at string(date-time) false read-only Moment at which the reservation has been confirmed.
——— paid_by_customer boolean false read-only Indicates if the customer has fully paid.
——— deposit_completed boolean false read-only Marks if the deposit fulfilled.
——— booking_nr string false read-only Unique number to identify the booking.
——— owner_reservation boolean false read-only Indicates if this is a reservation of the owner of the accommodation.
——— total object false read-only none
———— currency string false none none
———— value string false none none
——— total_without_vat object false read-only none
———— currency string false none none
———— value string false none none
——— guest_payment_due object false read-only none
———— currency string false none none
———— value string false none none
——— guest_total_paid object false read-only none
———— currency string false none none
———— value string false none none
——— deposit object false read-only none
———— currency string false none none
———— value string false none none
——— rent_turnover object false read-only none
———— currency string false none none
———— value string false none none
——— rent_turnover_without_vat object false read-only none
———— currency string false none none
———— value string false none none
——— provision object false read-only none
———— currency string false none none
———— value string false none none
——— payment_deadlines [object] false read-only none
———— date string(date) false none none
———— open_amount object false none none
————— currency string false none none
————— value string false none none
———— paid_amount object false none none
————— currency string false none none
————— value string false none none
——— pending_vouchers [object] false read-only none
———— code string false none none
———— balance object false none none
————— currency string false none none
————— value string false none none
———— amount object false none none
————— currency string false none none
————— value string false none none
——— created_at string(date-time) false read-only none
——— updated_at string(date-time) false read-only none
—— links object false none Links
——— self string false none Link to self
——— pay_url string false none Link to pay_url
—— relationships object false none Relationships
——— customer object false none When included, returns the customer details of the booking. This relationship can be managed via sideposting.
———— data object false none none
————— id string false none customer ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— owner object false none Returns the Owner if this is a booking for an owner.
———— data object false none none
————— id string false none owner ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— traffic_source object false none none
———— data object false none none
————— id string false none traffic_source ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— administration object false none none
———— data object false read-only none
————— id string false none administration ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— channel object false none none
———— data object false read-only none
————— id string false none channel ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— guest_invoice object false none DEPRECATED use customer_invoice instead
———— data object false read-only none
————— id string false none guest_invoice ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— customer_invoice object false none none
———— data object false read-only none
————— id string false none customer_invoice ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— channel_invoice object false none none
———— data object false read-only none
————— id string false none channel_invoice ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— reservations object false none none
———— data [object] false read-only none
————— id string false none reservations ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— payments object false none none
———— data [object] false read-only none
————— id string false none payments ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
—— meta object false none Metadata
——— temp_id string false none UUID for internal resource linking. Should be omitted when the relationship ID is known.
— meta object false none none
—— pagination object false none none
——— total_records integer false none none
——— page integer false none none
——— size integer false none none

Enumerated Values

Property Value
locale nl
locale nl-BE
locale en
locale de
locale de-AT
locale de-CH
locale fr
locale fr-BE
locale fr-LU
locale da
locale cs
locale es
locale tr
locale pt
locale it
locale pl
locale nb
currency EUR
currency USD
currency CHF
currency CZK
currency TRY
currency CVE
currency ANG
currency GBP
currency NOK
state concept
state concept_to_be_accepted
state concept_option
state concept_to_be_accepted_option
state temporary
state temporary_to_be_accepted
state temporary_to_be_checked
state temporary_to_be_accepted_and_checked
state temporary_option
state temporary_to_be_accepted_option
state to_be_accepted
state to_be_accepted_option
state to_be_checked
state to_be_accepted_and_checked
state option
state rejected
state confirmed
state imported
state cancelled

Status Code 429

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

Status Code default

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

GET booking

Code samples

curl --request GET \
  --url https://api.bookingexperts.nl/v3/administrations/1/bookings/string \
  --header 'Accept: application/vnd.api+json' \
  --header 'Accept-Language: en,nl' \
  --header 'X-API-KEY: API_KEY'
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.bookingexperts.nl/v3/administrations/1/bookings/string")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/vnd.api+json'
request["Accept-Language"] = 'en,nl'
request["X-API-KEY"] = 'API_KEY'

response = http.request(request)
puts response.read_body
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.bookingexperts.nl/v3/administrations/1/bookings/string",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/vnd.api+json",
    "Accept-Language: en,nl",
    "X-API-KEY: API_KEY"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.bookingexperts.nl/v3/administrations/1/bookings/string");
xhr.setRequestHeader("Accept", "application/vnd.api+json");
xhr.setRequestHeader("Accept-Language", "en,nl");
xhr.setRequestHeader("X-API-KEY", "API_KEY");

xhr.send(data);

GET /v3/administrations/{administration_id}/bookings/{id}

Returns a booking

Parameters

Name In Type Required Example Description
administration_id path string true 1 Administration ID
id path string true string Resource ID
fields[booking] query string false field1,field2 Fieldset. Specify a comma separated list of attributes to return
filter[id] query string false 1 Filter on ID
filter[customer_desires_downpayment] query string false customer_desires_downpayment Filter on customer_desires_downpayment
filter[after_payment_return_url] query string false after_payment_return_url Filter on after_payment_return_url
filter[option_validity] query string false option_validity Filter on option_validity
filter[remote_booking_nr] query string false remote_booking_nr Filter on remote_booking_nr
filter[reference_nr] query string false reference_nr Filter on reference_nr
filter[locale] query string false locale Filter on locale
filter[memo] query string false memo Filter on memo
filter[cancel_date] query string false cancel_date Filter on cancel_date
filter[cancel_reason] query string false cancel_reason Filter on cancel_reason
filter[state] query string false state Filter on state
filter[token] query string false token Filter on token
filter[confirmed_at] query string false confirmed_at Filter on confirmed_at
filter[booking_nr] query string false booking_nr Filter on booking_nr
filter[created_at] query string false created_at Filter on created_at
filter[updated_at] query string false updated_at Filter on updated_at
filter[customer] query string false 1,2 Filter on customer. Specify a comma separated list of IDs to filter on.
filter[owner] query string false 1,2 Filter on owner. Specify a comma separated list of IDs to filter on.
filter[traffic_source] query string false 1,2 Filter on traffic_source. Specify a comma separated list of IDs to filter on.
filter[administration] query string false 1,2 Filter on administration. Specify a comma separated list of IDs to filter on.
filter[channel] query string false 1,2 Filter on channel. Specify a comma separated list of IDs to filter on.
filter[reservations] query string false 1,2 Filter on reservations. Specify a comma separated list of IDs to filter on.
include query string false relationship1,relationship2 Includes list. Specify a comma separated list of resources to include.
Accept-Language header string false en,nl Supported languages. A comma separated list with one or more of the following locales: nl, nl-BE, en, de, de-AT, de-CH, fr, fr-BE, fr-LU, da, cs, es, tr, pt, it, pl, nb. Default: 'en'.

Example responses

200 Response

{
  "data": {
    "id": "1",
    "type": "booking",
    "attributes": {
      "customer_desires_downpayment": true,
      "after_payment_return_url": "string",
      "redeemable_codes": [
        "string"
      ],
      "option_validity": 3,
      "remote_booking_nr": "string",
      "reference_nr": "string",
      "locale": "nl",
      "memo": "string",
      "currency": "EUR",
      "cancel_date": "2019-08-24",
      "cancel_reason": "string",
      "state": "concept",
      "token": "string",
      "confirmed_at": "2019-08-24T14:15:22Z",
      "paid_by_customer": true,
      "deposit_completed": false,
      "booking_nr": "string",
      "owner_reservation": true,
      "total": {
        "currency": "string",
        "value": "string"
      },
      "total_without_vat": {
        "currency": "string",
        "value": "string"
      },
      "guest_payment_due": {
        "currency": "string",
        "value": "string"
      },
      "guest_total_paid": {
        "currency": "string",
        "value": "string"
      },
      "deposit": {
        "currency": "string",
        "value": "string"
      },
      "rent_turnover": {
        "currency": "string",
        "value": "string"
      },
      "rent_turnover_without_vat": {
        "currency": "string",
        "value": "string"
      },
      "provision": {
        "currency": "string",
        "value": "string"
      },
      "payment_deadlines": [
        {
          "date": "2019-08-24",
          "open_amount": {},
          "paid_amount": {}
        }
      ],
      "pending_vouchers": [
        {
          "code": "string",
          "balance": {},
          "amount": {}
        }
      ],
      "created_at": "2019-08-24T14:15:22Z",
      "updated_at": "2019-08-24T14:15:22Z"
    },
    "links": {
      "self": "string",
      "pay_url": "string"
    },
    "relationships": {
      "customer": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "owner": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "traffic_source": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "administration": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "channel": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "guest_invoice": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "customer_invoice": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "channel_invoice": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "reservations": {
        "data": [
          {}
        ]
      },
      "payments": {
        "data": [
          {}
        ]
      }
    },
    "meta": {
      "temp_id": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK BookingResponse Inline
429 Too Many Requests Error Inline
default Default Error Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
— data [Booking](#schemabooking) false none A Booking consists of one or more reservations.
It should be considered a shopping cart.
The Booking defines the total amount that needs to be paid.
—— id string false none ID
—— type string false none Type
—— attributes object false none Attributes
——— customer_desires_downpayment boolean false none When true, only the initial downpayment will be invoiced on visiting the returned pay_url.
——— after_payment_return_url string false none none
——— redeemable_codes [string] false none none
——— option_validity integer false none Returns the option validity in days when this is an option. Specify this attribute on create to make an option.
——— remote_booking_nr string false none External booking number
——— reference_nr string false none Reference number
——— locale string false none Locale of customer. Is used for communication.
——— memo string false none Returns the current content of the memo. Can be specified as input to set an initial memo.
——— currency string false read-only none
——— cancel_date string(date) false none Date on which the reservation has been cancelled
——— cancel_reason string false none Reason why the reservation is cancelled
——— state string false read-only Marks the state of the reservation.
——— token string false read-only Unique token which is used to prevent tampering. Token is mostly used for all customer facing urls.
——— confirmed_at string(date-time) false read-only Moment at which the reservation has been confirmed.
——— paid_by_customer boolean false read-only Indicates if the customer has fully paid.
——— deposit_completed boolean false read-only Marks if the deposit fulfilled.
——— booking_nr string false read-only Unique number to identify the booking.
——— owner_reservation boolean false read-only Indicates if this is a reservation of the owner of the accommodation.
——— total object false read-only none
———— currency string false none none
———— value string false none none
——— total_without_vat object false read-only none
———— currency string false none none
———— value string false none none
——— guest_payment_due object false read-only none
———— currency string false none none
———— value string false none none
——— guest_total_paid object false read-only none
———— currency string false none none
———— value string false none none
——— deposit object false read-only none
———— currency string false none none
———— value string false none none
——— rent_turnover object false read-only none
———— currency string false none none
———— value string false none none
——— rent_turnover_without_vat object false read-only none
———— currency string false none none
———— value string false none none
——— provision object false read-only none
———— currency string false none none
———— value string false none none
——— payment_deadlines [object] false read-only none
———— date string(date) false none none
———— open_amount object false none none
————— currency string false none none
————— value string false none none
———— paid_amount object false none none
————— currency string false none none
————— value string false none none
——— pending_vouchers [object] false read-only none
———— code string false none none
———— balance object false none none
————— currency string false none none
————— value string false none none
———— amount object false none none
————— currency string false none none
————— value string false none none
——— created_at string(date-time) false read-only none
——— updated_at string(date-time) false read-only none
—— links object false none Links
——— self string false none Link to self
——— pay_url string false none Link to pay_url
—— relationships object false none Relationships
——— customer object false none When included, returns the customer details of the booking. This relationship can be managed via sideposting.
———— data object false none none
————— id string false none customer ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— owner object false none Returns the Owner if this is a booking for an owner.
———— data object false none none
————— id string false none owner ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— traffic_source object false none none
———— data object false none none
————— id string false none traffic_source ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— administration object false none none
———— data object false read-only none
————— id string false none administration ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— channel object false none none
———— data object false read-only none
————— id string false none channel ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— guest_invoice object false none DEPRECATED use customer_invoice instead
———— data object false read-only none
————— id string false none guest_invoice ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— customer_invoice object false none none
———— data object false read-only none
————— id string false none customer_invoice ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— channel_invoice object false none none
———— data object false read-only none
————— id string false none channel_invoice ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— reservations object false none none
———— data [object] false read-only none
————— id string false none reservations ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— payments object false none none
———— data [object] false read-only none
————— id string false none payments ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
—— meta object false none Metadata
——— temp_id string false none UUID for internal resource linking. Should be omitted when the relationship ID is known.

Enumerated Values

Property Value
locale nl
locale nl-BE
locale en
locale de
locale de-AT
locale de-CH
locale fr
locale fr-BE
locale fr-LU
locale da
locale cs
locale es
locale tr
locale pt
locale it
locale pl
locale nb
currency EUR
currency USD
currency CHF
currency CZK
currency TRY
currency CVE
currency ANG
currency GBP
currency NOK
state concept
state concept_to_be_accepted
state concept_option
state concept_to_be_accepted_option
state temporary
state temporary_to_be_accepted
state temporary_to_be_checked
state temporary_to_be_accepted_and_checked
state temporary_option
state temporary_to_be_accepted_option
state to_be_accepted
state to_be_accepted_option
state to_be_checked
state to_be_accepted_and_checked
state option
state rejected
state confirmed
state imported
state cancelled

Status Code 429

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

Status Code default

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

Administration Categories

Deprecated, see rentable_types

GET categories

DEPRECATED

Code samples

curl --request GET \
  --url https://api.bookingexperts.nl/v3/administrations/1/categories \
  --header 'Accept: application/vnd.api+json' \
  --header 'Accept-Language: en,nl' \
  --header 'X-API-KEY: API_KEY'
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.bookingexperts.nl/v3/administrations/1/categories")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/vnd.api+json'
request["Accept-Language"] = 'en,nl'
request["X-API-KEY"] = 'API_KEY'

response = http.request(request)
puts response.read_body
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.bookingexperts.nl/v3/administrations/1/categories",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/vnd.api+json",
    "Accept-Language: en,nl",
    "X-API-KEY: API_KEY"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.bookingexperts.nl/v3/administrations/1/categories");
xhr.setRequestHeader("Accept", "application/vnd.api+json");
xhr.setRequestHeader("Accept-Language", "en,nl");
xhr.setRequestHeader("X-API-KEY", "API_KEY");

xhr.send(data);

GET /v3/administrations/{administration_id}/categories

Deprecated, see rentable_types

Parameters

Name In Type Required Example Description
administration_id path string true 1 Administration ID
page[number] query integer false 1 Page number
page[size] query integer false 10 Page size
sort query string false attr1,attr2 Sort. Specify a comma separated list of attributes to sort on. Prefix attribute with a \- to sort in descending order
fields[category] query string false field1,field2 Fieldset. Specify a comma separated list of attributes to return
filter[id] query string false 1 Filter on ID
filter[name] query string false name Filter on name
filter[description] query string false description Filter on description
filter[short_description] query string false short_description Filter on short_description
filter[usps] query string false usps Filter on usps
filter[highlighted] query string false highlighted Filter on highlighted
filter[reference] query string false reference Filter on reference
filter[minimum_number_of_nights] query string false minimum_number_of_nights Filter on minimum_number_of_nights
filter[maximum_number_of_nights] query string false maximum_number_of_nights Filter on maximum_number_of_nights
filter[number_of_bedrooms] query string false number_of_bedrooms Filter on number_of_bedrooms
filter[number_of_beds] query string false number_of_beds Filter on number_of_beds
filter[number_of_showers] query string false number_of_showers Filter on number_of_showers
filter[number_of_toilets] query string false number_of_toilets Filter on number_of_toilets
filter[number_of_bathrooms] query string false number_of_bathrooms Filter on number_of_bathrooms
filter[number_of_parking_spots] query string false number_of_parking_spots Filter on number_of_parking_spots
filter[number_of_child_beds] query string false number_of_child_beds Filter on number_of_child_beds
filter[number_of_child_chairs] query string false number_of_child_chairs Filter on number_of_child_chairs
filter[surface_area] query string false surface_area Filter on surface_area
filter[summer_video_id] query string false summer_video_id Filter on summer_video_id
filter[winter_video_id] query string false winter_video_id Filter on winter_video_id
filter[whole_year_video_id] query string false whole_year_video_id Filter on whole_year_video_id
filter[master_price_list_price_factor] query string false master_price_list_price_factor Filter on master_price_list_price_factor
filter[master_price_list_fixed_rate] query string false master_price_list_fixed_rate Filter on master_price_list_fixed_rate
filter[same_day_bookings_allowed] query string false same_day_bookings_allowed Filter on same_day_bookings_allowed
filter[archived] query string false archived Filter on archived
filter[max_number_of_people] query string false max_number_of_people Filter on max_number_of_people
filter[prices_updated_at] query string false prices_updated_at Filter on prices_updated_at
filter[prices_indexed_at] query string false prices_indexed_at Filter on prices_indexed_at
filter[stock_updated_at] query string false stock_updated_at Filter on stock_updated_at
filter[stock_indexed_at] query string false stock_indexed_at Filter on stock_indexed_at
filter[costs_updated_at] query string false costs_updated_at Filter on costs_updated_at
filter[extras_updated_at] query string false extras_updated_at Filter on extras_updated_at
filter[bookable_discounts_changed_at] query string false bookable_discounts_changed_at Filter on bookable_discounts_changed_at
filter[agreements_changed_at] query string false agreements_changed_at Filter on agreements_changed_at
filter[last_date_with_price] query string false last_date_with_price Filter on last_date_with_price
filter[city] query string false 1,2 Filter on city. Specify a comma separated list of IDs to filter on.
filter[region] query string false region Filter on region
filter[created_at] query string false created_at Filter on created_at
filter[updated_at] query string false updated_at Filter on updated_at
filter[terms] query string false 1,2 Filter on terms. Specify a comma separated list of IDs to filter on.
filter[rentable_segment] query string false 1,2 Filter on rentable_segment. Specify a comma separated list of IDs to filter on.
filter[master_price_list] query string false 1,2 Filter on master_price_list. Specify a comma separated list of IDs to filter on.
filter[guest_group_limits] query string false 1,2 Filter on guest_group_limits. Specify a comma separated list of IDs to filter on.
filter[administration] query string false 1,2 Filter on administration. Specify a comma separated list of IDs to filter on.
filter[rent_earned_ledger_account] query string false 1,2 Filter on rent_earned_ledger_account. Specify a comma separated list of IDs to filter on.
filter[images] query string false 1,2 Filter on images. Specify a comma separated list of IDs to filter on.
filter[rooms] query string false 1,2 Filter on rooms. Specify a comma separated list of IDs to filter on.
filter[rentable_type_amenities] query string false 1,2 Filter on rentable_type_amenities. Specify a comma separated list of IDs to filter on.
filter[accommodation_type] query string false 1,2 Filter on accommodation_type. Specify a comma separated list of IDs to filter on.
filter[category_amenities] query string false 1,2 Filter on category_amenities. Specify a comma separated list of IDs to filter on.
include query string false relationship1,relationship2 Includes list. Specify a comma separated list of resources to include.
Accept-Language header string false en,nl Supported languages. A comma separated list with one or more of the following locales: nl, nl-BE, en, de, de-AT, de-CH, fr, fr-BE, fr-LU, da, cs, es, tr, pt, it, pl, nb. Default: 'en'.
include_archived query boolean false true When true, archived types are included in the response

Example responses

200 Response

{
  "data": [
    {
      "id": "1",
      "type": "category",
      "attributes": {
        "name": {
          "nl": "string",
          "nl-BE": "string",
          "en": "string",
          "de": "string",
          "de-AT": "string",
          "de-CH": "string",
          "fr": "string",
          "fr-BE": "string",
          "fr-LU": "string",
          "da": "string",
          "cs": "string",
          "es": "string",
          "tr": "string",
          "pt": "string",
          "it": "string",
          "pl": "string",
          "nb": "string"
        },
        "description": {
          "nl": "string",
          "nl-BE": "string",
          "en": "string",
          "de": "string",
          "de-AT": "string",
          "de-CH": "string",
          "fr": "string",
          "fr-BE": "string",
          "fr-LU": "string",
          "da": "string",
          "cs": "string",
          "es": "string",
          "tr": "string",
          "pt": "string",
          "it": "string",
          "pl": "string",
          "nb": "string"
        },
        "short_description": {
          "nl": "string",
          "nl-BE": "string",
          "en": "string",
          "de": "string",
          "de-AT": "string",
          "de-CH": "string",
          "fr": "string",
          "fr-BE": "string",
          "fr-LU": "string",
          "da": "string",
          "cs": "string",
          "es": "string",
          "tr": "string",
          "pt": "string",
          "it": "string",
          "pl": "string",
          "nb": "string"
        },
        "usps": {
          "nl": [
            null
          ],
          "nl-BE": [
            null
          ],
          "en": [
            null
          ],
          "de": [
            null
          ],
          "de-AT": [
            null
          ],
          "de-CH": [
            null
          ],
          "fr": [
            null
          ],
          "fr-BE": [
            null
          ],
          "fr-LU": [
            null
          ],
          "da": [
            null
          ],
          "cs": [
            null
          ],
          "es": [
            null
          ],
          "tr": [
            null
          ],
          "pt": [
            null
          ],
          "it": [
            null
          ],
          "pl": [
            null
          ],
          "nb": [
            null
          ]
        },
        "highlighted": true,
        "reference": "string",
        "minimum_number_of_nights": 0,
        "maximum_number_of_nights": 0,
        "number_of_bedrooms": 0,
        "number_of_beds": 0,
        "number_of_showers": 0,
        "number_of_toilets": 0,
        "number_of_bathrooms": 0,
        "number_of_parking_spots": 0,
        "number_of_child_beds": 0,
        "number_of_child_chairs": 0,
        "surface_area": 0,
        "summer_video_id": "string",
        "winter_video_id": "string",
        "whole_year_video_id": "string",
        "master_price_list_price_factor": 0,
        "master_price_list_fixed_rate": 0,
        "same_day_bookings_allowed": true,
        "same_day_booking_closing_time": "14:15:22Z",
        "address": "string",
        "postal_code": "string",
        "latitude": 0,
        "longitude": 0,
        "checkin_times_for_week": [
          "string"
        ],
        "checkout_times_for_week": [
          "string"
        ],
        "energy_label": "A++++",
        "virtual": true,
        "archived": true,
        "max_number_of_people": 0,
        "max_number_of_seniors": 0,
        "max_number_of_adults": 0,
        "max_number_of_adolescents": 0,
        "max_number_of_children": 0,
        "max_number_of_babies": 0,
        "max_number_of_pets": 0,
        "prices_updated_at": "2019-08-24T14:15:22Z",
        "prices_indexed_at": "2019-08-24T14:15:22Z",
        "stock_updated_at": "2019-08-24T14:15:22Z",
        "stock_indexed_at": "2019-08-24T14:15:22Z",
        "costs_updated_at": "2019-08-24T14:15:22Z",
        "extras_updated_at": "2019-08-24T14:15:22Z",
        "bookable_discounts_changed_at": "2019-08-24T14:15:22Z",
        "agreements_changed_at": "2019-08-24T14:15:22Z",
        "max_baby_age": 0,
        "max_child_age": 0,
        "max_adolescent_age": 0,
        "min_senior_age": 0,
        "pets_allowed": "all",
        "host_image_url": "string",
        "last_date_with_price": "2019-08-24",
        "city": {
          "nl": "string",
          "nl-BE": "string",
          "en": "string",
          "de": "string",
          "de-AT": "string",
          "de-CH": "string",
          "fr": "string",
          "fr-BE": "string",
          "fr-LU": "string",
          "da": "string",
          "cs": "string",
          "es": "string",
          "tr": "string",
          "pt": "string",
          "it": "string",
          "pl": "string",
          "nb": "string"
        },
        "region": {
          "nl": "string",
          "nl-BE": "string",
          "en": "string",
          "de": "string",
          "de-AT": "string",
          "de-CH": "string",
          "fr": "string",
          "fr-BE": "string",
          "fr-LU": "string",
          "da": "string",
          "cs": "string",
          "es": "string",
          "tr": "string",
          "pt": "string",
          "it": "string",
          "pl": "string",
          "nb": "string"
        },
        "country_code": "string",
        "location_is_exact": true,
        "has_current_or_future_owner_that_should_check_reservations": true,
        "created_at": "2019-08-24T14:15:22Z",
        "updated_at": "2019-08-24T14:15:22Z",
        "rentable_type": "string"
      },
      "links": {
        "parkcms_url": "string"
      },
      "relationships": {
        "city": {
          "data": {}
        },
        "terms": {
          "data": {}
        },
        "rentable_segment": {
          "data": {}
        },
        "master_price_list": {
          "data": {}
        },
        "guest_group_limits": {
          "data": [
            null
          ]
        },
        "administration": {
          "data": {}
        },
        "rent_earned_ledger_account": {
          "data": {}
        },
        "images": {
          "data": [
            null
          ]
        },
        "rooms": {
          "data": [
            null
          ]
        },
        "rentable_type_amenities": {
          "data": [
            null
          ]
        },
        "optional_amenities": {
          "data": [
            null
          ]
        },
        "attachments": {
          "data": [
            null
          ]
        },
        "accommodation_type": {
          "data": {}
        },
        "category_amenities": {
          "data": [
            null
          ]
        }
      },
      "meta": {
        "temp_id": "string"
      }
    }
  ],
  "meta": {
    "pagination": {
      "total_records": 0,
      "page": 0,
      "size": 0
    }
  }
}

Responses

Status Meaning Description Schema
200 OK CategoryCollectionResponse Inline
429 Too Many Requests Error Inline
default Default Error Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
— data [[Category](#schemacategory)] false none none
—— id string false none ID
—— type string false none Type
—— attributes object false none Attributes
——— name object false none none
———— nl string false none none
———— nl-BE string false none none
———— en string false none none
———— de string false none none
———— de-AT string false none none
———— de-CH string false none none
———— fr string false none none
———— fr-BE string false none none
———— fr-LU string false none none
———— da string false none none
———— cs string false none none
———— es string false none none
———— tr string false none none
———— pt string false none none
———— it string false none none
———— pl string false none none
———— nb string false none none
——— description object false none none
———— nl string false none none
———— nl-BE string false none none
———— en string false none none
———— de string false none none
———— de-AT string false none none
———— de-CH string false none none
———— fr string false none none
———— fr-BE string false none none
———— fr-LU string false none none
———— da string false none none
———— cs string false none none
———— es string false none none
———— tr string false none none
———— pt string false none none
———— it string false none none
———— pl string false none none
———— nb string false none none
——— short_description object false none none
———— nl string false none none
———— nl-BE string false none none
———— en string false none none
———— de string false none none
———— de-AT string false none none
———— de-CH string false none none
———— fr string false none none
———— fr-BE string false none none
———— fr-LU string false none none
———— da string false none none
———— cs string false none none
———— es string false none none
———— tr string false none none
———— pt string false none none
———— it string false none none
———— pl string false none none
———— nb string false none none
——— usps object false none Translated unique selling points
———— nl [string] false none none
———— nl-BE [string] false none none
———— en [string] false none none
———— de [string] false none none
———— de-AT [string] false none none
———— de-CH [string] false none none
———— fr [string] false none none
———— fr-BE [string] false none none
———— fr-LU [string] false none none
———— da [string] false none none
———— cs [string] false none none
———— es [string] false none none
———— tr [string] false none none
———— pt [string] false none none
———— it [string] false none none
———— pl [string] false none none
———— nb [string] false none none
——— highlighted boolean false none Whether this type should be highlighted on the website
——— reference string false none none
——— minimum_number_of_nights integer false none none
——— maximum_number_of_nights integer false none none
——— number_of_bedrooms integer false none none
——— number_of_beds integer false none none
——— number_of_showers integer false none none
——— number_of_toilets integer false none none
——— number_of_bathrooms integer false none none
——— number_of_parking_spots integer false none none
——— number_of_child_beds integer false none none
——— number_of_child_chairs integer false none none
——— surface_area integer false none The surface area for this type in square meters
——— summer_video_id string false none none
——— winter_video_id string false none none
——— whole_year_video_id string false none none
——— master_price_list_price_factor number(float) false none The prices in the price list are multiplied by this value. For example, if the factor is 1.1, 10% is added to the prices. Values below 1.0 are also possible.
——— master_price_list_fixed_rate number(float) false none This rate is added to (or subtracted from if negative) the prices of the price list. The value is per night, so a midweek price for monday to friday, gets this value added times four.
——— same_day_bookings_allowed boolean false none none
——— same_day_booking_closing_time string(time) false none none
——— address string false none none
——— postal_code string false none none
——— latitude number(float) false none none
——— longitude number(float) false none none
——— checkin_times_for_week [string] false none none
——— checkout_times_for_week [string] false none none
——— energy_label string false read-only Yields the lowest energy label of all objects (if any have been set)
——— virtual boolean false read-only A rentable type is virtual when it groups accommodations in order for them to be rented as if it was one accommodation. This is the case for grouped rentable types and clusters.
——— archived boolean false read-only none
——— max_number_of_people integer false read-only none
——— max_number_of_seniors integer false read-only none
——— max_number_of_adults integer false read-only none
——— max_number_of_adolescents integer false read-only none
——— max_number_of_children integer false read-only none
——— max_number_of_babies integer false read-only none
——— max_number_of_pets integer false read-only none
——— prices_updated_at string(date-time) false read-only Timestamp when the prices of this type were last updated
——— prices_indexed_at string(date-time) false read-only Timestamp when the prices of this type were last indexed for availability search
——— stock_updated_at string(date-time) false read-only Timestamp when the stock of this type was last updated
——— stock_indexed_at string(date-time) false read-only Timestamp when the stock of this type was last indexed for availability search
——— costs_updated_at string(date-time) false read-only Timestamp when the costs of this type were last updated
——— extras_updated_at string(date-time) false read-only Timestamp when the extras of this type were last updated
——— bookable_discounts_changed_at string(date-time) false read-only Timestamp when the bookable discounts of this type were last updated
——— agreements_changed_at string(date-time) false read-only Timestamp when the agreements of this type were last updated
——— max_baby_age integer false read-only none
——— max_child_age integer false read-only none
——— max_adolescent_age integer false read-only none
——— min_senior_age integer false read-only none
——— pets_allowed string false read-only Whether pets are allowed on all, some or none of the accommodations of this type
——— host_image_url string false read-only none
——— last_date_with_price string(date) false read-only none
——— city object false read-only none
———— nl string false none none
———— nl-BE string false none none
———— en string false none none
———— de string false none none
———— de-AT string false none none
———— de-CH string false none none
———— fr string false none none
———— fr-BE string false none none
———— fr-LU string false none none
———— da string false none none
———— cs string false none none
———— es string false none none
———— tr string false none none
———— pt string false none none
———— it string false none none
———— pl string false none none
———— nb string false none none
——— region object false read-only none
———— nl string false none none
———— nl-BE string false none none
———— en string false none none
———— de string false none none
———— de-AT string false none none
———— de-CH string false none none
———— fr string false none none
———— fr-BE string false none none
———— fr-LU string false none none
———— da string false none none
———— cs string false none none
———— es string false none none
———— tr string false none none
———— pt string false none none
———— it string false none none
———— pl string false none none
———— nb string false none none
——— country_code string false read-only none
——— location_is_exact boolean false read-only none
——— has_current_or_future_owner_that_should_check_reservations boolean false read-only none
——— created_at string(date-time) false read-only none
——— updated_at string(date-time) false read-only none
——— rentable_type string false read-only DEPRECATED use RentableSegment#semantic_segment instead
—— links object false none Links
——— parkcms_url string false none Link to parkcms_url
—— relationships object false none Relationships
——— city object false none none
———— data object false none none
————— id string false none city ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— terms object false none none
———— data object false none none
————— id string false none terms ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— rentable_segment object false none none
———— data object false none none
————— id string false none rentable_segment ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— master_price_list object false none none
———— data object false none none
————— id string false none master_price_list ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— guest_group_limits object false none none
———— data [object] false none none
————— id string false none guest_group_limits ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— administration object false none none
———— data object false read-only none
————— id string false none administration ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— rent_earned_ledger_account object false none none
———— data object false read-only none
————— id string false none rent_earned_ledger_account ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— images object false none none
———— data [object] false read-only none
————— id string false none images ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— rooms object false none none
———— data [object] false read-only none
————— id string false none rooms ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— rentable_type_amenities object false none none
———— data [object] false read-only none
————— id string false none rentable_type_amenities ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— optional_amenities object false none none
———— data [object] false read-only none
————— id string false none optional_amenities ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— attachments object false none none
———— data [object] false read-only none
————— id string false none attachments ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— accommodation_type object false none DEPRECATED use rentable_segment instead
———— data object false read-only none
————— id string false none accommodation_type ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— category_amenities object false none none
———— data [object] false read-only none
————— id string false none category_amenities ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
—— meta object false none Metadata
——— temp_id string false none UUID for internal resource linking. Should be omitted when the relationship ID is known.
— meta object false none none
—— pagination object false none none
——— total_records integer false none none
——— page integer false none none
——— size integer false none none

Enumerated Values

Property Value
energy_label A++++
energy_label A+++
energy_label A++
energy_label A+
energy_label A
energy_label B
energy_label C
energy_label D
energy_label E
energy_label F
energy_label G
energy_label H
pets_allowed all
pets_allowed some
pets_allowed none

Status Code 429

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

Status Code default

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

POST category

DEPRECATED

Code samples

curl --request POST \
  --url https://api.bookingexperts.nl/v3/administrations/1/categories \
  --header 'Accept: application/vnd.api+json' \
  --header 'Accept-Language: en,nl' \
  --header 'Content-Type: application/vnd.api+json' \
  --header 'X-API-KEY: API_KEY' \
  --data '{"data":{"type":"category","attributes":{"name":{"nl":"string","nl-BE":"string","en":"string","de":"string","de-AT":"string","de-CH":"string","fr":"string","fr-BE":"string","fr-LU":"string","da":"string","cs":"string","es":"string","tr":"string","pt":"string","it":"string","pl":"string","nb":"string"},"description":{"nl":"string","nl-BE":"string","en":"string","de":"string","de-AT":"string","de-CH":"string","fr":"string","fr-BE":"string","fr-LU":"string","da":"string","cs":"string","es":"string","tr":"string","pt":"string","it":"string","pl":"string","nb":"string"},"short_description":{"nl":"string","nl-BE":"string","en":"string","de":"string","de-AT":"string","de-CH":"string","fr":"string","fr-BE":"string","fr-LU":"string","da":"string","cs":"string","es":"string","tr":"string","pt":"string","it":"string","pl":"string","nb":"string"},"usps":{"nl":["string"],"nl-BE":["string"],"en":["string"],"de":["string"],"de-AT":["string"],"de-CH":["string"],"fr":["string"],"fr-BE":["string"],"fr-LU":["string"],"da":["string"],"cs":["string"],"es":["string"],"tr":["string"],"pt":["string"],"it":["string"],"pl":["string"],"nb":["string"]},"highlighted":true,"reference":"string","minimum_number_of_nights":0,"maximum_number_of_nights":0,"number_of_bedrooms":0,"number_of_beds":0,"number_of_showers":0,"number_of_toilets":0,"number_of_bathrooms":0,"number_of_parking_spots":0,"number_of_child_beds":0,"number_of_child_chairs":0,"surface_area":0,"summer_video_id":"string","winter_video_id":"string","whole_year_video_id":"string","master_price_list_price_factor":0,"master_price_list_fixed_rate":0,"same_day_bookings_allowed":true,"same_day_booking_closing_time":"14:15:22Z","address":"string","postal_code":"string","latitude":0,"longitude":0,"checkin_times_for_week":["string"],"checkout_times_for_week":["string"]},"relationships":{"city":{"data":{"id":null,"type":null,"meta":null}},"terms":{"data":{"id":null,"type":null,"meta":null}},"rentable_segment":{"data":{"id":null,"type":null,"meta":null}},"master_price_list":{"data":{"id":null,"type":null,"meta":null}},"guest_group_limits":{"data":[{}]}},"meta":{"temp_id":"string"}}}'
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.bookingexperts.nl/v3/administrations/1/categories")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/vnd.api+json'
request["Accept"] = 'application/vnd.api+json'
request["Accept-Language"] = 'en,nl'
request["X-API-KEY"] = 'API_KEY'
request.body = "{\"data\":{\"type\":\"category\",\"attributes\":{\"name\":{\"nl\":\"string\",\"nl-BE\":\"string\",\"en\":\"string\",\"de\":\"string\",\"de-AT\":\"string\",\"de-CH\":\"string\",\"fr\":\"string\",\"fr-BE\":\"string\",\"fr-LU\":\"string\",\"da\":\"string\",\"cs\":\"string\",\"es\":\"string\",\"tr\":\"string\",\"pt\":\"string\",\"it\":\"string\",\"pl\":\"string\",\"nb\":\"string\"},\"description\":{\"nl\":\"string\",\"nl-BE\":\"string\",\"en\":\"string\",\"de\":\"string\",\"de-AT\":\"string\",\"de-CH\":\"string\",\"fr\":\"string\",\"fr-BE\":\"string\",\"fr-LU\":\"string\",\"da\":\"string\",\"cs\":\"string\",\"es\":\"string\",\"tr\":\"string\",\"pt\":\"string\",\"it\":\"string\",\"pl\":\"string\",\"nb\":\"string\"},\"short_description\":{\"nl\":\"string\",\"nl-BE\":\"string\",\"en\":\"string\",\"de\":\"string\",\"de-AT\":\"string\",\"de-CH\":\"string\",\"fr\":\"string\",\"fr-BE\":\"string\",\"fr-LU\":\"string\",\"da\":\"string\",\"cs\":\"string\",\"es\":\"string\",\"tr\":\"string\",\"pt\":\"string\",\"it\":\"string\",\"pl\":\"string\",\"nb\":\"string\"},\"usps\":{\"nl\":[\"string\"],\"nl-BE\":[\"string\"],\"en\":[\"string\"],\"de\":[\"string\"],\"de-AT\":[\"string\"],\"de-CH\":[\"string\"],\"fr\":[\"string\"],\"fr-BE\":[\"string\"],\"fr-LU\":[\"string\"],\"da\":[\"string\"],\"cs\":[\"string\"],\"es\":[\"string\"],\"tr\":[\"string\"],\"pt\":[\"string\"],\"it\":[\"string\"],\"pl\":[\"string\"],\"nb\":[\"string\"]},\"highlighted\":true,\"reference\":\"string\",\"minimum_number_of_nights\":0,\"maximum_number_of_nights\":0,\"number_of_bedrooms\":0,\"number_of_beds\":0,\"number_of_showers\":0,\"number_of_toilets\":0,\"number_of_bathrooms\":0,\"number_of_parking_spots\":0,\"number_of_child_beds\":0,\"number_of_child_chairs\":0,\"surface_area\":0,\"summer_video_id\":\"string\",\"winter_video_id\":\"string\",\"whole_year_video_id\":\"string\",\"master_price_list_price_factor\":0,\"master_price_list_fixed_rate\":0,\"same_day_bookings_allowed\":true,\"same_day_booking_closing_time\":\"14:15:22Z\",\"address\":\"string\",\"postal_code\":\"string\",\"latitude\":0,\"longitude\":0,\"checkin_times_for_week\":[\"string\"],\"checkout_times_for_week\":[\"string\"]},\"relationships\":{\"city\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"terms\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"rentable_segment\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"master_price_list\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"guest_group_limits\":{\"data\":[{}]}},\"meta\":{\"temp_id\":\"string\"}}}"

response = http.request(request)
puts response.read_body
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.bookingexperts.nl/v3/administrations/1/categories",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"data\":{\"type\":\"category\",\"attributes\":{\"name\":{\"nl\":\"string\",\"nl-BE\":\"string\",\"en\":\"string\",\"de\":\"string\",\"de-AT\":\"string\",\"de-CH\":\"string\",\"fr\":\"string\",\"fr-BE\":\"string\",\"fr-LU\":\"string\",\"da\":\"string\",\"cs\":\"string\",\"es\":\"string\",\"tr\":\"string\",\"pt\":\"string\",\"it\":\"string\",\"pl\":\"string\",\"nb\":\"string\"},\"description\":{\"nl\":\"string\",\"nl-BE\":\"string\",\"en\":\"string\",\"de\":\"string\",\"de-AT\":\"string\",\"de-CH\":\"string\",\"fr\":\"string\",\"fr-BE\":\"string\",\"fr-LU\":\"string\",\"da\":\"string\",\"cs\":\"string\",\"es\":\"string\",\"tr\":\"string\",\"pt\":\"string\",\"it\":\"string\",\"pl\":\"string\",\"nb\":\"string\"},\"short_description\":{\"nl\":\"string\",\"nl-BE\":\"string\",\"en\":\"string\",\"de\":\"string\",\"de-AT\":\"string\",\"de-CH\":\"string\",\"fr\":\"string\",\"fr-BE\":\"string\",\"fr-LU\":\"string\",\"da\":\"string\",\"cs\":\"string\",\"es\":\"string\",\"tr\":\"string\",\"pt\":\"string\",\"it\":\"string\",\"pl\":\"string\",\"nb\":\"string\"},\"usps\":{\"nl\":[\"string\"],\"nl-BE\":[\"string\"],\"en\":[\"string\"],\"de\":[\"string\"],\"de-AT\":[\"string\"],\"de-CH\":[\"string\"],\"fr\":[\"string\"],\"fr-BE\":[\"string\"],\"fr-LU\":[\"string\"],\"da\":[\"string\"],\"cs\":[\"string\"],\"es\":[\"string\"],\"tr\":[\"string\"],\"pt\":[\"string\"],\"it\":[\"string\"],\"pl\":[\"string\"],\"nb\":[\"string\"]},\"highlighted\":true,\"reference\":\"string\",\"minimum_number_of_nights\":0,\"maximum_number_of_nights\":0,\"number_of_bedrooms\":0,\"number_of_beds\":0,\"number_of_showers\":0,\"number_of_toilets\":0,\"number_of_bathrooms\":0,\"number_of_parking_spots\":0,\"number_of_child_beds\":0,\"number_of_child_chairs\":0,\"surface_area\":0,\"summer_video_id\":\"string\",\"winter_video_id\":\"string\",\"whole_year_video_id\":\"string\",\"master_price_list_price_factor\":0,\"master_price_list_fixed_rate\":0,\"same_day_bookings_allowed\":true,\"same_day_booking_closing_time\":\"14:15:22Z\",\"address\":\"string\",\"postal_code\":\"string\",\"latitude\":0,\"longitude\":0,\"checkin_times_for_week\":[\"string\"],\"checkout_times_for_week\":[\"string\"]},\"relationships\":{\"city\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"terms\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"rentable_segment\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"master_price_list\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"guest_group_limits\":{\"data\":[{}]}},\"meta\":{\"temp_id\":\"string\"}}}",
  CURLOPT_HTTPHEADER => [
    "Accept: application/vnd.api+json",
    "Accept-Language: en,nl",
    "Content-Type: application/vnd.api+json",
    "X-API-KEY: API_KEY"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
const data = "{\"data\":{\"type\":\"category\",\"attributes\":{\"name\":{\"nl\":\"string\",\"nl-BE\":\"string\",\"en\":\"string\",\"de\":\"string\",\"de-AT\":\"string\",\"de-CH\":\"string\",\"fr\":\"string\",\"fr-BE\":\"string\",\"fr-LU\":\"string\",\"da\":\"string\",\"cs\":\"string\",\"es\":\"string\",\"tr\":\"string\",\"pt\":\"string\",\"it\":\"string\",\"pl\":\"string\",\"nb\":\"string\"},\"description\":{\"nl\":\"string\",\"nl-BE\":\"string\",\"en\":\"string\",\"de\":\"string\",\"de-AT\":\"string\",\"de-CH\":\"string\",\"fr\":\"string\",\"fr-BE\":\"string\",\"fr-LU\":\"string\",\"da\":\"string\",\"cs\":\"string\",\"es\":\"string\",\"tr\":\"string\",\"pt\":\"string\",\"it\":\"string\",\"pl\":\"string\",\"nb\":\"string\"},\"short_description\":{\"nl\":\"string\",\"nl-BE\":\"string\",\"en\":\"string\",\"de\":\"string\",\"de-AT\":\"string\",\"de-CH\":\"string\",\"fr\":\"string\",\"fr-BE\":\"string\",\"fr-LU\":\"string\",\"da\":\"string\",\"cs\":\"string\",\"es\":\"string\",\"tr\":\"string\",\"pt\":\"string\",\"it\":\"string\",\"pl\":\"string\",\"nb\":\"string\"},\"usps\":{\"nl\":[\"string\"],\"nl-BE\":[\"string\"],\"en\":[\"string\"],\"de\":[\"string\"],\"de-AT\":[\"string\"],\"de-CH\":[\"string\"],\"fr\":[\"string\"],\"fr-BE\":[\"string\"],\"fr-LU\":[\"string\"],\"da\":[\"string\"],\"cs\":[\"string\"],\"es\":[\"string\"],\"tr\":[\"string\"],\"pt\":[\"string\"],\"it\":[\"string\"],\"pl\":[\"string\"],\"nb\":[\"string\"]},\"highlighted\":true,\"reference\":\"string\",\"minimum_number_of_nights\":0,\"maximum_number_of_nights\":0,\"number_of_bedrooms\":0,\"number_of_beds\":0,\"number_of_showers\":0,\"number_of_toilets\":0,\"number_of_bathrooms\":0,\"number_of_parking_spots\":0,\"number_of_child_beds\":0,\"number_of_child_chairs\":0,\"surface_area\":0,\"summer_video_id\":\"string\",\"winter_video_id\":\"string\",\"whole_year_video_id\":\"string\",\"master_price_list_price_factor\":0,\"master_price_list_fixed_rate\":0,\"same_day_bookings_allowed\":true,\"same_day_booking_closing_time\":\"14:15:22Z\",\"address\":\"string\",\"postal_code\":\"string\",\"latitude\":0,\"longitude\":0,\"checkin_times_for_week\":[\"string\"],\"checkout_times_for_week\":[\"string\"]},\"relationships\":{\"city\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"terms\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"rentable_segment\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"master_price_list\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"guest_group_limits\":{\"data\":[{}]}},\"meta\":{\"temp_id\":\"string\"}}}";

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.bookingexperts.nl/v3/administrations/1/categories");
xhr.setRequestHeader("Content-Type", "application/vnd.api+json");
xhr.setRequestHeader("Accept", "application/vnd.api+json");
xhr.setRequestHeader("Accept-Language", "en,nl");
xhr.setRequestHeader("X-API-KEY", "API_KEY");

xhr.send(data);

POST /v3/administrations/{administration_id}/categories

Deprecated, see rentable_types

Body parameter

{
  "data": {
    "type": "category",
    "attributes": {
      "name": {
        "nl": "string",
        "nl-BE": "string",
        "en": "string",
        "de": "string",
        "de-AT": "string",
        "de-CH": "string",
        "fr": "string",
        "fr-BE": "string",
        "fr-LU": "string",
        "da": "string",
        "cs": "string",
        "es": "string",
        "tr": "string",
        "pt": "string",
        "it": "string",
        "pl": "string",
        "nb": "string"
      },
      "description": {
        "nl": "string",
        "nl-BE": "string",
        "en": "string",
        "de": "string",
        "de-AT": "string",
        "de-CH": "string",
        "fr": "string",
        "fr-BE": "string",
        "fr-LU": "string",
        "da": "string",
        "cs": "string",
        "es": "string",
        "tr": "string",
        "pt": "string",
        "it": "string",
        "pl": "string",
        "nb": "string"
      },
      "short_description": {
        "nl": "string",
        "nl-BE": "string",
        "en": "string",
        "de": "string",
        "de-AT": "string",
        "de-CH": "string",
        "fr": "string",
        "fr-BE": "string",
        "fr-LU": "string",
        "da": "string",
        "cs": "string",
        "es": "string",
        "tr": "string",
        "pt": "string",
        "it": "string",
        "pl": "string",
        "nb": "string"
      },
      "usps": {
        "nl": [
          "string"
        ],
        "nl-BE": [
          "string"
        ],
        "en": [
          "string"
        ],
        "de": [
          "string"
        ],
        "de-AT": [
          "string"
        ],
        "de-CH": [
          "string"
        ],
        "fr": [
          "string"
        ],
        "fr-BE": [
          "string"
        ],
        "fr-LU": [
          "string"
        ],
        "da": [
          "string"
        ],
        "cs": [
          "string"
        ],
        "es": [
          "string"
        ],
        "tr": [
          "string"
        ],
        "pt": [
          "string"
        ],
        "it": [
          "string"
        ],
        "pl": [
          "string"
        ],
        "nb": [
          "string"
        ]
      },
      "highlighted": true,
      "reference": "string",
      "minimum_number_of_nights": 0,
      "maximum_number_of_nights": 0,
      "number_of_bedrooms": 0,
      "number_of_beds": 0,
      "number_of_showers": 0,
      "number_of_toilets": 0,
      "number_of_bathrooms": 0,
      "number_of_parking_spots": 0,
      "number_of_child_beds": 0,
      "number_of_child_chairs": 0,
      "surface_area": 0,
      "summer_video_id": "string",
      "winter_video_id": "string",
      "whole_year_video_id": "string",
      "master_price_list_price_factor": 0,
      "master_price_list_fixed_rate": 0,
      "same_day_bookings_allowed": true,
      "same_day_booking_closing_time": "14:15:22Z",
      "address": "string",
      "postal_code": "string",
      "latitude": 0,
      "longitude": 0,
      "checkin_times_for_week": [
        "string"
      ],
      "checkout_times_for_week": [
        "string"
      ]
    },
    "relationships": {
      "city": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "terms": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "rentable_segment": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "master_price_list": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "guest_group_limits": {
        "data": [
          {}
        ]
      }
    },
    "meta": {
      "temp_id": "string"
    }
  }
}

Parameters

Name In Type Required Example Description
administration_id path string true 1 Administration ID
Accept-Language header string false en,nl Supported languages. A comma separated list with one or more of the following locales: nl, nl-BE, en, de, de-AT, de-CH, fr, fr-BE, fr-LU, da, cs, es, tr, pt, it, pl, nb. Default: 'en'.
body body object true [object Object] none
— data body object false [object Object] none
—— type body string false category Type
—— attributes body object false [object Object] Attributes
——— name body object false [object Object] none
———— nl body string false string none
———— nl-BE body string false string none
———— en body string false string none
———— de body string false string none
———— de-AT body string false string none
———— de-CH body string false string none
———— fr body string false string none
———— fr-BE body string false string none
———— fr-LU body string false string none
———— da body string false string none
———— cs body string false string none
———— es body string false string none
———— tr body string false string none
———— pt body string false string none
———— it body string false string none
———— pl body string false string none
———— nb body string false string none
——— description body object false [object Object] none
———— nl body string false string none
———— nl-BE body string false string none
———— en body string false string none
———— de body string false string none
———— de-AT body string false string none
———— de-CH body string false string none
———— fr body string false string none
———— fr-BE body string false string none
———— fr-LU body string false string none
———— da body string false string none
———— cs body string false string none
———— es body string false string none
———— tr body string false string none
———— pt body string false string none
———— it body string false string none
———— pl body string false string none
———— nb body string false string none
——— short_description body object false [object Object] none
———— nl body string false string none
———— nl-BE body string false string none
———— en body string false string none
———— de body string false string none
———— de-AT body string false string none
———— de-CH body string false string none
———— fr body string false string none
———— fr-BE body string false string none
———— fr-LU body string false string none
———— da body string false string none
———— cs body string false string none
———— es body string false string none
———— tr body string false string none
———— pt body string false string none
———— it body string false string none
———— pl body string false string none
———— nb body string false string none
——— usps body object false [object Object] Translated unique selling points
———— nl body [string] false string none
———— nl-BE body [string] false string none
———— en body [string] false string none
———— de body [string] false string none
———— de-AT body [string] false string none
———— de-CH body [string] false string none
———— fr body [string] false string none
———— fr-BE body [string] false string none
———— fr-LU body [string] false string none
———— da body [string] false string none
———— cs body [string] false string none
———— es body [string] false string none
———— tr body [string] false string none
———— pt body [string] false string none
———— it body [string] false string none
———— pl body [string] false string none
———— nb body [string] false string none
——— highlighted body boolean false true Whether this type should be highlighted on the website
——— reference body string false string none
——— minimum_number_of_nights body integer false 0 none
——— maximum_number_of_nights body integer false 0 none
——— number_of_bedrooms body integer false 0 none
——— number_of_beds body integer false 0 none
——— number_of_showers body integer false 0 none
——— number_of_toilets body integer false 0 none
——— number_of_bathrooms body integer false 0 none
——— number_of_parking_spots body integer false 0 none
——— number_of_child_beds body integer false 0 none
——— number_of_child_chairs body integer false 0 none
——— surface_area body integer false 0 The surface area for this type in square meters
——— summer_video_id body string false string none
——— winter_video_id body string false string none
——— whole_year_video_id body string false string none
——— master_price_list_price_factor body number(float) false 0 The prices in the price list are multiplied by this value. For example, if the factor is 1.1, 10% is added to the prices. Values below 1.0 are also possible.
——— master_price_list_fixed_rate body number(float) false 0 This rate is added to (or subtracted from if negative) the prices of the price list. The value is per night, so a midweek price for monday to friday, gets this value added times four.
——— same_day_bookings_allowed body boolean false true none
——— same_day_booking_closing_time body string(time) false 14:15:22Z none
——— address body string false string none
——— postal_code body string false string none
——— latitude body number(float) false 0 none
——— longitude body number(float) false 0 none
——— checkin_times_for_week body [string] false string none
——— checkout_times_for_week body [string] false string none
—— relationships body object false [object Object] Relationships
——— city body object false [object Object] none
———— data body object false [object Object] none
————— id body string false string city ID
————— type body string false city none
————— meta body object false [object Object] none
—————— temp_id body string false string UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method body string false string Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— terms body object false [object Object] none
———— data body object false [object Object] none
————— id body string false string terms ID
————— type body string false terms none
————— meta body object false [object Object] none
—————— temp_id body string false string UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method body string false string Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— rentable_segment body object false [object Object] none
———— data body object false [object Object] none
————— id body string false string rentable_segment ID
————— type body string false rentable_segment none
————— meta body object false [object Object] none
—————— temp_id body string false string UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method body string false string Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— master_price_list body object false [object Object] none
———— data body object false [object Object] none
————— id body string false string master_price_list ID
————— type body string false master_price_list none
————— meta body object false [object Object] none
—————— temp_id body string false string UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method body string false string Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— guest_group_limits body object false [object Object] none
———— data body [object] false [object Object] none
————— id body string false string guest_group_limits ID
————— type body string false guest_group_limit none
————— meta body object false [object Object] none
—————— temp_id body string false string UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method body string false string Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
—— meta body object false [object Object] Metadata
——— temp_id body string false string UUID for internal resource linking. Should be omitted when the relationship ID is known.

Example responses

200 Response

{
  "data": {
    "id": "1",
    "type": "category",
    "attributes": {
      "name": {
        "nl": "string",
        "nl-BE": "string",
        "en": "string",
        "de": "string",
        "de-AT": "string",
        "de-CH": "string",
        "fr": "string",
        "fr-BE": "string",
        "fr-LU": "string",
        "da": "string",
        "cs": "string",
        "es": "string",
        "tr": "string",
        "pt": "string",
        "it": "string",
        "pl": "string",
        "nb": "string"
      },
      "description": {
        "nl": "string",
        "nl-BE": "string",
        "en": "string",
        "de": "string",
        "de-AT": "string",
        "de-CH": "string",
        "fr": "string",
        "fr-BE": "string",
        "fr-LU": "string",
        "da": "string",
        "cs": "string",
        "es": "string",
        "tr": "string",
        "pt": "string",
        "it": "string",
        "pl": "string",
        "nb": "string"
      },
      "short_description": {
        "nl": "string",
        "nl-BE": "string",
        "en": "string",
        "de": "string",
        "de-AT": "string",
        "de-CH": "string",
        "fr": "string",
        "fr-BE": "string",
        "fr-LU": "string",
        "da": "string",
        "cs": "string",
        "es": "string",
        "tr": "string",
        "pt": "string",
        "it": "string",
        "pl": "string",
        "nb": "string"
      },
      "usps": {
        "nl": [
          "string"
        ],
        "nl-BE": [
          "string"
        ],
        "en": [
          "string"
        ],
        "de": [
          "string"
        ],
        "de-AT": [
          "string"
        ],
        "de-CH": [
          "string"
        ],
        "fr": [
          "string"
        ],
        "fr-BE": [
          "string"
        ],
        "fr-LU": [
          "string"
        ],
        "da": [
          "string"
        ],
        "cs": [
          "string"
        ],
        "es": [
          "string"
        ],
        "tr": [
          "string"
        ],
        "pt": [
          "string"
        ],
        "it": [
          "string"
        ],
        "pl": [
          "string"
        ],
        "nb": [
          "string"
        ]
      },
      "highlighted": true,
      "reference": "string",
      "minimum_number_of_nights": 0,
      "maximum_number_of_nights": 0,
      "number_of_bedrooms": 0,
      "number_of_beds": 0,
      "number_of_showers": 0,
      "number_of_toilets": 0,
      "number_of_bathrooms": 0,
      "number_of_parking_spots": 0,
      "number_of_child_beds": 0,
      "number_of_child_chairs": 0,
      "surface_area": 0,
      "summer_video_id": "string",
      "winter_video_id": "string",
      "whole_year_video_id": "string",
      "master_price_list_price_factor": 0,
      "master_price_list_fixed_rate": 0,
      "same_day_bookings_allowed": true,
      "same_day_booking_closing_time": "14:15:22Z",
      "address": "string",
      "postal_code": "string",
      "latitude": 0,
      "longitude": 0,
      "checkin_times_for_week": [
        "string"
      ],
      "checkout_times_for_week": [
        "string"
      ],
      "energy_label": "A++++",
      "virtual": true,
      "archived": true,
      "max_number_of_people": 0,
      "max_number_of_seniors": 0,
      "max_number_of_adults": 0,
      "max_number_of_adolescents": 0,
      "max_number_of_children": 0,
      "max_number_of_babies": 0,
      "max_number_of_pets": 0,
      "prices_updated_at": "2019-08-24T14:15:22Z",
      "prices_indexed_at": "2019-08-24T14:15:22Z",
      "stock_updated_at": "2019-08-24T14:15:22Z",
      "stock_indexed_at": "2019-08-24T14:15:22Z",
      "costs_updated_at": "2019-08-24T14:15:22Z",
      "extras_updated_at": "2019-08-24T14:15:22Z",
      "bookable_discounts_changed_at": "2019-08-24T14:15:22Z",
      "agreements_changed_at": "2019-08-24T14:15:22Z",
      "max_baby_age": 0,
      "max_child_age": 0,
      "max_adolescent_age": 0,
      "min_senior_age": 0,
      "pets_allowed": "all",
      "host_image_url": "string",
      "last_date_with_price": "2019-08-24",
      "city": {
        "nl": "string",
        "nl-BE": "string",
        "en": "string",
        "de": "string",
        "de-AT": "string",
        "de-CH": "string",
        "fr": "string",
        "fr-BE": "string",
        "fr-LU": "string",
        "da": "string",
        "cs": "string",
        "es": "string",
        "tr": "string",
        "pt": "string",
        "it": "string",
        "pl": "string",
        "nb": "string"
      },
      "region": {
        "nl": "string",
        "nl-BE": "string",
        "en": "string",
        "de": "string",
        "de-AT": "string",
        "de-CH": "string",
        "fr": "string",
        "fr-BE": "string",
        "fr-LU": "string",
        "da": "string",
        "cs": "string",
        "es": "string",
        "tr": "string",
        "pt": "string",
        "it": "string",
        "pl": "string",
        "nb": "string"
      },
      "country_code": "string",
      "location_is_exact": true,
      "has_current_or_future_owner_that_should_check_reservations": true,
      "created_at": "2019-08-24T14:15:22Z",
      "updated_at": "2019-08-24T14:15:22Z",
      "rentable_type": "string"
    },
    "links": {
      "parkcms_url": "string"
    },
    "relationships": {
      "city": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "terms": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "rentable_segment": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "master_price_list": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "guest_group_limits": {
        "data": [
          {}
        ]
      },
      "administration": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "rent_earned_ledger_account": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "images": {
        "data": [
          {}
        ]
      },
      "rooms": {
        "data": [
          {}
        ]
      },
      "rentable_type_amenities": {
        "data": [
          {}
        ]
      },
      "optional_amenities": {
        "data": [
          {}
        ]
      },
      "attachments": {
        "data": [
          {}
        ]
      },
      "accommodation_type": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "category_amenities": {
        "data": [
          {}
        ]
      }
    },
    "meta": {
      "temp_id": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK CategoryResponse Inline
429 Too Many Requests Error Inline
default Default Error Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
— data [Category](#schemacategory) false none none
—— id string false none ID
—— type string false none Type
—— attributes object false none Attributes
——— name object false none none
———— nl string false none none
———— nl-BE string false none none
———— en string false none none
———— de string false none none
———— de-AT string false none none
———— de-CH string false none none
———— fr string false none none
———— fr-BE string false none none
———— fr-LU string false none none
———— da string false none none
———— cs string false none none
———— es string false none none
———— tr string false none none
———— pt string false none none
———— it string false none none
———— pl string false none none
———— nb string false none none
——— description object false none none
———— nl string false none none
———— nl-BE string false none none
———— en string false none none
———— de string false none none
———— de-AT string false none none
———— de-CH string false none none
———— fr string false none none
———— fr-BE string false none none
———— fr-LU string false none none
———— da string false none none
———— cs string false none none
———— es string false none none
———— tr string false none none
———— pt string false none none
———— it string false none none
———— pl string false none none
———— nb string false none none
——— short_description object false none none
———— nl string false none none
———— nl-BE string false none none
———— en string false none none
———— de string false none none
———— de-AT string false none none
———— de-CH string false none none
———— fr string false none none
———— fr-BE string false none none
———— fr-LU string false none none
———— da string false none none
———— cs string false none none
———— es string false none none
———— tr string false none none
———— pt string false none none
———— it string false none none
———— pl string false none none
———— nb string false none none
——— usps object false none Translated unique selling points
———— nl [string] false none none
———— nl-BE [string] false none none
———— en [string] false none none
———— de [string] false none none
———— de-AT [string] false none none
———— de-CH [string] false none none
———— fr [string] false none none
———— fr-BE [string] false none none
———— fr-LU [string] false none none
———— da [string] false none none
———— cs [string] false none none
———— es [string] false none none
———— tr [string] false none none
———— pt [string] false none none
———— it [string] false none none
———— pl [string] false none none
———— nb [string] false none none
——— highlighted boolean false none Whether this type should be highlighted on the website
——— reference string false none none
——— minimum_number_of_nights integer false none none
——— maximum_number_of_nights integer false none none
——— number_of_bedrooms integer false none none
——— number_of_beds integer false none none
——— number_of_showers integer false none none
——— number_of_toilets integer false none none
——— number_of_bathrooms integer false none none
——— number_of_parking_spots integer false none none
——— number_of_child_beds integer false none none
——— number_of_child_chairs integer false none none
——— surface_area integer false none The surface area for this type in square meters
——— summer_video_id string false none none
——— winter_video_id string false none none
——— whole_year_video_id string false none none
——— master_price_list_price_factor number(float) false none The prices in the price list are multiplied by this value. For example, if the factor is 1.1, 10% is added to the prices. Values below 1.0 are also possible.
——— master_price_list_fixed_rate number(float) false none This rate is added to (or subtracted from if negative) the prices of the price list. The value is per night, so a midweek price for monday to friday, gets this value added times four.
——— same_day_bookings_allowed boolean false none none
——— same_day_booking_closing_time string(time) false none none
——— address string false none none
——— postal_code string false none none
——— latitude number(float) false none none
——— longitude number(float) false none none
——— checkin_times_for_week [string] false none none
——— checkout_times_for_week [string] false none none
——— energy_label string false read-only Yields the lowest energy label of all objects (if any have been set)
——— virtual boolean false read-only A rentable type is virtual when it groups accommodations in order for them to be rented as if it was one accommodation. This is the case for grouped rentable types and clusters.
——— archived boolean false read-only none
——— max_number_of_people integer false read-only none
——— max_number_of_seniors integer false read-only none
——— max_number_of_adults integer false read-only none
——— max_number_of_adolescents integer false read-only none
——— max_number_of_children integer false read-only none
——— max_number_of_babies integer false read-only none
——— max_number_of_pets integer false read-only none
——— prices_updated_at string(date-time) false read-only Timestamp when the prices of this type were last updated
——— prices_indexed_at string(date-time) false read-only Timestamp when the prices of this type were last indexed for availability search
——— stock_updated_at string(date-time) false read-only Timestamp when the stock of this type was last updated
——— stock_indexed_at string(date-time) false read-only Timestamp when the stock of this type was last indexed for availability search
——— costs_updated_at string(date-time) false read-only Timestamp when the costs of this type were last updated
——— extras_updated_at string(date-time) false read-only Timestamp when the extras of this type were last updated
——— bookable_discounts_changed_at string(date-time) false read-only Timestamp when the bookable discounts of this type were last updated
——— agreements_changed_at string(date-time) false read-only Timestamp when the agreements of this type were last updated
——— max_baby_age integer false read-only none
——— max_child_age integer false read-only none
——— max_adolescent_age integer false read-only none
——— min_senior_age integer false read-only none
——— pets_allowed string false read-only Whether pets are allowed on all, some or none of the accommodations of this type
——— host_image_url string false read-only none
——— last_date_with_price string(date) false read-only none
——— city object false read-only none
———— nl string false none none
———— nl-BE string false none none
———— en string false none none
———— de string false none none
———— de-AT string false none none
———— de-CH string false none none
———— fr string false none none
———— fr-BE string false none none
———— fr-LU string false none none
———— da string false none none
———— cs string false none none
———— es string false none none
———— tr string false none none
———— pt string false none none
———— it string false none none
———— pl string false none none
———— nb string false none none
——— region object false read-only none
———— nl string false none none
———— nl-BE string false none none
———— en string false none none
———— de string false none none
———— de-AT string false none none
———— de-CH string false none none
———— fr string false none none
———— fr-BE string false none none
———— fr-LU string false none none
———— da string false none none
———— cs string false none none
———— es string false none none
———— tr string false none none
———— pt string false none none
———— it string false none none
———— pl string false none none
———— nb string false none none
——— country_code string false read-only none
——— location_is_exact boolean false read-only none
——— has_current_or_future_owner_that_should_check_reservations boolean false read-only none
——— created_at string(date-time) false read-only none
——— updated_at string(date-time) false read-only none
——— rentable_type string false read-only DEPRECATED use RentableSegment#semantic_segment instead
—— links object false none Links
——— parkcms_url string false none Link to parkcms_url
—— relationships object false none Relationships
——— city object false none none
———— data object false none none
————— id string false none city ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— terms object false none none
———— data object false none none
————— id string false none terms ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— rentable_segment object false none none
———— data object false none none
————— id string false none rentable_segment ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— master_price_list object false none none
———— data object false none none
————— id string false none master_price_list ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— guest_group_limits object false none none
———— data [object] false none none
————— id string false none guest_group_limits ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— administration object false none none
———— data object false read-only none
————— id string false none administration ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— rent_earned_ledger_account object false none none
———— data object false read-only none
————— id string false none rent_earned_ledger_account ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— images object false none none
———— data [object] false read-only none
————— id string false none images ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— rooms object false none none
———— data [object] false read-only none
————— id string false none rooms ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— rentable_type_amenities object false none none
———— data [object] false read-only none
————— id string false none rentable_type_amenities ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— optional_amenities object false none none
———— data [object] false read-only none
————— id string false none optional_amenities ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— attachments object false none none
———— data [object] false read-only none
————— id string false none attachments ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— accommodation_type object false none DEPRECATED use rentable_segment instead
———— data object false read-only none
————— id string false none accommodation_type ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
——— category_amenities object false none none
———— data [object] false read-only none
————— id string false none category_amenities ID
————— type string false none none
————— meta object false none none
—————— temp_id string false none UUID for internal resource linking of included relationships. Should be omitted when the relationship ID is known.
—————— method string false none Required when this relationship must be created or updated and is included in the request. Must be omitted when only an association needs to be made with the resource. One of: create, update.
—— meta object false none Metadata
——— temp_id string false none UUID for internal resource linking. Should be omitted when the relationship ID is known.

Enumerated Values

Property Value
energy_label A++++
energy_label A+++
energy_label A++
energy_label A+
energy_label A
energy_label B
energy_label C
energy_label D
energy_label E
energy_label F
energy_label G
energy_label H
pets_allowed all
pets_allowed some
pets_allowed none

Status Code 429

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

Status Code default

Name Type Required Restrictions Description
— errors [object] false none none
—— status string false none HTTP response code
—— code string false none Internal error code
—— title string false none Error title
—— detail string false none Error details
—— source object false none none
——— pointer string false none Pointer to error in resource

GET category

DEPRECATED

Code samples

curl --request GET \
  --url https://api.bookingexperts.nl/v3/administrations/1/categories/string \
  --header 'Accept: application/vnd.api+json' \
  --header 'Accept-Language: en,nl' \
  --header 'X-API-KEY: API_KEY'
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.bookingexperts.nl/v3/administrations/1/categories/string")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/vnd.api+json'
request["Accept-Language"] = 'en,nl'
request["X-API-KEY"] = 'API_KEY'

response = http.request(request)
puts response.read_body
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.bookingexperts.nl/v3/administrations/1/categories/string",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Accept: application/vnd.api+json",
    "Accept-Language: en,nl",
    "X-API-KEY: API_KEY"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.bookingexperts.nl/v3/administrations/1/categories/string");
xhr.setRequestHeader("Accept", "application/vnd.api+json");
xhr.setRequestHeader("Accept-Language", "en,nl");
xhr.setRequestHeader("X-API-KEY", "API_KEY");

xhr.send(data);

GET /v3/administrations/{administration_id}/categories/{id}

Deprecated, see rentable_types

Parameters

Name In Type Required Example Description
administration_id path string true 1 Administration ID
id path string true string Resource ID
fields[category] query string false field1,field2 Fieldset. Specify a comma separated list of attributes to return
filter[id] query string false 1 Filter on ID
filter[name] query string false name Filter on name
filter[description] query string false description Filter on description
filter[short_description] query string false short_description Filter on short_description
filter[usps] query string false usps Filter on usps
filter[highlighted] query string false highlighted Filter on highlighted
filter[reference] query string false reference Filter on reference
filter[minimum_number_of_nights] query string false minimum_number_of_nights Filter on minimum_number_of_nights
filter[maximum_number_of_nights] query string false maximum_number_of_nights Filter on maximum_number_of_nights
filter[number_of_bedrooms] query string false number_of_bedrooms Filter on number_of_bedrooms
filter[number_of_beds] query string false number_of_beds Filter on number_of_beds
filter[number_of_showers] query string false number_of_showers Filter on number_of_showers
filter[number_of_toilets] query string false number_of_toilets Filter on number_of_toilets
filter[number_of_bathrooms] query string false number_of_bathrooms Filter on number_of_bathrooms
filter[number_of_parking_spots] query string false number_of_parking_spots Filter on number_of_parking_spots
filter[number_of_child_beds] query string false number_of_child_beds Filter on number_of_child_beds
filter[number_of_child_chairs] query string false number_of_child_chairs Filter on number_of_child_chairs
filter[surface_area] query string false surface_area Filter on surface_area
filter[summer_video_id] query string false summer_video_id Filter on summer_video_id
filter[winter_video_id] query string false winter_video_id Filter on winter_video_id
filter[whole_year_video_id] query string false whole_year_video_id Filter on whole_year_video_id
filter[master_price_list_price_factor] query string false master_price_list_price_factor Filter on master_price_list_price_factor
filter[master_price_list_fixed_rate] query string false master_price_list_fixed_rate Filter on master_price_list_fixed_rate
filter[same_day_bookings_allowed] query string false same_day_bookings_allowed Filter on same_day_bookings_allowed
filter[archived] query string false archived Filter on archived
filter[max_number_of_people] query string false max_number_of_people Filter on max_number_of_people
filter[prices_updated_at] query string false prices_updated_at Filter on prices_updated_at
filter[prices_indexed_at] query string false prices_indexed_at Filter on prices_indexed_at
filter[stock_updated_at] query string false stock_updated_at Filter on stock_updated_at
filter[stock_indexed_at] query string false stock_indexed_at Filter on stock_indexed_at
filter[costs_updated_at] query string false costs_updated_at Filter on costs_updated_at
filter[extras_updated_at] query string false extras_updated_at Filter on extras_updated_at
filter[bookable_discounts_changed_at] query string false bookable_discounts_changed_at Filter on bookable_discounts_changed_at
filter[agreements_changed_at] query string false agreements_changed_at Filter on agreements_changed_at
filter[last_date_with_price] query string false last_date_with_price Filter on last_date_with_price
filter[city] query string false 1,2 Filter on city. Specify a comma separated list of IDs to filter on.
filter[region] query string false region Filter on region
filter[created_at] query string false created_at Filter on created_at
filter[updated_at] query string false updated_at Filter on updated_at
filter[terms] query string false 1,2 Filter on terms. Specify a comma separated list of IDs to filter on.
filter[rentable_segment] query string false 1,2 Filter on rentable_segment. Specify a comma separated list of IDs to filter on.
filter[master_price_list] query string false 1,2 Filter on master_price_list. Specify a comma separated list of IDs to filter on.
filter[guest_group_limits] query string false 1,2 Filter on guest_group_limits. Specify a comma separated list of IDs to filter on.
filter[administration] query string false 1,2 Filter on administration. Specify a comma separated list of IDs to filter on.
filter[rent_earned_ledger_account] query string false 1,2 Filter on rent_earned_ledger_account. Specify a comma separated list of IDs to filter on.
filter[images] query string false 1,2 Filter on images. Specify a comma separated list of IDs to filter on.
filter[rooms] query string false 1,2 Filter on rooms. Specify a comma separated list of IDs to filter on.
filter[rentable_type_amenities] query string false 1,2 Filter on rentable_type_amenities. Specify a comma separated list of IDs to filter on.
filter[accommodation_type] query string false 1,2 Filter on accommodation_type. Specify a comma separated list of IDs to filter on.
filter[category_amenities] query string false 1,2 Filter on category_amenities. Specify a comma separated list of IDs to filter on.
include query string false relationship1,relationship2 Includes list. Specify a comma separated list of resources to include.
Accept-Language header string false en,nl Supported languages. A comma separated list with one or more of the following locales: nl, nl-BE, en, de, de-AT, de-CH, fr, fr-BE, fr-LU, da, cs, es, tr, pt, it, pl, nb. Default: 'en'.

Example responses

200 Response

{
  "data": {
    "id": "1",
    "type": "category",
    "attributes": {
      "name": {
        "nl": "string",
        "nl-BE": "string",
        "en": "string",
        "de": "string",
        "de-AT": "string",
        "de-CH": "string",
        "fr": "string",
        "fr-BE": "string",
        "fr-LU": "string",
        "da": "string",
        "cs": "string",
        "es": "string",
        "tr": "string",
        "pt": "string",
        "it": "string",
        "pl": "string",
        "nb": "string"
      },
      "description": {
        "nl": "string",
        "nl-BE": "string",
        "en": "string",
        "de": "string",
        "de-AT": "string",
        "de-CH": "string",
        "fr": "string",
        "fr-BE": "string",
        "fr-LU": "string",
        "da": "string",
        "cs": "string",
        "es": "string",
        "tr": "string",
        "pt": "string",
        "it": "string",
        "pl": "string",
        "nb": "string"
      },
      "short_description": {
        "nl": "string",
        "nl-BE": "string",
        "en": "string",
        "de": "string",
        "de-AT": "string",
        "de-CH": "string",
        "fr": "string",
        "fr-BE": "string",
        "fr-LU": "string",
        "da": "string",
        "cs": "string",
        "es": "string",
        "tr": "string",
        "pt": "string",
        "it": "string",
        "pl": "string",
        "nb": "string"
      },
      "usps": {
        "nl": [
          "string"
        ],
        "nl-BE": [
          "string"
        ],
        "en": [
          "string"
        ],
        "de": [
          "string"
        ],
        "de-AT": [
          "string"
        ],
        "de-CH": [
          "string"
        ],
        "fr": [
          "string"
        ],
        "fr-BE": [
          "string"
        ],
        "fr-LU": [
          "string"
        ],
        "da": [
          "string"
        ],
        "cs": [
          "string"
        ],
        "es": [
          "string"
        ],
        "tr": [
          "string"
        ],
        "pt": [
          "string"
        ],
        "it": [
          "string"
        ],
        "pl": [
          "string"
        ],
        "nb": [
          "string"
        ]
      },
      "highlighted": true,
      "reference": "string",
      "minimum_number_of_nights": 0,
      "maximum_number_of_nights": 0,
      "number_of_bedrooms": 0,
      "number_of_beds": 0,
      "number_of_showers": 0,
      "number_of_toilets": 0,
      "number_of_bathrooms": 0,
      "number_of_parking_spots": 0,
      "number_of_child_beds": 0,
      "number_of_child_chairs": 0,
      "surface_area": 0,
      "summer_video_id": "string",
      "winter_video_id": "string",
      "whole_year_video_id": "string",
      "master_price_list_price_factor": 0,
      "master_price_list_fixed_rate": 0,
      "same_day_bookings_allowed": true,
      "same_day_booking_closing_time": "14:15:22Z",
      "address": "string",
      "postal_code": "string",
      "latitude": 0,
      "longitude": 0,
      "checkin_times_for_week": [
        "string"
      ],
      "checkout_times_for_week": [
        "string"
      ],
      "energy_label": "A++++",
      "virtual": true,
      "archived": true,
      "max_number_of_people": 0,
      "max_number_of_seniors": 0,
      "max_number_of_adults": 0,
      "max_number_of_adolescents": 0,
      "max_number_of_children": 0,
      "max_number_of_babies": 0,
      "max_number_of_pets": 0,
      "prices_updated_at": "2019-08-24T14:15:22Z",
      "prices_indexed_at": "2019-08-24T14:15:22Z",
      "stock_updated_at": "2019-08-24T14:15:22Z",
      "stock_indexed_at": "2019-08-24T14:15:22Z",
      "costs_updated_at": "2019-08-24T14:15:22Z",
      "extras_updated_at": "2019-08-24T14:15:22Z",
      "bookable_discounts_changed_at": "2019-08-24T14:15:22Z",
      "agreements_changed_at": "2019-08-24T14:15:22Z",
      "max_baby_age": 0,
      "max_child_age": 0,
      "max_adolescent_age": 0,
      "min_senior_age": 0,
      "pets_allowed": "all",
      "host_image_url": "string",
      "last_date_with_price": "2019-08-24",
      "city": {
        "nl": "string",
        "nl-BE": "string",
        "en": "string",
        "de": "string",
        "de-AT": "string",
        "de-CH": "string",
        "fr": "string",
        "fr-BE": "string",
        "fr-LU": "string",
        "da": "string",
        "cs": "string",
        "es": "string",
        "tr": "string",
        "pt": "string",
        "it": "string",
        "pl": "string",
        "nb": "string"
      },
      "region": {
        "nl": "string",
        "nl-BE": "string",
        "en": "string",
        "de": "string",
        "de-AT": "string",
        "de-CH": "string",
        "fr": "string",
        "fr-BE": "string",
        "fr-LU": "string",
        "da": "string",
        "cs": "string",
        "es": "string",
        "tr": "string",
        "pt": "string",
        "it": "string",
        "pl": "string",
        "nb": "string"
      },
      "country_code": "string",
      "location_is_exact": true,
      "has_current_or_future_owner_that_should_check_reservations": true,
      "created_at": "2019-08-24T14:15:22Z",
      "updated_at": "2019-08-24T14:15:22Z",
      "rentable_type": "string"
    },
    "links": {
      "parkcms_url": "string"
    },
    "relationships": {
      "city": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "terms": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "rentable_segment": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "master_price_list": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "guest_group_limits": {
        "data": [
          {}
        ]
      },
      "administration": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "rent_earned_ledger_account": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "images": {
        "data": [
          {}
        ]
      },
      "rooms": {
        "data": [
          {}
        ]
      },
      "rentable_type_amenities": {
        "data": [
          {}
        ]
      },
      "optional_amenities": {
        "data": [
          {}
        ]
      },
      "attachments": {
        "data": [
          {}
        ]
      },
      "accommodation_type": {
        "data": {
          "id": null,
          "type": null,
          "meta": null
        }
      },
      "category_amenities": {
        "data": [
          {}
        ]
      }
    },
    "meta": {
      "temp_id": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK CategoryResponse Inline
429 Too Many Requests Error Inline
default Default Error Inline

Response Schema

Status Code 200

Name Type Required Restrictions Description
— data [Category](#schemacategory) false none none
—— id string false none ID
—— type string false none Type
—— attributes object false none Attributes
——— name object false none none
———— nl string false none none
———— nl-BE string false none none
———— en string false none none
———— de string false none none
———— de-AT string false none none
———— de-CH string false none none
———— fr string false none none
———— fr-BE string false none none
———— fr-LU string false none none
———— da string false none none
———— cs string false none none
———— es string false none none
———— tr string false none none
———— pt string false none none
———— it string false none none
———— pl string false none none
———— nb string false none none
——— description object false none none
———— nl string false none none
———— nl-BE string false none none
———— en string false none none
———— de string false none none
———— de-AT string false none none
———— de-CH string false none none
———— fr string false none none
———— fr-BE string false none none
———— fr-LU string false none none
———— da string false none none
———— cs string false none none
———— es string false none none
———— tr string false none none
———— pt string false none none
———— it string false none none
———— pl string false none none
———— nb string false none none
——— short_description object false none none
———— nl string false none none
———— nl-BE string false none none
———— en string false none none
———— de string false none none
———— de-AT string false none none
———— de-CH string false none none
———— fr string false none none
———— fr-BE string false none none
———— fr-LU string false none none
———— da string false none none
———— cs string false none none
———— es string false none none
———— tr string false none none
———— pt string false none none
———— it string false none none
———— pl string false none none
———— nb string false none none
——— usps object false none Translated unique selling points
———— nl [string] false none