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.
APPLICATION_HALTED
: Your app is halted and you cannot perform any requests anymoreCONFLICT
: A conflict error occurred during mutationFORBIDDEN_INCLUDE
: An include was specified for which you don't have any permissionFORBIDDEN_INPUT
: Invalid input was specified. See the error message for more detailsINTERNAL_SERVER_ERROR
: An error occurred on our side. We are notified automatically of this.INVALID_ATTRIBUTE
: The attribute value specified is invalidINVALID_FIELDSET
: The fieldset specified is incorrectINVALID_FILTER
: The filter specified is incorrectINVALID_INCLUDE
: The include specified is incorrectINVALID_PAGINATION
: Incorrect pagination parametersINVALID_RELATIONSHIP
: The relationship specified is invalidINVALID_SORTING
: The sorting parameters specified is incorrectINVALID_TOKEN
: The token is invalid er revokedNO_ADMINISTRATION_ACCESS
: You don't have access to the given administrationNO_CHANNEL_ACCESS
: You don't have access to the given channelNO_VALID_SCOPE
: No valid scope was found for the called endpointRATE_LIMITED
: Your request was rate limitedRESOURCE_NOT_FOUND
: The requested resource could not be foundSUBSCRIPTION_CANCELLED
: The current subscription subscription is cancelledUNKNOWN_ATTRIBUTE
: An unknown attribute was specifiedUNKNOWN_FORMAT
: The response format requested is unknownUNKNOWN_RELATIONSHIP
: An unknown relationship was specifiedUNKNOWN_VERSION
: The resource could not be serialized for the given serializer versionUNSUPPORTED_MEDIA_TYPE
: The media type specified is not supported
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
}
- No matter which implementation you use, the hash signature starts with sha256=, using the key of your Client Secret and your payload body.
- Using a plain == operator is not advised. A method like secure_compare performs a "constant time" string comparison, which renders it safe from certain timing attacks against regular equality operators.
- Note that this approach has been taken from the Github webhook docs. There might be more examples on the web for this solution that can be used as inspiration.
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:
filter[attr]=term
: attr = 'term'filter[attr]=~term
: attr ILIKE '%term%'filter[attr]=term,term
: attr IN ('term', 'term')filter[attr]=a..b
: attr1 BETWEEN 'a' AND 'b'
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:
filter[attr1|attr2]=term
: attr1 = 'term' OR attr2 = 'term'filter[attr1|attr2]=~term
: attr1 ILIKE '%term%' OR attr2 ILIKE '%term%'filter[attr1|attr2]=term,term
: attr1 IN ('term', 'term') OR attr2 IN ('term', 'term')filter[attr1|attr2]=a..b
: attr1 BETWEEN 'a' AND 'b' OR attr2 BETWEEN 'a' AND 'b'
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):
availability|read
reservation|read
category|read
payment|write
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:
channel::reservation|read
channel::order|read
channel::customer|read
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 |
todo_image | delete |
todo_image | write |
todo_list | read |
todo | delete |
todo | read |
todo | write |
user | read |
vat_code | read |
vat_tariff | read |
Administration Amenities
GET 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 amenities of the administration
Parameters
Name | In | Type | Required | Example | Description |
---|---|---|---|---|---|
administration_id | path | string | true | 1 | Administration ID |
page[number] | query | string | false | string | Page number |
page[size] | query | string | false | string | Page size |
sort | query | string | false | string | 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 | string | Fieldset. Specify a comma separated list of attributes to return |
filter[id] | query | string | false | string | Filter on ID |
filter[value] | query | string | false | string | Filter on value |
filter[administration] | query | string | false | string | Filter on administration. Specify a comma separated list of IDs to filter on. |
filter[amenity] | query | string | false | string | Filter on amenity. Specify a comma separated list of IDs to filter on. |
include | query | string | false | string | 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": "amenity",
"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"
},
"type": "Amenity",
"position": 0,
"semantic_amenity_type": "string"
},
"relationships": {
"amenity_group": {
"data": {}
},
"amenity_options": {
"data": [
null
]
}
},
"meta": {
"temp_id": "string"
}
}
],
"meta": {
"pagination": {
"total_records": 0,
"page": 0,
"size": 0
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | AmenityCollectionResponse | Inline |
default | Default | Error | Inline |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
— data | [[Amenity](#schemaamenity)] | false | none | [Amenities are for external and internal use. They can be used to signify amenities of a RentableType or Rentable that are important to the guest. For example: * With sauna * Free wi-fi An Amenity can optionally be numerical or multiple choice. When an Amenity is numerical, the values of linked amenities (RentableTypeAmenity, RentableAmenity, ReservationAmenity and RoomAmenity) denote the numerical value belonging to the amenity. When an Amenity is multiple choice, the values of linked amenities denote the ID of the AmenityOption that applies. ] |
—— id | string | false | none | ID |
—— type | string | false | none | Type |
—— attributes | object | false | none | Attributes |
——— name | object | false | none | Name of the amenity |
———— 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 |
——— type | string | false | none | Type of the amenity |
——— position | integer | false | none | none |
——— semantic_amenity_type | string | false | none | none |
—— relationships | object | false | none | Relationships |
——— amenity_group | object | false | none | none |
———— data | object | false | none | none |
————— id | string | false | none | amenity_group 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_options | object | false | none | none |
———— data | [object] | false | none | none |
————— id | string | false | none | amenity_options 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 | Amenity |
type | Amenities::NumericalAmenity |
type | Amenities::MultipleChoiceAmenity |
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 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 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 | string | Fieldset. Specify a comma separated list of attributes to return |
filter[id] | query | string | false | string | Filter on ID |
filter[value] | query | string | false | string | Filter on value |
filter[administration] | query | string | false | string | Filter on administration. Specify a comma separated list of IDs to filter on. |
filter[amenity] | query | string | false | string | Filter on amenity. Specify a comma separated list of IDs to filter on. |
include | query | string | false | string | 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": "amenity",
"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"
},
"type": "Amenity",
"position": 0,
"semantic_amenity_type": "string"
},
"relationships": {
"amenity_group": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"amenity_options": {
"data": [
{}
]
}
},
"meta": {
"temp_id": "string"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | AmenityResponse | Inline |
default | Default | Error | Inline |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
— data | [Amenity](#schemaamenity) | false | none | Amenities are for external and internal use. They can be used to signify amenities of a RentableType or Rentable that are important to the guest. For example: * With sauna * Free wi-fi An Amenity can optionally be numerical or multiple choice. When an Amenity is numerical, the values of linked amenities (RentableTypeAmenity, RentableAmenity, ReservationAmenity and RoomAmenity) denote the numerical value belonging to the amenity. When an Amenity is multiple choice, the values of linked amenities denote the ID of the AmenityOption that applies. |
—— id | string | false | none | ID |
—— type | string | false | none | Type |
—— attributes | object | false | none | Attributes |
——— name | object | false | none | Name of the amenity |
———— 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 |
——— type | string | false | none | Type of the amenity |
——— position | integer | false | none | none |
——— semantic_amenity_type | string | false | none | none |
—— relationships | object | false | none | Relationships |
——— amenity_group | object | false | none | none |
———— data | object | false | none | none |
————— id | string | false | none | amenity_group 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_options | object | false | none | none |
———— data | [object] | false | none | none |
————— id | string | false | none | amenity_options 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 | Amenity |
type | Amenities::NumericalAmenity |
type | Amenities::MultipleChoiceAmenity |
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 Channels
Manage channels of an administration
GET channels
Code samples
curl --request GET \
--url https://api.bookingexperts.nl/v3/administrations/1/channels \
--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/channels")
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/channels",
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/channels");
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}/channels
Returns channels of the administration
Parameters
Name | In | Type | Required | Example | Description |
---|---|---|---|---|---|
administration_id | path | string | true | 1 | Administration ID |
page[number] | query | string | false | string | Page number |
page[size] | query | string | false | string | Page size |
sort | query | string | false | string | Sort. Specify a comma separated list of attributes to sort on. Prefix attribute with a \- to sort in descending order |
fields[channel] | query | string | false | string | Fieldset. Specify a comma separated list of attributes to return |
filter[id] | query | string | false | string | Filter on ID |
filter[name] | query | string | false | string | Filter on name |
filter[email] | query | string | false | string | Filter on email |
filter[kind] | query | string | false | string | Filter on kind |
filter[requires_night_prices] | query | string | false | string | Filter on requires_night_prices |
filter[rent_invoiced_to] | query | string | false | string | Filter on rent_invoiced_to |
filter[costs_invoiced_to] | query | string | false | string | Filter on costs_invoiced_to |
filter[use_costs_invoiced_to] | query | string | false | string | Filter on use_costs_invoiced_to |
filter[supports_group_details] | query | string | false | string | Filter on supports_group_details |
filter[confirm_reservations] | query | string | false | string | Filter on confirm_reservations |
filter[confirm_by_email] | query | string | false | string | Filter on confirm_by_email |
filter[customer_invoice_payable_on_park] | query | string | false | string | Filter on customer_invoice_payable_on_park |
filter[archived] | query | string | false | string | Filter on archived |
filter[temporary_booking_validity_in_hours] | query | string | false | string | Filter on temporary_booking_validity_in_hours |
filter[created_at] | query | string | false | string | Filter on created_at |
filter[updated_at] | query | string | false | string | Filter on updated_at |
filter[administration] | query | string | false | string | Filter on administration. Specify a comma separated list of IDs to filter on. |
filter[application] | query | string | false | string | Filter on application. Specify a comma separated list of IDs to filter on. |
filter[guest_payment_policy] | query | string | false | string | Filter on guest_payment_policy. Specify a comma separated list of IDs to filter on. |
filter[channel_payment_policy] | query | string | false | string | Filter on channel_payment_policy. Specify a comma separated list of IDs to filter on. |
filter[excluded_costs] | query | string | false | string | Filter on excluded_costs. Specify a comma separated list of IDs to filter on. |
include | query | string | false | string | 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 channels are included in the response |
Example responses
200 Response
{
"data": [
{
"id": "1",
"type": "channel",
"attributes": {
"name": "Tours Inc.",
"email": "info@tours.inc",
"kind": "reseller",
"available_currencies": [
"EUR",
"USD"
],
"pricing_type": "string",
"requires_night_prices": false,
"archivable": false,
"front_office": false,
"synchronizes_costs": false,
"allows_costs_with_multiple_price_periods": true,
"allows_costs_with_negative_amounts": true,
"allows_deposit_costs_that_are_not_fixed_or_per_piece_or_percentual": true,
"allow_confirmation_without_payment": false,
"determines_price": false,
"skip_price_deviation_check": false,
"rent_invoiced_to": "guest",
"costs_invoiced_to": "guest",
"use_costs_invoiced_to": true,
"behave_as_own_site": false,
"supports_group_details": false,
"confirm_reservations": true,
"confirm_by_email": false,
"customer_invoice_payable_on_park": false,
"fixed_attributes": [
"kind",
"requires_night_prices"
],
"can_be_set_as_default_channel": false,
"requires_cancellation_originator": false,
"requires_restitution_after_cancellation": false,
"requires_confirmation_or_cancellation_within_24_hours": false,
"uses_remote_reservation_key": false,
"archived": true,
"debtor_code": "string",
"temporary_booking_validity_in_hours": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
},
"relationships": {
"administration": {
"data": {}
},
"application": {
"data": {}
},
"guest_payment_policy": {
"data": {}
},
"channel_payment_policy": {
"data": {}
},
"excluded_costs": {
"data": [
null
]
}
},
"meta": {
"temp_id": "string"
}
}
],
"meta": {
"pagination": {
"total_records": 0,
"page": 0,
"size": 0
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ChannelCollectionResponse | Inline |
default | Default | Error | Inline |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
— data | [[Channel](#schemachannel)] | false | none | [Every Reservation originates from a channel. This can be a tour operator, the backoffice, the website and so on. Administrations can customize the following aspects for each Channel: * Extras * Costs * Availability * Rent prices * Invoicing ] |
—— id | string | false | none | ID |
—— type | string | false | none | Type |
—— attributes | object | false | none | Attributes |
——— name | string | false | none | Name of the channel. This name is also shown in the back-office. |
string | false | none | Contact email address of the channel. This email address is also shown in the back-office. | |
——— kind | string | false | none | Channel kind. |
——— available_currencies | [string] | false | none | Lists the currencies that are available for this channel. One or more of: EUR, USD, CHF, CZK, TRY, CVE, ANG, GBP, NOK. |
——— pricing_type | string | false | none | Type of pricing that applies to this channel. One of: night_prices, complex_prices. Is replaced by requires_night_prices. |
——— requires_night_prices | boolean | false | none | Whether this channel can only handle night prices. |
——— archivable | boolean | false | none | Whether the channel can be archived or not. |
——— front_office | boolean | false | none | Whether reservations made through this channel should be listed as front office reservations on the planboard or not. |
——— synchronizes_costs | boolean | false | none | Whether the channel synchronizes costs or not. |
——— allows_costs_with_multiple_price_periods | boolean | false | none | Whether the channel allows costs with negative prices or percentages. Ignored when synchronizes_costs is false. |
——— allows_costs_with_negative_amounts | boolean | false | none | Whether the channel allows costs with negative prices or percentages. Ignored when synchronizes_costs is false. |
——— allows_deposit_costs_that_are_not_fixed_or_per_piece_or_percentual | boolean | false | none | Whether the channel allows deposit costs that are not fixed, per piece or percentual. Ignored when synchronizes_costs is false. |
——— allow_confirmation_without_payment | boolean | false | none | Whether the channel allows confirmation without direct payment. |
——— determines_price | boolean | false | none | Whether the channel determines the price or not. |
——— skip_price_deviation_check | boolean | false | none | Whether price deviation checks must be performed. By default, when the passed price for a booking deviates more than 5% from the expected booking price, we notify the administration of this. |
——— rent_invoiced_to | string | false | none | Whether the channel invoices rent to the guest or the channel. |
——— costs_invoiced_to | string | false | none | Whether the channel invoices costs to the guest or the channel. |
——— use_costs_invoiced_to | boolean | false | none | Whether the channel should use the costs_invoiced_to setting to determine invoicing or not. Setting this to false allows overriding the invoicing for individual costs. |
——— behave_as_own_site | boolean | false | none | Whether the channel behaves as the own site channel or not. Must be false when kind is set to tour_operator. |
——— supports_group_details | boolean | false | none | Whether the channel supports specifying detailed group compositions. |
——— confirm_reservations | boolean | false | none | Whether the channel automatically confirms reservations or not |
——— confirm_by_email | boolean | false | none | Whether the channel sends the channel invoice to the specified email or not |
——— customer_invoice_payable_on_park | boolean | false | none | Whether the guest invoice can be paid on arrival or not |
——— fixed_attributes | [string] | false | none | Lists the attributes of the channel that cannot be freely edited in the back-office. One or more of: name, requires_night_prices, kind, rent_invoiced_to, costs_invoiced_to, use_costs_invoiced_to, confirm_reservations, confirm_by_email, customer_invoice_payable_on_park, available_currencies, email. |
——— can_be_set_as_default_channel | boolean | false | none | Whether the channel can be set as the default channel for new back office reservations etc. or not. Can only be specified on creation. |
——— requires_cancellation_originator | boolean | false | none | Whether the channel requires the originator of reservation cancellations to be known or not. Can only be specified on creation. |
——— requires_restitution_after_cancellation | boolean | false | none | Whether the channel requires mandatory restitution after a reservation cancellation or not. Can only be specified on creation. |
——— requires_confirmation_or_cancellation_within_24_hours | boolean | false | none | Whether the channel requires confirmation or cancellation of a reservation within 24 hours after creation of the reservation. " \ "Can only be specified on creation. |
——— uses_remote_reservation_key | boolean | false | none | Whether the channel uses a remote reservation key or not. Can only be specified on creation. |
——— archived | boolean | false | read-only | Whether this channel has been archived or not. |
——— debtor_code | string | false | read-only | A system wide unique identifier for this debtor |
——— temporary_booking_validity_in_hours | string | false | read-only | Time in hours after which unconfirmed reservations are cancelled. |
——— created_at | string(date-time) | false | read-only | none |
——— updated_at | string(date-time) | false | read-only | 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. |
——— application | object | false | none | none |
———— data | object | false | none | none |
————— id | string | false | none | application 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_payment_policy | object | false | none | none |
———— data | object | false | none | none |
————— id | string | false | none | guest_payment_policy 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_payment_policy | object | false | none | none |
———— data | object | false | none | none |
————— id | string | false | none | channel_payment_policy 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. |
——— excluded_costs | object | false | none | none |
———— data | [object] | false | none | none |
————— id | string | false | none | excluded_costs 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 |
---|---|
kind | reseller |
kind | tour_operator |
rent_invoiced_to | guest |
rent_invoiced_to | channel |
costs_invoiced_to | guest |
costs_invoiced_to | channel |
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 channel
Code samples
curl --request POST \
--url https://api.bookingexperts.nl/v3/administrations/1/channels \
--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":"channel","attributes":{"name":"Tours Inc.","email":"info@tours.inc","kind":"reseller","available_currencies":["EUR","USD"],"pricing_type":"string","requires_night_prices":false,"archivable":false,"front_office":false,"synchronizes_costs":false,"allows_costs_with_multiple_price_periods":true,"allows_costs_with_negative_amounts":true,"allows_deposit_costs_that_are_not_fixed_or_per_piece_or_percentual":true,"allow_confirmation_without_payment":false,"determines_price":false,"skip_price_deviation_check":false,"rent_invoiced_to":"guest","costs_invoiced_to":"guest","use_costs_invoiced_to":true,"behave_as_own_site":false,"supports_group_details":false,"confirm_reservations":true,"confirm_by_email":false,"customer_invoice_payable_on_park":false,"fixed_attributes":["kind","requires_night_prices"],"can_be_set_as_default_channel":false,"requires_cancellation_originator":false,"requires_restitution_after_cancellation":false,"requires_confirmation_or_cancellation_within_24_hours":false,"uses_remote_reservation_key":false},"relationships":{"administration":{"data":{"id":null,"type":null,"meta":null}},"application":{"data":{"id":null,"type":null,"meta":null}},"guest_payment_policy":{"data":{"id":null,"type":null,"meta":null}},"channel_payment_policy":{"data":{"id":null,"type":null,"meta":null}},"excluded_costs":{"data":[{}]}},"meta":{"temp_id":"string"}}}'
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.bookingexperts.nl/v3/administrations/1/channels")
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\":\"channel\",\"attributes\":{\"name\":\"Tours Inc.\",\"email\":\"info@tours.inc\",\"kind\":\"reseller\",\"available_currencies\":[\"EUR\",\"USD\"],\"pricing_type\":\"string\",\"requires_night_prices\":false,\"archivable\":false,\"front_office\":false,\"synchronizes_costs\":false,\"allows_costs_with_multiple_price_periods\":true,\"allows_costs_with_negative_amounts\":true,\"allows_deposit_costs_that_are_not_fixed_or_per_piece_or_percentual\":true,\"allow_confirmation_without_payment\":false,\"determines_price\":false,\"skip_price_deviation_check\":false,\"rent_invoiced_to\":\"guest\",\"costs_invoiced_to\":\"guest\",\"use_costs_invoiced_to\":true,\"behave_as_own_site\":false,\"supports_group_details\":false,\"confirm_reservations\":true,\"confirm_by_email\":false,\"customer_invoice_payable_on_park\":false,\"fixed_attributes\":[\"kind\",\"requires_night_prices\"],\"can_be_set_as_default_channel\":false,\"requires_cancellation_originator\":false,\"requires_restitution_after_cancellation\":false,\"requires_confirmation_or_cancellation_within_24_hours\":false,\"uses_remote_reservation_key\":false},\"relationships\":{\"administration\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"application\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"guest_payment_policy\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"channel_payment_policy\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"excluded_costs\":{\"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/channels",
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\":\"channel\",\"attributes\":{\"name\":\"Tours Inc.\",\"email\":\"info@tours.inc\",\"kind\":\"reseller\",\"available_currencies\":[\"EUR\",\"USD\"],\"pricing_type\":\"string\",\"requires_night_prices\":false,\"archivable\":false,\"front_office\":false,\"synchronizes_costs\":false,\"allows_costs_with_multiple_price_periods\":true,\"allows_costs_with_negative_amounts\":true,\"allows_deposit_costs_that_are_not_fixed_or_per_piece_or_percentual\":true,\"allow_confirmation_without_payment\":false,\"determines_price\":false,\"skip_price_deviation_check\":false,\"rent_invoiced_to\":\"guest\",\"costs_invoiced_to\":\"guest\",\"use_costs_invoiced_to\":true,\"behave_as_own_site\":false,\"supports_group_details\":false,\"confirm_reservations\":true,\"confirm_by_email\":false,\"customer_invoice_payable_on_park\":false,\"fixed_attributes\":[\"kind\",\"requires_night_prices\"],\"can_be_set_as_default_channel\":false,\"requires_cancellation_originator\":false,\"requires_restitution_after_cancellation\":false,\"requires_confirmation_or_cancellation_within_24_hours\":false,\"uses_remote_reservation_key\":false},\"relationships\":{\"administration\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"application\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"guest_payment_policy\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"channel_payment_policy\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"excluded_costs\":{\"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\":\"channel\",\"attributes\":{\"name\":\"Tours Inc.\",\"email\":\"info@tours.inc\",\"kind\":\"reseller\",\"available_currencies\":[\"EUR\",\"USD\"],\"pricing_type\":\"string\",\"requires_night_prices\":false,\"archivable\":false,\"front_office\":false,\"synchronizes_costs\":false,\"allows_costs_with_multiple_price_periods\":true,\"allows_costs_with_negative_amounts\":true,\"allows_deposit_costs_that_are_not_fixed_or_per_piece_or_percentual\":true,\"allow_confirmation_without_payment\":false,\"determines_price\":false,\"skip_price_deviation_check\":false,\"rent_invoiced_to\":\"guest\",\"costs_invoiced_to\":\"guest\",\"use_costs_invoiced_to\":true,\"behave_as_own_site\":false,\"supports_group_details\":false,\"confirm_reservations\":true,\"confirm_by_email\":false,\"customer_invoice_payable_on_park\":false,\"fixed_attributes\":[\"kind\",\"requires_night_prices\"],\"can_be_set_as_default_channel\":false,\"requires_cancellation_originator\":false,\"requires_restitution_after_cancellation\":false,\"requires_confirmation_or_cancellation_within_24_hours\":false,\"uses_remote_reservation_key\":false},\"relationships\":{\"administration\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"application\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"guest_payment_policy\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"channel_payment_policy\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"excluded_costs\":{\"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/channels");
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}/channels
Create a new channel that is associated to the current subscription
Body parameter
{
"data": {
"type": "channel",
"attributes": {
"name": "Tours Inc.",
"email": "info@tours.inc",
"kind": "reseller",
"available_currencies": [
"EUR",
"USD"
],
"pricing_type": "string",
"requires_night_prices": false,
"archivable": false,
"front_office": false,
"synchronizes_costs": false,
"allows_costs_with_multiple_price_periods": true,
"allows_costs_with_negative_amounts": true,
"allows_deposit_costs_that_are_not_fixed_or_per_piece_or_percentual": true,
"allow_confirmation_without_payment": false,
"determines_price": false,
"skip_price_deviation_check": false,
"rent_invoiced_to": "guest",
"costs_invoiced_to": "guest",
"use_costs_invoiced_to": true,
"behave_as_own_site": false,
"supports_group_details": false,
"confirm_reservations": true,
"confirm_by_email": false,
"customer_invoice_payable_on_park": false,
"fixed_attributes": [
"kind",
"requires_night_prices"
],
"can_be_set_as_default_channel": false,
"requires_cancellation_originator": false,
"requires_restitution_after_cancellation": false,
"requires_confirmation_or_cancellation_within_24_hours": false,
"uses_remote_reservation_key": false
},
"relationships": {
"administration": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"application": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"guest_payment_policy": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"channel_payment_policy": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"excluded_costs": {
"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] | Every Reservation originates from a channel. This can be a tour operator, the backoffice, the website and so on. |
—— type | body | string | false | channel | Type |
—— attributes | body | object | false | [object Object] | Attributes |
——— name | body | string | false | Tours Inc. | Name of the channel. This name is also shown in the back-office. |
body | string | false | info@tours.inc | Contact email address of the channel. This email address is also shown in the back-office. | |
——— kind | body | string | false | reseller | Channel kind. |
——— available_currencies | body | [string] | false | EUR,USD | Lists the currencies that are available for this channel. One or more of: EUR, USD, CHF, CZK, TRY, CVE, ANG, GBP, NOK. |
——— pricing_type | body | string | false | string | Type of pricing that applies to this channel. One of: night_prices, complex_prices. Is replaced by requires_night_prices. |
——— requires_night_prices | body | boolean | false | false | Whether this channel can only handle night prices. |
——— archivable | body | boolean | false | false | Whether the channel can be archived or not. |
——— front_office | body | boolean | false | false | Whether reservations made through this channel should be listed as front office reservations on the planboard or not. |
——— synchronizes_costs | body | boolean | false | false | Whether the channel synchronizes costs or not. |
——— allows_costs_with_multiple_price_periods | body | boolean | false | true | Whether the channel allows costs with negative prices or percentages. Ignored when synchronizes_costs is false. |
——— allows_costs_with_negative_amounts | body | boolean | false | true | Whether the channel allows costs with negative prices or percentages. Ignored when synchronizes_costs is false. |
——— allows_deposit_costs_that_are_not_fixed_or_per_piece_or_percentual | body | boolean | false | true | Whether the channel allows deposit costs that are not fixed, per piece or percentual. Ignored when synchronizes_costs is false. |
——— allow_confirmation_without_payment | body | boolean | false | false | Whether the channel allows confirmation without direct payment. |
——— determines_price | body | boolean | false | false | Whether the channel determines the price or not. |
——— skip_price_deviation_check | body | boolean | false | false | Whether price deviation checks must be performed. By default, when the passed price for a booking deviates more than 5% from the expected booking price, we notify the administration of this. |
——— rent_invoiced_to | body | string | false | guest | Whether the channel invoices rent to the guest or the channel. |
——— costs_invoiced_to | body | string | false | guest | Whether the channel invoices costs to the guest or the channel. |
——— use_costs_invoiced_to | body | boolean | false | true | Whether the channel should use the costs_invoiced_to setting to determine invoicing or not. Setting this to false allows overriding the invoicing for individual costs. |
——— behave_as_own_site | body | boolean | false | false | Whether the channel behaves as the own site channel or not. Must be false when kind is set to tour_operator. |
——— supports_group_details | body | boolean | false | false | Whether the channel supports specifying detailed group compositions. |
——— confirm_reservations | body | boolean | false | true | Whether the channel automatically confirms reservations or not |
——— confirm_by_email | body | boolean | false | false | Whether the channel sends the channel invoice to the specified email or not |
——— customer_invoice_payable_on_park | body | boolean | false | false | Whether the guest invoice can be paid on arrival or not |
——— fixed_attributes | body | [string] | false | kind,requires_night_prices | Lists the attributes of the channel that cannot be freely edited in the back-office. One or more of: name, requires_night_prices, kind, rent_invoiced_to, costs_invoiced_to, use_costs_invoiced_to, confirm_reservations, confirm_by_email, customer_invoice_payable_on_park, available_currencies, email. |
——— can_be_set_as_default_channel | body | boolean | false | false | Whether the channel can be set as the default channel for new back office reservations etc. or not. Can only be specified on creation. |
——— requires_cancellation_originator | body | boolean | false | false | Whether the channel requires the originator of reservation cancellations to be known or not. Can only be specified on creation. |
——— requires_restitution_after_cancellation | body | boolean | false | false | Whether the channel requires mandatory restitution after a reservation cancellation or not. Can only be specified on creation. |
——— requires_confirmation_or_cancellation_within_24_hours | body | boolean | false | false | Whether the channel requires confirmation or cancellation of a reservation within 24 hours after creation of the reservation. " \ |
——— uses_remote_reservation_key | body | boolean | false | false | Whether the channel uses a remote reservation key or not. Can only be specified on creation. |
—— relationships | body | object | false | [object Object] | Relationships |
——— administration | body | object | false | [object Object] | none |
———— data | body | object | false | [object Object] | none |
————— id | body | string | false | string | administration ID |
————— type | body | string | false | administration | 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. |
——— application | body | object | false | [object Object] | none |
———— data | body | object | false | [object Object] | none |
————— id | body | string | false | string | application ID |
————— type | body | string | false | application | 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_payment_policy | body | object | false | [object Object] | none |
———— data | body | object | false | [object Object] | none |
————— id | body | string | false | string | guest_payment_policy ID |
————— type | body | string | false | payment_policy | 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. |
——— channel_payment_policy | body | object | false | [object Object] | none |
———— data | body | object | false | [object Object] | none |
————— id | body | string | false | string | channel_payment_policy ID |
————— type | body | string | false | payment_policy | 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. |
——— excluded_costs | body | object | false | [object Object] | none |
———— data | body | [object] | false | [object Object] | none |
————— id | body | string | false | string | excluded_costs ID |
————— type | body | string | false | 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. |
Detailed descriptions
— data: Every Reservation originates from a channel. This can be a tour operator, the backoffice, the website and so on. Administrations can customize the following aspects for each Channel:
- Extras
- Costs
- Availability
- Rent prices
- Invoicing
——— requires_confirmation_or_cancellation_within_24_hours: Whether the channel requires confirmation or cancellation of a reservation within 24 hours after creation of the reservation. " \ "Can only be specified on creation.
——— administration: null
——— application: null
——— guest_payment_policy: null
——— channel_payment_policy: null
——— excluded_costs: null
Enumerated Values
Parameter | Value |
---|---|
——— kind | reseller |
——— kind | tour_operator |
——— rent_invoiced_to | guest |
——— rent_invoiced_to | channel |
——— costs_invoiced_to | guest |
——— costs_invoiced_to | channel |
Example responses
200 Response
{
"data": {
"id": "1",
"type": "channel",
"attributes": {
"name": "Tours Inc.",
"email": "info@tours.inc",
"kind": "reseller",
"available_currencies": [
"EUR",
"USD"
],
"pricing_type": "string",
"requires_night_prices": false,
"archivable": false,
"front_office": false,
"synchronizes_costs": false,
"allows_costs_with_multiple_price_periods": true,
"allows_costs_with_negative_amounts": true,
"allows_deposit_costs_that_are_not_fixed_or_per_piece_or_percentual": true,
"allow_confirmation_without_payment": false,
"determines_price": false,
"skip_price_deviation_check": false,
"rent_invoiced_to": "guest",
"costs_invoiced_to": "guest",
"use_costs_invoiced_to": true,
"behave_as_own_site": false,
"supports_group_details": false,
"confirm_reservations": true,
"confirm_by_email": false,
"customer_invoice_payable_on_park": false,
"fixed_attributes": [
"kind",
"requires_night_prices"
],
"can_be_set_as_default_channel": false,
"requires_cancellation_originator": false,
"requires_restitution_after_cancellation": false,
"requires_confirmation_or_cancellation_within_24_hours": false,
"uses_remote_reservation_key": false,
"archived": true,
"debtor_code": "string",
"temporary_booking_validity_in_hours": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
},
"relationships": {
"administration": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"application": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"guest_payment_policy": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"channel_payment_policy": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"excluded_costs": {
"data": [
{}
]
}
},
"meta": {
"temp_id": "string"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ChannelResponse | Inline |
default | Default | Error | Inline |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
— data | [Channel](#schemachannel) | false | none | Every Reservation originates from a channel. This can be a tour operator, the backoffice, the website and so on. Administrations can customize the following aspects for each Channel: * Extras * Costs * Availability * Rent prices * Invoicing |
—— id | string | false | none | ID |
—— type | string | false | none | Type |
—— attributes | object | false | none | Attributes |
——— name | string | false | none | Name of the channel. This name is also shown in the back-office. |
string | false | none | Contact email address of the channel. This email address is also shown in the back-office. | |
——— kind | string | false | none | Channel kind. |
——— available_currencies | [string] | false | none | Lists the currencies that are available for this channel. One or more of: EUR, USD, CHF, CZK, TRY, CVE, ANG, GBP, NOK. |
——— pricing_type | string | false | none | Type of pricing that applies to this channel. One of: night_prices, complex_prices. Is replaced by requires_night_prices. |
——— requires_night_prices | boolean | false | none | Whether this channel can only handle night prices. |
——— archivable | boolean | false | none | Whether the channel can be archived or not. |
——— front_office | boolean | false | none | Whether reservations made through this channel should be listed as front office reservations on the planboard or not. |
——— synchronizes_costs | boolean | false | none | Whether the channel synchronizes costs or not. |
——— allows_costs_with_multiple_price_periods | boolean | false | none | Whether the channel allows costs with negative prices or percentages. Ignored when synchronizes_costs is false. |
——— allows_costs_with_negative_amounts | boolean | false | none | Whether the channel allows costs with negative prices or percentages. Ignored when synchronizes_costs is false. |
——— allows_deposit_costs_that_are_not_fixed_or_per_piece_or_percentual | boolean | false | none | Whether the channel allows deposit costs that are not fixed, per piece or percentual. Ignored when synchronizes_costs is false. |
——— allow_confirmation_without_payment | boolean | false | none | Whether the channel allows confirmation without direct payment. |
——— determines_price | boolean | false | none | Whether the channel determines the price or not. |
——— skip_price_deviation_check | boolean | false | none | Whether price deviation checks must be performed. By default, when the passed price for a booking deviates more than 5% from the expected booking price, we notify the administration of this. |
——— rent_invoiced_to | string | false | none | Whether the channel invoices rent to the guest or the channel. |
——— costs_invoiced_to | string | false | none | Whether the channel invoices costs to the guest or the channel. |
——— use_costs_invoiced_to | boolean | false | none | Whether the channel should use the costs_invoiced_to setting to determine invoicing or not. Setting this to false allows overriding the invoicing for individual costs. |
——— behave_as_own_site | boolean | false | none | Whether the channel behaves as the own site channel or not. Must be false when kind is set to tour_operator. |
——— supports_group_details | boolean | false | none | Whether the channel supports specifying detailed group compositions. |
——— confirm_reservations | boolean | false | none | Whether the channel automatically confirms reservations or not |
——— confirm_by_email | boolean | false | none | Whether the channel sends the channel invoice to the specified email or not |
——— customer_invoice_payable_on_park | boolean | false | none | Whether the guest invoice can be paid on arrival or not |
——— fixed_attributes | [string] | false | none | Lists the attributes of the channel that cannot be freely edited in the back-office. One or more of: name, requires_night_prices, kind, rent_invoiced_to, costs_invoiced_to, use_costs_invoiced_to, confirm_reservations, confirm_by_email, customer_invoice_payable_on_park, available_currencies, email. |
——— can_be_set_as_default_channel | boolean | false | none | Whether the channel can be set as the default channel for new back office reservations etc. or not. Can only be specified on creation. |
——— requires_cancellation_originator | boolean | false | none | Whether the channel requires the originator of reservation cancellations to be known or not. Can only be specified on creation. |
——— requires_restitution_after_cancellation | boolean | false | none | Whether the channel requires mandatory restitution after a reservation cancellation or not. Can only be specified on creation. |
——— requires_confirmation_or_cancellation_within_24_hours | boolean | false | none | Whether the channel requires confirmation or cancellation of a reservation within 24 hours after creation of the reservation. " \ "Can only be specified on creation. |
——— uses_remote_reservation_key | boolean | false | none | Whether the channel uses a remote reservation key or not. Can only be specified on creation. |
——— archived | boolean | false | read-only | Whether this channel has been archived or not. |
——— debtor_code | string | false | read-only | A system wide unique identifier for this debtor |
——— temporary_booking_validity_in_hours | string | false | read-only | Time in hours after which unconfirmed reservations are cancelled. |
——— created_at | string(date-time) | false | read-only | none |
——— updated_at | string(date-time) | false | read-only | 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. |
——— application | object | false | none | none |
———— data | object | false | none | none |
————— id | string | false | none | application 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_payment_policy | object | false | none | none |
———— data | object | false | none | none |
————— id | string | false | none | guest_payment_policy 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_payment_policy | object | false | none | none |
———— data | object | false | none | none |
————— id | string | false | none | channel_payment_policy 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. |
——— excluded_costs | object | false | none | none |
———— data | [object] | false | none | none |
————— id | string | false | none | excluded_costs 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 |
---|---|
kind | reseller |
kind | tour_operator |
rent_invoiced_to | guest |
rent_invoiced_to | channel |
costs_invoiced_to | guest |
costs_invoiced_to | channel |
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 channel
Code samples
curl --request GET \
--url https://api.bookingexperts.nl/v3/administrations/1/channels/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/channels/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/channels/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/channels/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}/channels/{id}
Returns a channel
Parameters
Name | In | Type | Required | Example | Description |
---|---|---|---|---|---|
administration_id | path | string | true | 1 | Administration ID |
id | path | string | true | string | Resource ID |
fields[channel] | query | string | false | string | Fieldset. Specify a comma separated list of attributes to return |
filter[id] | query | string | false | string | Filter on ID |
filter[name] | query | string | false | string | Filter on name |
filter[email] | query | string | false | string | Filter on email |
filter[kind] | query | string | false | string | Filter on kind |
filter[requires_night_prices] | query | string | false | string | Filter on requires_night_prices |
filter[rent_invoiced_to] | query | string | false | string | Filter on rent_invoiced_to |
filter[costs_invoiced_to] | query | string | false | string | Filter on costs_invoiced_to |
filter[use_costs_invoiced_to] | query | string | false | string | Filter on use_costs_invoiced_to |
filter[supports_group_details] | query | string | false | string | Filter on supports_group_details |
filter[confirm_reservations] | query | string | false | string | Filter on confirm_reservations |
filter[confirm_by_email] | query | string | false | string | Filter on confirm_by_email |
filter[customer_invoice_payable_on_park] | query | string | false | string | Filter on customer_invoice_payable_on_park |
filter[archived] | query | string | false | string | Filter on archived |
filter[temporary_booking_validity_in_hours] | query | string | false | string | Filter on temporary_booking_validity_in_hours |
filter[created_at] | query | string | false | string | Filter on created_at |
filter[updated_at] | query | string | false | string | Filter on updated_at |
filter[administration] | query | string | false | string | Filter on administration. Specify a comma separated list of IDs to filter on. |
filter[application] | query | string | false | string | Filter on application. Specify a comma separated list of IDs to filter on. |
filter[guest_payment_policy] | query | string | false | string | Filter on guest_payment_policy. Specify a comma separated list of IDs to filter on. |
filter[channel_payment_policy] | query | string | false | string | Filter on channel_payment_policy. Specify a comma separated list of IDs to filter on. |
filter[excluded_costs] | query | string | false | string | Filter on excluded_costs. Specify a comma separated list of IDs to filter on. |
include | query | string | false | string | 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": "channel",
"attributes": {
"name": "Tours Inc.",
"email": "info@tours.inc",
"kind": "reseller",
"available_currencies": [
"EUR",
"USD"
],
"pricing_type": "string",
"requires_night_prices": false,
"archivable": false,
"front_office": false,
"synchronizes_costs": false,
"allows_costs_with_multiple_price_periods": true,
"allows_costs_with_negative_amounts": true,
"allows_deposit_costs_that_are_not_fixed_or_per_piece_or_percentual": true,
"allow_confirmation_without_payment": false,
"determines_price": false,
"skip_price_deviation_check": false,
"rent_invoiced_to": "guest",
"costs_invoiced_to": "guest",
"use_costs_invoiced_to": true,
"behave_as_own_site": false,
"supports_group_details": false,
"confirm_reservations": true,
"confirm_by_email": false,
"customer_invoice_payable_on_park": false,
"fixed_attributes": [
"kind",
"requires_night_prices"
],
"can_be_set_as_default_channel": false,
"requires_cancellation_originator": false,
"requires_restitution_after_cancellation": false,
"requires_confirmation_or_cancellation_within_24_hours": false,
"uses_remote_reservation_key": false,
"archived": true,
"debtor_code": "string",
"temporary_booking_validity_in_hours": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
},
"relationships": {
"administration": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"application": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"guest_payment_policy": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"channel_payment_policy": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"excluded_costs": {
"data": [
{}
]
}
},
"meta": {
"temp_id": "string"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ChannelResponse | Inline |
default | Default | Error | Inline |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
— data | [Channel](#schemachannel) | false | none | Every Reservation originates from a channel. This can be a tour operator, the backoffice, the website and so on. Administrations can customize the following aspects for each Channel: * Extras * Costs * Availability * Rent prices * Invoicing |
—— id | string | false | none | ID |
—— type | string | false | none | Type |
—— attributes | object | false | none | Attributes |
——— name | string | false | none | Name of the channel. This name is also shown in the back-office. |
string | false | none | Contact email address of the channel. This email address is also shown in the back-office. | |
——— kind | string | false | none | Channel kind. |
——— available_currencies | [string] | false | none | Lists the currencies that are available for this channel. One or more of: EUR, USD, CHF, CZK, TRY, CVE, ANG, GBP, NOK. |
——— pricing_type | string | false | none | Type of pricing that applies to this channel. One of: night_prices, complex_prices. Is replaced by requires_night_prices. |
——— requires_night_prices | boolean | false | none | Whether this channel can only handle night prices. |
——— archivable | boolean | false | none | Whether the channel can be archived or not. |
——— front_office | boolean | false | none | Whether reservations made through this channel should be listed as front office reservations on the planboard or not. |
——— synchronizes_costs | boolean | false | none | Whether the channel synchronizes costs or not. |
——— allows_costs_with_multiple_price_periods | boolean | false | none | Whether the channel allows costs with negative prices or percentages. Ignored when synchronizes_costs is false. |
——— allows_costs_with_negative_amounts | boolean | false | none | Whether the channel allows costs with negative prices or percentages. Ignored when synchronizes_costs is false. |
——— allows_deposit_costs_that_are_not_fixed_or_per_piece_or_percentual | boolean | false | none | Whether the channel allows deposit costs that are not fixed, per piece or percentual. Ignored when synchronizes_costs is false. |
——— allow_confirmation_without_payment | boolean | false | none | Whether the channel allows confirmation without direct payment. |
——— determines_price | boolean | false | none | Whether the channel determines the price or not. |
——— skip_price_deviation_check | boolean | false | none | Whether price deviation checks must be performed. By default, when the passed price for a booking deviates more than 5% from the expected booking price, we notify the administration of this. |
——— rent_invoiced_to | string | false | none | Whether the channel invoices rent to the guest or the channel. |
——— costs_invoiced_to | string | false | none | Whether the channel invoices costs to the guest or the channel. |
——— use_costs_invoiced_to | boolean | false | none | Whether the channel should use the costs_invoiced_to setting to determine invoicing or not. Setting this to false allows overriding the invoicing for individual costs. |
——— behave_as_own_site | boolean | false | none | Whether the channel behaves as the own site channel or not. Must be false when kind is set to tour_operator. |
——— supports_group_details | boolean | false | none | Whether the channel supports specifying detailed group compositions. |
——— confirm_reservations | boolean | false | none | Whether the channel automatically confirms reservations or not |
——— confirm_by_email | boolean | false | none | Whether the channel sends the channel invoice to the specified email or not |
——— customer_invoice_payable_on_park | boolean | false | none | Whether the guest invoice can be paid on arrival or not |
——— fixed_attributes | [string] | false | none | Lists the attributes of the channel that cannot be freely edited in the back-office. One or more of: name, requires_night_prices, kind, rent_invoiced_to, costs_invoiced_to, use_costs_invoiced_to, confirm_reservations, confirm_by_email, customer_invoice_payable_on_park, available_currencies, email. |
——— can_be_set_as_default_channel | boolean | false | none | Whether the channel can be set as the default channel for new back office reservations etc. or not. Can only be specified on creation. |
——— requires_cancellation_originator | boolean | false | none | Whether the channel requires the originator of reservation cancellations to be known or not. Can only be specified on creation. |
——— requires_restitution_after_cancellation | boolean | false | none | Whether the channel requires mandatory restitution after a reservation cancellation or not. Can only be specified on creation. |
——— requires_confirmation_or_cancellation_within_24_hours | boolean | false | none | Whether the channel requires confirmation or cancellation of a reservation within 24 hours after creation of the reservation. " \ "Can only be specified on creation. |
——— uses_remote_reservation_key | boolean | false | none | Whether the channel uses a remote reservation key or not. Can only be specified on creation. |
——— archived | boolean | false | read-only | Whether this channel has been archived or not. |
——— debtor_code | string | false | read-only | A system wide unique identifier for this debtor |
——— temporary_booking_validity_in_hours | string | false | read-only | Time in hours after which unconfirmed reservations are cancelled. |
——— created_at | string(date-time) | false | read-only | none |
——— updated_at | string(date-time) | false | read-only | 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. |
——— application | object | false | none | none |
———— data | object | false | none | none |
————— id | string | false | none | application 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_payment_policy | object | false | none | none |
———— data | object | false | none | none |
————— id | string | false | none | guest_payment_policy 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_payment_policy | object | false | none | none |
———— data | object | false | none | none |
————— id | string | false | none | channel_payment_policy 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. |
——— excluded_costs | object | false | none | none |
———— data | [object] | false | none | none |
————— id | string | false | none | excluded_costs 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 |
---|---|
kind | reseller |
kind | tour_operator |
rent_invoiced_to | guest |
rent_invoiced_to | channel |
costs_invoiced_to | guest |
costs_invoiced_to | channel |
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 channel
Code samples
curl --request PATCH \
--url https://api.bookingexperts.nl/v3/administrations/1/channels/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":"channel","attributes":{"name":"Tours Inc.","email":"info@tours.inc","kind":"reseller","available_currencies":["EUR","USD"],"pricing_type":"string","requires_night_prices":false,"archivable":false,"front_office":false,"synchronizes_costs":false,"allows_costs_with_multiple_price_periods":true,"allows_costs_with_negative_amounts":true,"allows_deposit_costs_that_are_not_fixed_or_per_piece_or_percentual":true,"allow_confirmation_without_payment":false,"determines_price":false,"skip_price_deviation_check":false,"rent_invoiced_to":"guest","costs_invoiced_to":"guest","use_costs_invoiced_to":true,"behave_as_own_site":false,"supports_group_details":false,"confirm_reservations":true,"confirm_by_email":false,"customer_invoice_payable_on_park":false,"fixed_attributes":["kind","requires_night_prices"],"can_be_set_as_default_channel":false,"requires_cancellation_originator":false,"requires_restitution_after_cancellation":false,"requires_confirmation_or_cancellation_within_24_hours":false,"uses_remote_reservation_key":false},"relationships":{"administration":{"data":{"id":null,"type":null,"meta":null}},"application":{"data":{"id":null,"type":null,"meta":null}},"guest_payment_policy":{"data":{"id":null,"type":null,"meta":null}},"channel_payment_policy":{"data":{"id":null,"type":null,"meta":null}},"excluded_costs":{"data":[{}]}},"meta":{"temp_id":"string"}}}'
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.bookingexperts.nl/v3/administrations/1/channels/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\":\"channel\",\"attributes\":{\"name\":\"Tours Inc.\",\"email\":\"info@tours.inc\",\"kind\":\"reseller\",\"available_currencies\":[\"EUR\",\"USD\"],\"pricing_type\":\"string\",\"requires_night_prices\":false,\"archivable\":false,\"front_office\":false,\"synchronizes_costs\":false,\"allows_costs_with_multiple_price_periods\":true,\"allows_costs_with_negative_amounts\":true,\"allows_deposit_costs_that_are_not_fixed_or_per_piece_or_percentual\":true,\"allow_confirmation_without_payment\":false,\"determines_price\":false,\"skip_price_deviation_check\":false,\"rent_invoiced_to\":\"guest\",\"costs_invoiced_to\":\"guest\",\"use_costs_invoiced_to\":true,\"behave_as_own_site\":false,\"supports_group_details\":false,\"confirm_reservations\":true,\"confirm_by_email\":false,\"customer_invoice_payable_on_park\":false,\"fixed_attributes\":[\"kind\",\"requires_night_prices\"],\"can_be_set_as_default_channel\":false,\"requires_cancellation_originator\":false,\"requires_restitution_after_cancellation\":false,\"requires_confirmation_or_cancellation_within_24_hours\":false,\"uses_remote_reservation_key\":false},\"relationships\":{\"administration\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"application\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"guest_payment_policy\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"channel_payment_policy\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"excluded_costs\":{\"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/channels/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\":\"channel\",\"attributes\":{\"name\":\"Tours Inc.\",\"email\":\"info@tours.inc\",\"kind\":\"reseller\",\"available_currencies\":[\"EUR\",\"USD\"],\"pricing_type\":\"string\",\"requires_night_prices\":false,\"archivable\":false,\"front_office\":false,\"synchronizes_costs\":false,\"allows_costs_with_multiple_price_periods\":true,\"allows_costs_with_negative_amounts\":true,\"allows_deposit_costs_that_are_not_fixed_or_per_piece_or_percentual\":true,\"allow_confirmation_without_payment\":false,\"determines_price\":false,\"skip_price_deviation_check\":false,\"rent_invoiced_to\":\"guest\",\"costs_invoiced_to\":\"guest\",\"use_costs_invoiced_to\":true,\"behave_as_own_site\":false,\"supports_group_details\":false,\"confirm_reservations\":true,\"confirm_by_email\":false,\"customer_invoice_payable_on_park\":false,\"fixed_attributes\":[\"kind\",\"requires_night_prices\"],\"can_be_set_as_default_channel\":false,\"requires_cancellation_originator\":false,\"requires_restitution_after_cancellation\":false,\"requires_confirmation_or_cancellation_within_24_hours\":false,\"uses_remote_reservation_key\":false},\"relationships\":{\"administration\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"application\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"guest_payment_policy\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"channel_payment_policy\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"excluded_costs\":{\"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\":\"channel\",\"attributes\":{\"name\":\"Tours Inc.\",\"email\":\"info@tours.inc\",\"kind\":\"reseller\",\"available_currencies\":[\"EUR\",\"USD\"],\"pricing_type\":\"string\",\"requires_night_prices\":false,\"archivable\":false,\"front_office\":false,\"synchronizes_costs\":false,\"allows_costs_with_multiple_price_periods\":true,\"allows_costs_with_negative_amounts\":true,\"allows_deposit_costs_that_are_not_fixed_or_per_piece_or_percentual\":true,\"allow_confirmation_without_payment\":false,\"determines_price\":false,\"skip_price_deviation_check\":false,\"rent_invoiced_to\":\"guest\",\"costs_invoiced_to\":\"guest\",\"use_costs_invoiced_to\":true,\"behave_as_own_site\":false,\"supports_group_details\":false,\"confirm_reservations\":true,\"confirm_by_email\":false,\"customer_invoice_payable_on_park\":false,\"fixed_attributes\":[\"kind\",\"requires_night_prices\"],\"can_be_set_as_default_channel\":false,\"requires_cancellation_originator\":false,\"requires_restitution_after_cancellation\":false,\"requires_confirmation_or_cancellation_within_24_hours\":false,\"uses_remote_reservation_key\":false},\"relationships\":{\"administration\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"application\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"guest_payment_policy\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"channel_payment_policy\":{\"data\":{\"id\":null,\"type\":null,\"meta\":null}},\"excluded_costs\":{\"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/channels/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}/channels/{id}
Update a channel. Restricted to channels that are associated with your own subscription.
Body parameter
{
"data": {
"id": "1",
"type": "channel",
"attributes": {
"name": "Tours Inc.",
"email": "info@tours.inc",
"kind": "reseller",
"available_currencies": [
"EUR",
"USD"
],
"pricing_type": "string",
"requires_night_prices": false,
"archivable": false,
"front_office": false,
"synchronizes_costs": false,
"allows_costs_with_multiple_price_periods": true,
"allows_costs_with_negative_amounts": true,
"allows_deposit_costs_that_are_not_fixed_or_per_piece_or_percentual": true,
"allow_confirmation_without_payment": false,
"determines_price": false,
"skip_price_deviation_check": false,
"rent_invoiced_to": "guest",
"costs_invoiced_to": "guest",
"use_costs_invoiced_to": true,
"behave_as_own_site": false,
"supports_group_details": false,
"confirm_reservations": true,
"confirm_by_email": false,
"customer_invoice_payable_on_park": false,
"fixed_attributes": [
"kind",
"requires_night_prices"
],
"can_be_set_as_default_channel": false,
"requires_cancellation_originator": false,
"requires_restitution_after_cancellation": false,
"requires_confirmation_or_cancellation_within_24_hours": false,
"uses_remote_reservation_key": false
},
"relationships": {
"administration": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"application": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"guest_payment_policy": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"channel_payment_policy": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"excluded_costs": {
"data": [
{}
]
}
},
"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] | Every Reservation originates from a channel. This can be a tour operator, the backoffice, the website and so on. |
—— id | body | string | false | 1 | ID |
—— type | body | string | false | channel | Type |
—— attributes | body | object | false | [object Object] | Attributes |
——— name | body | string | false | Tours Inc. | Name of the channel. This name is also shown in the back-office. |
body | string | false | info@tours.inc | Contact email address of the channel. This email address is also shown in the back-office. | |
——— kind | body | string | false | reseller | Channel kind. |
——— available_currencies | body | [string] | false | EUR,USD | Lists the currencies that are available for this channel. One or more of: EUR, USD, CHF, CZK, TRY, CVE, ANG, GBP, NOK. |
——— pricing_type | body | string | false | string | Type of pricing that applies to this channel. One of: night_prices, complex_prices. Is replaced by requires_night_prices. |
——— requires_night_prices | body | boolean | false | false | Whether this channel can only handle night prices. |
——— archivable | body | boolean | false | false | Whether the channel can be archived or not. |
——— front_office | body | boolean | false | false | Whether reservations made through this channel should be listed as front office reservations on the planboard or not. |
——— synchronizes_costs | body | boolean | false | false | Whether the channel synchronizes costs or not. |
——— allows_costs_with_multiple_price_periods | body | boolean | false | true | Whether the channel allows costs with negative prices or percentages. Ignored when synchronizes_costs is false. |
——— allows_costs_with_negative_amounts | body | boolean | false | true | Whether the channel allows costs with negative prices or percentages. Ignored when synchronizes_costs is false. |
——— allows_deposit_costs_that_are_not_fixed_or_per_piece_or_percentual | body | boolean | false | true | Whether the channel allows deposit costs that are not fixed, per piece or percentual. Ignored when synchronizes_costs is false. |
——— allow_confirmation_without_payment | body | boolean | false | false | Whether the channel allows confirmation without direct payment. |
——— determines_price | body | boolean | false | false | Whether the channel determines the price or not. |
——— skip_price_deviation_check | body | boolean | false | false | Whether price deviation checks must be performed. By default, when the passed price for a booking deviates more than 5% from the expected booking price, we notify the administration of this. |
——— rent_invoiced_to | body | string | false | guest | Whether the channel invoices rent to the guest or the channel. |
——— costs_invoiced_to | body | string | false | guest | Whether the channel invoices costs to the guest or the channel. |
——— use_costs_invoiced_to | body | boolean | false | true | Whether the channel should use the costs_invoiced_to setting to determine invoicing or not. Setting this to false allows overriding the invoicing for individual costs. |
——— behave_as_own_site | body | boolean | false | false | Whether the channel behaves as the own site channel or not. Must be false when kind is set to tour_operator. |
——— supports_group_details | body | boolean | false | false | Whether the channel supports specifying detailed group compositions. |
——— confirm_reservations | body | boolean | false | true | Whether the channel automatically confirms reservations or not |
——— confirm_by_email | body | boolean | false | false | Whether the channel sends the channel invoice to the specified email or not |
——— customer_invoice_payable_on_park | body | boolean | false | false | Whether the guest invoice can be paid on arrival or not |
——— fixed_attributes | body | [string] | false | kind,requires_night_prices | Lists the attributes of the channel that cannot be freely edited in the back-office. One or more of: name, requires_night_prices, kind, rent_invoiced_to, costs_invoiced_to, use_costs_invoiced_to, confirm_reservations, confirm_by_email, customer_invoice_payable_on_park, available_currencies, email. |
——— can_be_set_as_default_channel | body | boolean | false | false | Whether the channel can be set as the default channel for new back office reservations etc. or not. Can only be specified on creation. |
——— requires_cancellation_originator | body | boolean | false | false | Whether the channel requires the originator of reservation cancellations to be known or not. Can only be specified on creation. |
——— requires_restitution_after_cancellation | body | boolean | false | false | Whether the channel requires mandatory restitution after a reservation cancellation or not. Can only be specified on creation. |
——— requires_confirmation_or_cancellation_within_24_hours | body | boolean | false | false | Whether the channel requires confirmation or cancellation of a reservation within 24 hours after creation of the reservation. " \ |
——— uses_remote_reservation_key | body | boolean | false | false | Whether the channel uses a remote reservation key or not. Can only be specified on creation. |
—— relationships | body | object | false | [object Object] | Relationships |
——— administration | body | object | false | [object Object] | none |
———— data | body | object | false | [object Object] | none |
————— id | body | string | false | string | administration ID |
————— type | body | string | false | administration | 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. |
——— application | body | object | false | [object Object] | none |
———— data | body | object | false | [object Object] | none |
————— id | body | string | false | string | application ID |
————— type | body | string | false | application | 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_payment_policy | body | object | false | [object Object] | none |
———— data | body | object | false | [object Object] | none |
————— id | body | string | false | string | guest_payment_policy ID |
————— type | body | string | false | payment_policy | 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. |
——— channel_payment_policy | body | object | false | [object Object] | none |
———— data | body | object | false | [object Object] | none |
————— id | body | string | false | string | channel_payment_policy ID |
————— type | body | string | false | payment_policy | 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. |
——— excluded_costs | body | object | false | [object Object] | none |
———— data | body | [object] | false | [object Object] | none |
————— id | body | string | false | string | excluded_costs ID |
————— type | body | string | false | 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. |
Detailed descriptions
— data: Every Reservation originates from a channel. This can be a tour operator, the backoffice, the website and so on. Administrations can customize the following aspects for each Channel:
- Extras
- Costs
- Availability
- Rent prices
- Invoicing
——— requires_confirmation_or_cancellation_within_24_hours: Whether the channel requires confirmation or cancellation of a reservation within 24 hours after creation of the reservation. " \ "Can only be specified on creation.
——— administration: null
——— application: null
——— guest_payment_policy: null
——— channel_payment_policy: null
——— excluded_costs: null
Enumerated Values
Parameter | Value |
---|---|
——— kind | reseller |
——— kind | tour_operator |
——— rent_invoiced_to | guest |
——— rent_invoiced_to | channel |
——— costs_invoiced_to | guest |
——— costs_invoiced_to | channel |
Example responses
200 Response
{
"data": {
"id": "1",
"type": "channel",
"attributes": {
"name": "Tours Inc.",
"email": "info@tours.inc",
"kind": "reseller",
"available_currencies": [
"EUR",
"USD"
],
"pricing_type": "string",
"requires_night_prices": false,
"archivable": false,
"front_office": false,
"synchronizes_costs": false,
"allows_costs_with_multiple_price_periods": true,
"allows_costs_with_negative_amounts": true,
"allows_deposit_costs_that_are_not_fixed_or_per_piece_or_percentual": true,
"allow_confirmation_without_payment": false,
"determines_price": false,
"skip_price_deviation_check": false,
"rent_invoiced_to": "guest",
"costs_invoiced_to": "guest",
"use_costs_invoiced_to": true,
"behave_as_own_site": false,
"supports_group_details": false,
"confirm_reservations": true,
"confirm_by_email": false,
"customer_invoice_payable_on_park": false,
"fixed_attributes": [
"kind",
"requires_night_prices"
],
"can_be_set_as_default_channel": false,
"requires_cancellation_originator": false,
"requires_restitution_after_cancellation": false,
"requires_confirmation_or_cancellation_within_24_hours": false,
"uses_remote_reservation_key": false,
"archived": true,
"debtor_code": "string",
"temporary_booking_validity_in_hours": "string",
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
},
"relationships": {
"administration": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"application": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"guest_payment_policy": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"channel_payment_policy": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"excluded_costs": {
"data": [
{}
]
}
},
"meta": {
"temp_id": "string"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ChannelResponse | Inline |
default | Default | Error | Inline |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
— data | [Channel](#schemachannel) | false | none | Every Reservation originates from a channel. This can be a tour operator, the backoffice, the website and so on. Administrations can customize the following aspects for each Channel: * Extras * Costs * Availability * Rent prices * Invoicing |
—— id | string | false | none | ID |
—— type | string | false | none | Type |
—— attributes | object | false | none | Attributes |
——— name | string | false | none | Name of the channel. This name is also shown in the back-office. |
string | false | none | Contact email address of the channel. This email address is also shown in the back-office. | |
——— kind | string | false | none | Channel kind. |
——— available_currencies | [string] | false | none | Lists the currencies that are available for this channel. One or more of: EUR, USD, CHF, CZK, TRY, CVE, ANG, GBP, NOK. |
——— pricing_type | string | false | none | Type of pricing that applies to this channel. One of: night_prices, complex_prices. Is replaced by requires_night_prices. |
——— requires_night_prices | boolean | false | none | Whether this channel can only handle night prices. |
——— archivable | boolean | false | none | Whether the channel can be archived or not. |
——— front_office | boolean | false | none | Whether reservations made through this channel should be listed as front office reservations on the planboard or not. |
——— synchronizes_costs | boolean | false | none | Whether the channel synchronizes costs or not. |
——— allows_costs_with_multiple_price_periods | boolean | false | none | Whether the channel allows costs with negative prices or percentages. Ignored when synchronizes_costs is false. |
——— allows_costs_with_negative_amounts | boolean | false | none | Whether the channel allows costs with negative prices or percentages. Ignored when synchronizes_costs is false. |
——— allows_deposit_costs_that_are_not_fixed_or_per_piece_or_percentual | boolean | false | none | Whether the channel allows deposit costs that are not fixed, per piece or percentual. Ignored when synchronizes_costs is false. |
——— allow_confirmation_without_payment | boolean | false | none | Whether the channel allows confirmation without direct payment. |
——— determines_price | boolean | false | none | Whether the channel determines the price or not. |
——— skip_price_deviation_check | boolean | false | none | Whether price deviation checks must be performed. By default, when the passed price for a booking deviates more than 5% from the expected booking price, we notify the administration of this. |
——— rent_invoiced_to | string | false | none | Whether the channel invoices rent to the guest or the channel. |
——— costs_invoiced_to | string | false | none | Whether the channel invoices costs to the guest or the channel. |
——— use_costs_invoiced_to | boolean | false | none | Whether the channel should use the costs_invoiced_to setting to determine invoicing or not. Setting this to false allows overriding the invoicing for individual costs. |
——— behave_as_own_site | boolean | false | none | Whether the channel behaves as the own site channel or not. Must be false when kind is set to tour_operator. |
——— supports_group_details | boolean | false | none | Whether the channel supports specifying detailed group compositions. |
——— confirm_reservations | boolean | false | none | Whether the channel automatically confirms reservations or not |
——— confirm_by_email | boolean | false | none | Whether the channel sends the channel invoice to the specified email or not |
——— customer_invoice_payable_on_park | boolean | false | none | Whether the guest invoice can be paid on arrival or not |
——— fixed_attributes | [string] | false | none | Lists the attributes of the channel that cannot be freely edited in the back-office. One or more of: name, requires_night_prices, kind, rent_invoiced_to, costs_invoiced_to, use_costs_invoiced_to, confirm_reservations, confirm_by_email, customer_invoice_payable_on_park, available_currencies, email. |
——— can_be_set_as_default_channel | boolean | false | none | Whether the channel can be set as the default channel for new back office reservations etc. or not. Can only be specified on creation. |
——— requires_cancellation_originator | boolean | false | none | Whether the channel requires the originator of reservation cancellations to be known or not. Can only be specified on creation. |
——— requires_restitution_after_cancellation | boolean | false | none | Whether the channel requires mandatory restitution after a reservation cancellation or not. Can only be specified on creation. |
——— requires_confirmation_or_cancellation_within_24_hours | boolean | false | none | Whether the channel requires confirmation or cancellation of a reservation within 24 hours after creation of the reservation. " \ "Can only be specified on creation. |
——— uses_remote_reservation_key | boolean | false | none | Whether the channel uses a remote reservation key or not. Can only be specified on creation. |
——— archived | boolean | false | read-only | Whether this channel has been archived or not. |
——— debtor_code | string | false | read-only | A system wide unique identifier for this debtor |
——— temporary_booking_validity_in_hours | string | false | read-only | Time in hours after which unconfirmed reservations are cancelled. |
——— created_at | string(date-time) | false | read-only | none |
——— updated_at | string(date-time) | false | read-only | 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. |
——— application | object | false | none | none |
———— data | object | false | none | none |
————— id | string | false | none | application 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_payment_policy | object | false | none | none |
———— data | object | false | none | none |
————— id | string | false | none | guest_payment_policy 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_payment_policy | object | false | none | none |
———— data | object | false | none | none |
————— id | string | false | none | channel_payment_policy 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. |
——— excluded_costs | object | false | none | none |
———— data | [object] | false | none | none |
————— id | string | false | none | excluded_costs 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 |
---|---|
kind | reseller |
kind | tour_operator |
rent_invoiced_to | guest |
rent_invoiced_to | channel |
costs_invoiced_to | guest |
costs_invoiced_to | channel |
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 channel
Code samples
curl --request DELETE \
--url https://api.bookingexperts.nl/v3/administrations/1/channels/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/channels/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/channels/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/channels/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}/channels/{id}
Destroy a channel. Restricted to channels that are associated with your own subscription.
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
default Response
{
"errors": [
{
"status": "string",
"code": "string",
"title": "string",
"detail": "string",
"source": {
"pointer": "string"
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | Success | None |
default | Default | Error | Inline |
Response Schema
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 |
Administrations
GET administrations
Code samples
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'
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.bookingexperts.nl/v3/administrations")
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",
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");
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
Returns all administrations accessible for the current subscription
Parameters
Name | In | Type | Required | Example | Description |
---|---|---|---|---|---|
administration_id | path | string | true | 1 | Administration ID |
page[number] | query | string | false | string | Page number |
page[size] | query | string | false | string | Page size |
sort | query | string | false | string | Sort. Specify a comma separated list of attributes to sort on. Prefix attribute with a \- to sort in descending order |
fields[administration] | query | string | false | string | Fieldset. Specify a comma separated list of attributes to return |
filter[id] | query | string | false | string | Filter on ID |
filter[name] | query | string | false | string | Filter on name |
filter[email] | query | string | false | string | Filter on email |
filter[phone] | query | string | false | string | Filter on phone |
filter[website] | query | string | false | string | Filter on website |
filter[native_currency] | query | string | false | string | Filter on native_currency |
filter[address] | query | string | false | string | Filter on address |
filter[city] | query | string | false | string | Filter on city |
filter[description] | query | string | false | string | Filter on description |
filter[surroundings_description] | query | string | false | string | Filter on surroundings_description |
filter[available_locales] | query | string | false | string | Filter on available_locales |
filter[native_locale] | query | string | false | string | Filter on native_locale |
filter[timezone] | query | string | false | string | Filter on timezone |
filter[guest_list_group] | query | string | false | string | Filter on guest_list_group |
filter[guest_accepted_document_type] | query | string | false | string | Filter on guest_accepted_document_type |
filter[guest_identification_required] | query | string | false | string | Filter on guest_identification_required |
filter[ask_for_guest_gender] | query | string | false | string | Filter on ask_for_guest_gender |
filter[ask_for_guest_address] | query | string | false | string | Filter on ask_for_guest_address |
filter[ask_for_guest_email] | query | string | false | string | Filter on ask_for_guest_email |
filter[ask_for_guest_profession] | query | string | false | string | Filter on ask_for_guest_profession |
filter[latitude] | query | string | false | string | Filter on latitude |
filter[longitude] | query | string | false | string | Filter on longitude |
filter[created_at] | query | string | false | string | Filter on created_at |
filter[updated_at] | query | string | false | string | Filter on updated_at |
filter[payment_handlers] | query | string | false | string | Filter on payment_handlers. Specify a comma separated list of IDs to filter on. |
include | query | string | false | string | 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",
"attributes": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"native_currency": "string",
"address": "string",
"country_code": "string",
"postal_code": "string",
"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"
},
"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"
},
"surroundings_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"
},
"available_locales": [
"string"
],
"native_locale": "string",
"timezone": "string",
"billing_vat_percentage": 0,
"available_currencies": [
"string"
],
"map_available": true,
"guest_list_group": "main_guest",
"guest_accepted_document_type": [
"passport"
],
"guest_identification_required": "none",
"ask_for_guest_gender": true,
"ask_for_guest_address": true,
"ask_for_guest_email": true,
"ask_for_guest_profession": true,
"latitude": 0,
"longitude": 0,
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
},
"links": {
"self": "string",
"url": "string"
},
"relationships": {
"payment_handlers": {
"data": [
null
]
}
},
"meta": {
"temp_id": "string"
}
}
],
"meta": {
"pagination": {
"total_records": 0,
"page": 0,
"size": 0
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | AdministrationCollectionResponse | Inline |
default | Default | Error | Inline |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
— data | [[Administration](#schemaadministration)] | false | none | [An organization can have multiple administrations, usually a holiday park or camping.] |
—— id | string | false | none | ID |
—— type | string | false | none | Type |
—— attributes | object | false | none | Attributes |
——— name | string | false | none | none |
string | false | none | none | |
——— phone | string | false | none | none |
——— website | string | false | none | none |
——— native_currency | string | false | none | none |
——— address | string | false | none | none |
——— country_code | string | false | none | none |
——— postal_code | string | false | none | none |
——— city | 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 | A description of the administration |
———— 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 |
——— surroundings_description | object | false | none | A description of the surroundings |
———— 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 |
——— available_locales | [string] | false | none | Enabled locales |
——— native_locale | string | false | none | The default locale used by the administration internally, and which should be used for communication with the administration |
——— timezone | string | false | none | The timezone of the administration, for example: Amsterdam |
——— billing_vat_percentage | integer | false | none | none |
——— available_currencies | [string] | false | read-only | Enabled currencies |
——— map_available | boolean | false | read-only | If a map is available. The map can be used to pick a specific accommodation or pitch. |
——— guest_list_group | string | false | read-only | none |
——— guest_accepted_document_type | [string] | false | read-only | none |
——— guest_identification_required | string | false | read-only | none |
——— ask_for_guest_gender | boolean | false | read-only | none |
——— ask_for_guest_address | boolean | false | read-only | none |
——— ask_for_guest_email | boolean | false | read-only | none |
——— ask_for_guest_profession | boolean | false | read-only | none |
——— latitude | number(float) | false | read-only | none |
——— longitude | number(float) | false | read-only | 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 |
——— url | string | false | none | Link to url |
—— relationships | object | false | none | Relationships |
——— payment_handlers | object | false | none | none |
———— data | [object] | false | read-only | none |
————— id | string | false | none | payment_handlers 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 |
---|---|
guest_list_group | main_guest |
guest_list_group | all |
guest_list_group | adults |
guest_list_group | none |
guest_identification_required | none |
guest_identification_required | main_guest |
guest_identification_required | all |
guest_identification_required | adults |
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
Code samples
curl --request GET \
--url https://api.bookingexperts.nl/v3/administrations/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/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/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/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/{id}
Returns an administration of the current organization
Parameters
Name | In | Type | Required | Example | Description |
---|---|---|---|---|---|
administration_id | path | string | true | 1 | Administration ID |
id | path | string | true | string | Resource ID |
fields[administration] | query | string | false | string | Fieldset. Specify a comma separated list of attributes to return |
filter[id] | query | string | false | string | Filter on ID |
filter[name] | query | string | false | string | Filter on name |
filter[email] | query | string | false | string | Filter on email |
filter[phone] | query | string | false | string | Filter on phone |
filter[website] | query | string | false | string | Filter on website |
filter[native_currency] | query | string | false | string | Filter on native_currency |
filter[address] | query | string | false | string | Filter on address |
filter[city] | query | string | false | string | Filter on city |
filter[description] | query | string | false | string | Filter on description |
filter[surroundings_description] | query | string | false | string | Filter on surroundings_description |
filter[available_locales] | query | string | false | string | Filter on available_locales |
filter[native_locale] | query | string | false | string | Filter on native_locale |
filter[timezone] | query | string | false | string | Filter on timezone |
filter[guest_list_group] | query | string | false | string | Filter on guest_list_group |
filter[guest_accepted_document_type] | query | string | false | string | Filter on guest_accepted_document_type |
filter[guest_identification_required] | query | string | false | string | Filter on guest_identification_required |
filter[ask_for_guest_gender] | query | string | false | string | Filter on ask_for_guest_gender |
filter[ask_for_guest_address] | query | string | false | string | Filter on ask_for_guest_address |
filter[ask_for_guest_email] | query | string | false | string | Filter on ask_for_guest_email |
filter[ask_for_guest_profession] | query | string | false | string | Filter on ask_for_guest_profession |
filter[latitude] | query | string | false | string | Filter on latitude |
filter[longitude] | query | string | false | string | Filter on longitude |
filter[created_at] | query | string | false | string | Filter on created_at |
filter[updated_at] | query | string | false | string | Filter on updated_at |
filter[payment_handlers] | query | string | false | string | Filter on payment_handlers. Specify a comma separated list of IDs to filter on. |
include | query | string | false | string | 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",
"attributes": {
"name": "string",
"email": "string",
"phone": "string",
"website": "string",
"native_currency": "string",
"address": "string",
"country_code": "string",
"postal_code": "string",
"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"
},
"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"
},
"surroundings_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"
},
"available_locales": [
"string"
],
"native_locale": "string",
"timezone": "string",
"billing_vat_percentage": 0,
"available_currencies": [
"string"
],
"map_available": true,
"guest_list_group": "main_guest",
"guest_accepted_document_type": [
"passport"
],
"guest_identification_required": "none",
"ask_for_guest_gender": true,
"ask_for_guest_address": true,
"ask_for_guest_email": true,
"ask_for_guest_profession": true,
"latitude": 0,
"longitude": 0,
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
},
"links": {
"self": "string",
"url": "string"
},
"relationships": {
"payment_handlers": {
"data": [
{}
]
}
},
"meta": {
"temp_id": "string"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | AdministrationResponse | Inline |
default | Default | Error | Inline |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
— data | [Administration](#schemaadministration) | false | none | An organization can have multiple administrations, usually a holiday park or camping. |
—— id | string | false | none | ID |
—— type | string | false | none | Type |
—— attributes | object | false | none | Attributes |
——— name | string | false | none | none |
string | false | none | none | |
——— phone | string | false | none | none |
——— website | string | false | none | none |
——— native_currency | string | false | none | none |
——— address | string | false | none | none |
——— country_code | string | false | none | none |
——— postal_code | string | false | none | none |
——— city | 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 | A description of the administration |
———— 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 |
——— surroundings_description | object | false | none | A description of the surroundings |
———— 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 |
——— available_locales | [string] | false | none | Enabled locales |
——— native_locale | string | false | none | The default locale used by the administration internally, and which should be used for communication with the administration |
——— timezone | string | false | none | The timezone of the administration, for example: Amsterdam |
——— billing_vat_percentage | integer | false | none | none |
——— available_currencies | [string] | false | read-only | Enabled currencies |
——— map_available | boolean | false | read-only | If a map is available. The map can be used to pick a specific accommodation or pitch. |
——— guest_list_group | string | false | read-only | none |
——— guest_accepted_document_type | [string] | false | read-only | none |
——— guest_identification_required | string | false | read-only | none |
——— ask_for_guest_gender | boolean | false | read-only | none |
——— ask_for_guest_address | boolean | false | read-only | none |
——— ask_for_guest_email | boolean | false | read-only | none |
——— ask_for_guest_profession | boolean | false | read-only | none |
——— latitude | number(float) | false | read-only | none |
——— longitude | number(float) | false | read-only | 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 |
——— url | string | false | none | Link to url |
—— relationships | object | false | none | Relationships |
——— payment_handlers | object | false | none | none |
———— data | [object] | false | read-only | none |
————— id | string | false | none | payment_handlers 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 |
---|---|
guest_list_group | main_guest |
guest_list_group | all |
guest_list_group | adults |
guest_list_group | none |
guest_identification_required | none |
guest_identification_required | main_guest |
guest_identification_required | all |
guest_identification_required | adults |
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 |
Agenda Periods
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 |
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 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 |
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 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
default Response
{
"errors": [
{
"status": "string",
"code": "string",
"title": "string",
"detail": "string",
"source": {
"pointer": "string"
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | Success | None |
default | Default | Error | Inline |
Response Schema
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 |
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 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 |
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 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
default Response
{
"errors": [
{
"status": "string",
"code": "string",
"title": "string",
"detail": "string",
"source": {
"pointer": "string"
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | Success | None |
default | Default | Error | Inline |
Response Schema
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 |
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 | string | false | string | Page number |
page[size] | query | string | false | string | Page size |
sort | query | string | false | string | 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 | string | Fieldset. Specify a comma separated list of attributes to return |
filter[id] | query | string | false | string | Filter on ID |
filter[start_date] | query | string | false | string | Filter on start_date |
filter[end_date] | query | string | false | string | Filter on end_date |
filter[type] | query | string | false | string | Filter on type |
filter[created_at] | query | string | false | string | Filter on created_at |
filter[updated_at] | query | string | false | string | Filter on updated_at |
filter[rentable] | query | string | false | string | Filter on rentable. Specify a comma separated list of IDs to filter on. |
filter[reservation] | query | string | false | string | Filter on reservation. Specify a comma separated list of IDs to filter on. |
include | query | string | false | string | 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 |
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 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 | string | Fieldset. Specify a comma separated list of attributes to return |
filter[id] | query | string | false | string | Filter on ID |
filter[start_date] | query | string | false | string | Filter on start_date |
filter[end_date] | query | string | false | string | Filter on end_date |
filter[type] | query | string | false | string | Filter on type |
filter[created_at] | query | string | false | string | Filter on created_at |
filter[updated_at] | query | string | false | string | Filter on updated_at |
filter[rentable] | query | string | false | string | Filter on rentable. Specify a comma separated list of IDs to filter on. |
filter[reservation] | query | string | false | string | Filter on reservation. Specify a comma separated list of IDs to filter on. |
include | query | string | false | string | 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 |
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 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 |
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 | string | false | string | Page number |
page[size] | query | string | false | string | Page size |
sort | query | string | false | string | 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 | string | Fieldset. Specify a comma separated list of attributes to return |
filter[id] | query | string | false | string | Filter on ID |
filter[active_from] | query | string | false | string | Filter on active_from |
filter[active_till] | query | string | false | string | Filter on active_till |
filter[owner_reservable] | query | string | false | string | Filter on owner_reservable |
filter[owner_can_make_reservation_on_irregular_price_periods] | query | string | false | string | Filter on owner_can_make_reservation_on_irregular_price_periods |
filter[owner_can_view_availability] | query | string | false | string | Filter on owner_can_view_availability |
filter[owner_can_view_reservations] | query | string | false | string | Filter on owner_can_view_reservations |
filter[owner_can_view_contact_data] | query | string | false | string | Filter on owner_can_view_contact_data |
filter[owner_can_view_order] | query | string | false | string | Filter on owner_can_view_order |
filter[owner_can_view_invoice] | query | string | false | string | Filter on owner_can_view_invoice |
filter[owner_can_view_rent_amount] | query | string | false | string | Filter on owner_can_view_rent_amount |
filter[owner_can_view_settlements] | query | string | false | string | Filter on owner_can_view_settlements |
filter[owner_should_check_reservations] | query | string | false | string | Filter on owner_should_check_reservations |
filter[owner_can_edit_agenda_periods] | query | string | false | string | Filter on owner_can_edit_agenda_periods |
filter[owner_can_view_rentable_details] | query | string | false | string | Filter on owner_can_view_rentable_details |
filter[owner_can_create_pricing_change_request] | query | string | false | string | Filter on owner_can_create_pricing_change_request |
filter[owner_can_view_guest_details] | query | string | false | string | Filter on owner_can_view_guest_details |
filter[owner_can_view_guest_memo] | query | string | false | string | Filter on owner_can_view_guest_memo |
filter[can_promote] | query | string | false | string | Filter on can_promote |
filter[can_view_reviews] | query | string | false | string | Filter on can_view_reviews |
filter[created_at] | query | string | false | string | Filter on created_at |
filter[updated_at] | query | string | false | string | Filter on updated_at |
filter[owner] | query | string | false | string | Filter on owner. Specify a comma separated list of IDs to filter on. |
filter[rentable_identity] | query | string | false | string | Filter on rentable_identity. Specify a comma separated list of IDs to filter on. |
filter[commission_agreement] | query | string | false | string | Filter on commission_agreement. Specify a comma separated list of IDs to filter on. |
include | query | string | false | string | 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 |
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 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 | string | Fieldset. Specify a comma separated list of attributes to return |
filter[id] | query | string | false | string | Filter on ID |
filter[active_from] | query | string | false | string | Filter on active_from |
filter[active_till] | query | string | false | string | Filter on active_till |
filter[owner_reservable] | query | string | false | string | Filter on owner_reservable |
filter[owner_can_make_reservation_on_irregular_price_periods] | query | string | false | string | Filter on owner_can_make_reservation_on_irregular_price_periods |
filter[owner_can_view_availability] | query | string | false | string | Filter on owner_can_view_availability |
filter[owner_can_view_reservations] | query | string | false | string | Filter on owner_can_view_reservations |
filter[owner_can_view_contact_data] | query | string | false | string | Filter on owner_can_view_contact_data |
filter[owner_can_view_order] | query | string | false | string | Filter on owner_can_view_order |
filter[owner_can_view_invoice] | query | string | false | string | Filter on owner_can_view_invoice |
filter[owner_can_view_rent_amount] | query | string | false | string | Filter on owner_can_view_rent_amount |
filter[owner_can_view_settlements] | query | string | false | string | Filter on owner_can_view_settlements |
filter[owner_should_check_reservations] | query | string | false | string | Filter on owner_should_check_reservations |
filter[owner_can_edit_agenda_periods] | query | string | false | string | Filter on owner_can_edit_agenda_periods |
filter[owner_can_view_rentable_details] | query | string | false | string | Filter on owner_can_view_rentable_details |
filter[owner_can_create_pricing_change_request] | query | string | false | string | Filter on owner_can_create_pricing_change_request |
filter[owner_can_view_guest_details] | query | string | false | string | Filter on owner_can_view_guest_details |
filter[owner_can_view_guest_memo] | query | string | false | string | Filter on owner_can_view_guest_memo |
filter[can_promote] | query | string | false | string | Filter on can_promote |
filter[can_view_reviews] | query | string | false | string | Filter on can_view_reviews |
filter[created_at] | query | string | false | string | Filter on created_at |
filter[updated_at] | query | string | false | string | Filter on updated_at |
filter[owner] | query | string | false | string | Filter on owner. Specify a comma separated list of IDs to filter on. |
filter[rentable_identity] | query | string | false | string | Filter on rentable_identity. Specify a comma separated list of IDs to filter on. |
filter[commission_agreement] | query | string | false | string | Filter on commission_agreement. Specify a comma separated list of IDs to filter on. |
include | query | string | false | string | 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 |
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 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 |
Amenities
GET amenities
Code samples
curl --request GET \
--url https://api.bookingexperts.nl/v3/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/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/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/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/amenities
Returns amenities of the organization
Parameters
Name | In | Type | Required | Example | Description |
---|---|---|---|---|---|
page[number] | query | string | false | string | Page number |
page[size] | query | string | false | string | Page size |
sort | query | string | false | string | Sort. Specify a comma separated list of attributes to sort on. Prefix attribute with a \- to sort in descending order |
fields[amenity] | query | string | false | string | Fieldset. Specify a comma separated list of attributes to return |
filter[id] | query | string | false | string | Filter on ID |
filter[name] | query | string | false | string | Filter on name |
filter[type] | query | string | false | string | Filter on type |
filter[position] | query | string | false | string | Filter on position |
filter[semantic_amenity_type] | query | string | false | string | Filter on semantic_amenity_type |
filter[amenity_group] | query | string | false | string | Filter on amenity_group. Specify a comma separated list of IDs to filter on. |
filter[amenity_options] | query | string | false | string | Filter on amenity_options. Specify a comma separated list of IDs to filter on. |
include | query | string | false | string | 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": "amenity",
"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"
},
"type": "Amenity",
"position": 0,
"semantic_amenity_type": "string"
},
"relationships": {
"amenity_group": {
"data": {}
},
"amenity_options": {
"data": [
null
]
}
},
"meta": {
"temp_id": "string"
}
}
],
"meta": {
"pagination": {
"total_records": 0,
"page": 0,
"size": 0
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | AmenityCollectionResponse | Inline |
default | Default | Error | Inline |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
— data | [[Amenity](#schemaamenity)] | false | none | [Amenities are for external and internal use. They can be used to signify amenities of a RentableType or Rentable that are important to the guest. For example: * With sauna * Free wi-fi An Amenity can optionally be numerical or multiple choice. When an Amenity is numerical, the values of linked amenities (RentableTypeAmenity, RentableAmenity, ReservationAmenity and RoomAmenity) denote the numerical value belonging to the amenity. When an Amenity is multiple choice, the values of linked amenities denote the ID of the AmenityOption that applies. ] |
—— id | string | false | none | ID |
—— type | string | false | none | Type |
—— attributes | object | false | none | Attributes |
——— name | object | false | none | Name of the amenity |
———— 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 |
——— type | string | false | none | Type of the amenity |
——— position | integer | false | none | none |
——— semantic_amenity_type | string | false | none | none |
—— relationships | object | false | none | Relationships |
——— amenity_group | object | false | none | none |
———— data | object | false | none | none |
————— id | string | false | none | amenity_group 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_options | object | false | none | none |
———— data | [object] | false | none | none |
————— id | string | false | none | amenity_options 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 | Amenity |
type | Amenities::NumericalAmenity |
type | Amenities::MultipleChoiceAmenity |
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 amenity
Code samples
curl --request GET \
--url https://api.bookingexperts.nl/v3/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/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/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/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/amenities/{id}
Returns the amenity for the given ID
Parameters
Name | In | Type | Required | Example | Description |
---|---|---|---|---|---|
id | path | string | true | string | Resource ID |
fields[amenity] | query | string | false | string | Fieldset. Specify a comma separated list of attributes to return |
filter[id] | query | string | false | string | Filter on ID |
filter[name] | query | string | false | string | Filter on name |
filter[type] | query | string | false | string | Filter on type |
filter[position] | query | string | false | string | Filter on position |
filter[semantic_amenity_type] | query | string | false | string | Filter on semantic_amenity_type |
filter[amenity_group] | query | string | false | string | Filter on amenity_group. Specify a comma separated list of IDs to filter on. |
filter[amenity_options] | query | string | false | string | Filter on amenity_options. Specify a comma separated list of IDs to filter on. |
include | query | string | false | string | 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": "amenity",
"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"
},
"type": "Amenity",
"position": 0,
"semantic_amenity_type": "string"
},
"relationships": {
"amenity_group": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"amenity_options": {
"data": [
{}
]
}
},
"meta": {
"temp_id": "string"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | AmenityResponse | Inline |
default | Default | Error | Inline |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
— data | [Amenity](#schemaamenity) | false | none | Amenities are for external and internal use. They can be used to signify amenities of a RentableType or Rentable that are important to the guest. For example: * With sauna * Free wi-fi An Amenity can optionally be numerical or multiple choice. When an Amenity is numerical, the values of linked amenities (RentableTypeAmenity, RentableAmenity, ReservationAmenity and RoomAmenity) denote the numerical value belonging to the amenity. When an Amenity is multiple choice, the values of linked amenities denote the ID of the AmenityOption that applies. |
—— id | string | false | none | ID |
—— type | string | false | none | Type |
—— attributes | object | false | none | Attributes |
——— name | object | false | none | Name of the amenity |
———— 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 |
——— type | string | false | none | Type of the amenity |
——— position | integer | false | none | none |
——— semantic_amenity_type | string | false | none | none |
—— relationships | object | false | none | Relationships |
——— amenity_group | object | false | none | none |
———— data | object | false | none | none |
————— id | string | false | none | amenity_group 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_options | object | false | none | none |
———— data | [object] | false | none | none |
————— id | string | false | none | amenity_options 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 | Amenity |
type | Amenities::NumericalAmenity |
type | Amenities::MultipleChoiceAmenity |
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 |
App Availabilities
Perform availability search over all organizations subscribed to your app
GET availabilities
Code samples
curl --request GET \
--url https://api.bookingexperts.nl/v3/app/availabilities \
--header 'Accept: application/vnd.api+json' \
--header 'Accept-Language: en,nl' \
--header 'X-APP-API-KEY: API_KEY'
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.bookingexperts.nl/v3/app/availabilities")
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-APP-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/app/availabilities",
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-APP-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/app/availabilities");
xhr.setRequestHeader("Accept", "application/vnd.api+json");
xhr.setRequestHeader("Accept-Language", "en,nl");
xhr.setRequestHeader("X-APP-API-KEY", "API_KEY");
xhr.send(data);
GET /v3/app/availabilities
Returns availability & prices
Parameters
Name | In | Type | Required | Example | Description |
---|---|---|---|---|---|
fields[availability] | query | string | false | string | Fieldset. Specify a comma separated list of attributes to return |
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'. |
channel_ids | query | string | false | string | Specify a comma separated list of channel IDs to be used for searching availability. By default, all accessible channels associated to your app will be used. Overriding this may be useful when you have access to multiple channels of the same administration. |
include_rentable_type_counts | query | boolean | false | true | When true, the amount of results per global segment will be added to the metadata. DEPRECATED: use include_semantic_segment_counts instead. |
include_semantic_segment_counts | query | boolean | false | true | When true, the amount of results per global segment will be added to the metadata. |
include_amenity_counts | query | boolean | false | true | When true, the amount of results per amenity will be added to the metadata |
referrer | query | string | false | string | Referrer name |
filter[start_date] | query | string | false | 2010-01-01..2040-01-01 | Filter on start date. Expects a date range. Note: date ranges have an exclusive end date. |
filter[overlaps_date] | query | string | false | 2010-01-01..2040-01-01 | Filter availabilities that (partially) overlap these dates. |
filter[includes_date] | query | string | false | string | Filter availabilities that contain the specified date range. |
filter[arrangement] | query | string | false | string | Filter on availabilities that exactly match the supplied date range. |
filter[los] | query | string | false | 1..21 | Filter on length of stay. |
filter[wday] | query | integer | false | 0 | Filter on a particular week day. 0 = sunday. |
filter[administration_ids] | query | string | false | string | Filter on administrations. Specify a comma separated list. |
filter[rentable_type_ids] | query | string | false | string | Filter on types. Specify a comma separated list. |
filter[-rentable_type_ids] | query | string | false | string | Exclude types. Specify a comma separated list. |
filter[category_ids] | query | string | false | string | Filter on types. Specify a comma separated list. DEPRECATED: use filter[rentable_type_ids] instead. |
filter[-category_ids] | query | string | false | string | Exclude types. Specify a comma separated list. DEPRECATED: use filter[-rentable_type_ids] instead. |
filter[region_ids] | query | string | false | string | Filter on regions. Specify a comma separated list. |
filter[-region_ids] | query | string | false | string | Exclude regions. Specify a comma separated list. |
filter[rentable_segment_ids] | query | string | false | string | Filter on rentable segments. Specify a comma separated list. |
filter[-rentable_segment_ids] | query | string | false | string | Exclude rentable segments. Specify a comma separated list. |
filter[amenity_ids] | query | string | false | string | Filter on amenities. Specify a comma separated list. |
filter[package_id] | query | string | false | string | Filter on package ID. |
filter[discount_campaign_id] | query | string | false | string | Filter on discount campaign ID. |
filter[country_codes] | query | string | false | string | Filter on country codes. Specify a comma separated list of ISO 3166-1 alpha-2 country codes. For example: NL,EN,DE. |
filter[-country_codes] | query | string | false | string | Exclude country codes. Specify a comma separated list of ISO 3166-1 alpha-2 country codes. |
filter[rentable_types] | query | string | false | house,pitch | Filter on global segments. DEPRECATED: use filter[semantic_segments] instead. Specify a comma separated list. Available global segments: house, pitch, room, berth, apartment, other, year_site. |
filter[-rentable_types] | query | string | false | string | Exclude global segments. DEPRECATED: use filter[-semantic_segments] instead. Specify a comma separated list. Available global segments: house, pitch, room, berth, apartment, other, year_site. |
filter[semantic_segments] | query | string | false | house,pitch | Filter on global segments. Specify a comma separated list. Available global segments: house, pitch, room, berth, apartment, other, year_site. |
filter[-semantic_segments] | query | string | false | string | Exclude global segments. Specify a comma separated list. Available global segments: house, pitch, room, berth, apartment, other, year_site. |
filter[guest_group][seniors] | query | integer | false | 0 | Filter on number of seniors. |
filter[guest_group][adults] | query | integer | false | 2 | Filter on number of adults. |
filter[guest_group][adolescents] | query | integer | false | 0 | Filter on number of adolescents. |
filter[guest_group][children] | query | integer | false | 0 | Filter on number of children. |
filter[guest_group][babies] | query | integer | false | 0 | Filter on number of babies. |
filter[guest_group][pets] | query | integer | false | 0 | Filter on number of pets. |
filter[price] | query | string | false | 0.0..5000.00 | Filter on a price range |
filter[currency] | query | string | false | EUR | Filter on a specific ISO 4217 currency code. By default the prices are returned in the administration's native currency. Results can differ per currency. |
filter[number_of_bedrooms] | query | integer | false | 0 | Filter on type number of bedrooms |
filter[number_of_beds] | query | integer | false | 0 | Filter on type number of beds |
filter[number_of_showers] | query | integer | false | 0 | Filter on type number of showers |
filter[number_of_toilets] | query | integer | false | 0 | Filter on type number of toilets |
filter[number_of_bathrooms] | query | integer | false | 0 | Filter on type number of bathrooms |
filter[number_of_parking_spots] | query | integer | false | 0 | Filter on type number of parking spots |
filter[number_of_child_beds] | query | integer | false | 0 | Filter on type number of child beds |
filter[number_of_child_chairs] | query | integer | false | 0 | Filter on type number of child chairs |
sorters | query | string | false | all_in_amount | Specify a comma separated list of sorters to apply. There are 10 possible sorters: |
sorter[los][desc] | query | boolean | false | true | Boolean specifying the sort direction for the `los` sorter. When unspecified, ascending order is implied. |
sorter[los_distance][desc] | query | boolean | false | true | Boolean specifying the sort direction for the `los_distance` sorter. When unspecified, ascending order is implied. |
sorter[los_distance][los] | query | integer | false | 7 | Length of stay for the `los_distance` sorter |
sorter[start_date][desc] | query | boolean | false | true | Boolean specifying the sort direction for the `start_date` sorter. When unspecified, ascending order is implied. |
sorter[start_date_distance][desc] | query | boolean | false | true | Boolean specifying the sort direction for the `start_date_distance` sorter. When unspecified, ascending order is implied. |
sorter[start_date_distance][start_date] | query | string | false | 2017-07-01 | Start date for the `start_date_distance` sorter |
sorter[arrangement_distance][desc] | query | boolean | false | true | Boolean specifying the sort direction for the `arrangement_distance` sorter. When unspecified, ascending order is implied. |
sorter[arrangement_distance][arrangement] | query | string | false | 2017-07-01..2017-07-08 | Arrangement for the `arrangement_distance` sorter |
sorter[max_guests][desc] | query | boolean | false | true | Boolean specifying the sort direction for the `max_guests` sorter. When unspecified, ascending order is implied. |
sorter[highlighted][desc] | query | boolean | false | true | Boolean specifying the sort direction for the `highlighted` sorter. When unspecified, ascending order is implied. |
sorter[all_in_amount][desc] | query | boolean | false | true | Boolean specifying the sort direction for the `all_in_amount` sorter. When unspecified, ascending order is implied. |
sorter[amenity_ids_match_score][desc] | query | boolean | false | true | Boolean specifying the sort direction for the `amenity_ids_match_score` sorter. When unspecified, ascending order is implied. |
sorter[amenity_ids_match_score][amenity_ids] | query | string | false | 1,2 | Amenity IDs for the `amenity_ids_match_score` sorter |
sorter[avg_score][desc] | query | boolean | false | true | Boolean specifying the sort direction for the `avg_score` sorter. When unspecified, ascending order is implied. |
limit | query | string | false | availabilities | Specify a limiter here. There are 5 different limiters: |
limiter[availabilities][limit] | query | integer | false | 10 | Return `limit` availabilities |
limiter[start_dates][limit] | query | integer | false | 10 | Limit to the `limit` best arrival dates |
limiter[start_dates][availabilities] | query | integer | false | 10 | Number of availabilities to return |
limiter[categories][limit] | query | integer | false | 10 | Limit to the `limit` best types. DEPRECATED: use rentable_types instead. |
limiter[categories][offset] | query | integer | false | 0 | Result offset for the `categories` limiter, useful for pagination |
limiter[categories][availabilities] | query | integer | false | 10 | Number of availabilities to return |
limiter[rentable_types][limit] | query | integer | false | 10 | Limit to the `limit` best types |
limiter[rentable_types][offset] | query | integer | false | 0 | Result offset for the `rentable_types` limiter, useful for pagination |
limiter[rentable_types][availabilities] | query | integer | false | 10 | Number of availabilities to return |
limiter[administrations][limit] | query | integer | false | 10 | Limit to the `limit` best administrations |
limiter[administrations][categories] | query | integer | false | 3 | Limit to the `limit` best types. DEPRECATED: use limiter[administrations][rentable_types] instead. |
limiter[administrations][rentable_types] | query | integer | false | 3 | Limit to the `limit` best types |
limiter[administrations][availabilities] | query | integer | false | 10 | Number of availabilities to return |
Detailed descriptions
sorters: Specify a comma separated list of sorters to apply. There are 10 possible sorters:
los
Order by length of staylos_distance
Order by the distance of a particular length of staystart_date
Order by start datesstart_date_distance
Order by the distance of a particular start datearrangement_distance
Order by the distance of a particular arrangementmax_guests
Order by maximum guests of the typehighlighted
Order by availabilities that have a type that is highlightedall_in_amount
Order by priceamenity_ids_match_score
Order by whether the amenities matchavg_score
Order by average review score of the type
Configuration for each applied sorter (for example descending order) must be passed separately, see the options below.
limit: Specify a limiter here. There are 5 different limiters:
availabilities
Returnlimit
availabilitiesstart_dates
Limit to thelimit
best arrival datescategories
Limit to thelimit
best types. DEPRECATED: use rentable_types instead.rentable_types
Limit to thelimit
best typesadministrations
Limit to thelimit
best administrations
Configuration for the chosen limiter (for example the number of availabilities to return) must be passed separately, see the options below.
Example responses
200 Response
{
"data": {
"id": "1",
"type": "availability",
"attributes": {
"start_date": "2019-08-24",
"los": 7,
"checkin_time": "14:00",
"checkout_time": "10:00",
"price": {
"currency": "string",
"value": "string"
},
"original_price": {
"currency": "string",
"value": "string"
},
"rent_price": {
"currency": "string",
"value": "string"
},
"original_rent_price": {
"currency": "string",
"value": "string"
},
"stock": 2,
"available_for_pets": true
},
"relationships": {
"administration": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"category": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"rentable_type": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"discount_campaign": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"discount_action": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"missing_amenities": {
"data": [
{}
]
},
"available_rentables": {
"data": [
{}
]
}
},
"meta": {
"temp_id": "string"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | AvailabilityResponse | Inline |
default | Default | Error | Inline |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
— data | [Availability](#schemaavailability) | false | none | Availabilities represent a stay in or at a Rentable (mostly a holiday house, room or campsite). It includes an exact (all-in) price for the supplied guest group and other filters. For example, the search can give you a list of availabilities for 2 adults, 2 children, 1 pet, scoped on The Netherlands and Belgium with preference for a Rentable with sea view for a specific price range including all-in prices. This allows the guest to really compare Rentables because there will be no fees that are added during the reservation process. *Note: Users can explicitly exclude costs from the all-in price. This is not standard behaviour.* |
—— id | string | false | none | ID |
—— type | string | false | none | Type |
—— attributes | object | false | none | Attributes |
——— start_date | string(date) | false | none | Date of arrival |
——— los | integer | false | none | Length of stay in nights |
——— checkin_time | string | false | none | none |
——— checkout_time | string | false | none | none |
——— price | object | false | none | All-in price considering rent, extras and discounts. Will be null when no guest group supplied |
———— currency | string | false | none | none |
———— value | string | false | none | none |
——— original_price | object | false | none | Price considering rent, extras but without discounts. Will be null when no guest group supplied |
———— currency | string | false | none | none |
———— value | string | false | none | none |
——— rent_price | object | false | none | Rent-only price. Does not include extra costs. Includes applicable discount |
———— currency | string | false | none | none |
———— value | string | false | none | none |
——— original_rent_price | object | false | none | Rent-only price without applicable discount |
———— currency | string | false | none | none |
———— value | string | false | none | none |
——— stock | integer | false | none | The number of units of this type available in this period. Takes filters and allotments into account |
——— available_for_pets | boolean | false | none | Returns whether there are any accommodations available that support pets. For performance reasons, this field will only be included when explicitly defined in a sparse fieldset. |
—— 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. |
——— category | object | false | none | DEPRECATED use rentable_type instead |
———— data | object | false | none | none |
————— id | string | false | none | category 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 | object | false | none | none |
———— data | object | false | none | none |
————— id | string | false | none | rentable_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. |
——— discount_campaign | object | false | none | none |
———— data | object | false | none | none |
————— id | string | false | none | discount_campaign 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. |
——— discount_action | object | false | none | none |
———— data | object | false | none | none |
————— id | string | false | none | discount_action 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. |
——— missing_amenities | object | false | none | none |
———— data | [object] | false | none | none |
————— id | string | false | none | missing_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. |
——— available_rentables | object | false | none | none |
———— data | [object] | false | none | none |
————— id | string | false | none | available_rentables 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 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 |
App Supported Payment Methods
Yields payment methods supported by BEX
GET supported_payment_methods
Code samples
curl --request GET \
--url https://api.bookingexperts.nl/v3/app/supported_payment_methods \
--header 'Accept: application/vnd.api+json' \
--header 'Accept-Language: en,nl' \
--header 'X-APP-API-KEY: API_KEY'
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.bookingexperts.nl/v3/app/supported_payment_methods")
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-APP-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/app/supported_payment_methods",
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-APP-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/app/supported_payment_methods");
xhr.setRequestHeader("Accept", "application/vnd.api+json");
xhr.setRequestHeader("Accept-Language", "en,nl");
xhr.setRequestHeader("X-APP-API-KEY", "API_KEY");
xhr.send(data);
GET /v3/app/supported_payment_methods
Returns all supported payment methods
Parameters
Name | In | Type | Required | Example | Description |
---|---|---|---|---|---|
fields[supported_payment_method] | query | string | false | string | Fieldset. Specify a comma separated list of attributes to return |
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": "supported_payment_method",
"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"
},
"svg_image_url": "string",
"png_image_url": "string"
},
"meta": {
"temp_id": "string"
}
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | SupportedPaymentMethodCollectionResponse | Inline |
default | Default | Error | Inline |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
— data | [[SupportedPaymentMethod](#schemasupportedpaymentmethod)] | false | none | [Translated names and images for a supported payment method] |
—— 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 |
——— svg_image_url | string | false | none | none |
——— png_image_url | string | false | none | none |
—— 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 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 |
Availabilities
GET availabilities
Code samples
curl --request GET \
--url https://api.bookingexperts.nl/v3/availabilities \
--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/availabilities")
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/availabilities",
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/availabilities");
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/availabilities
Returns availability & prices
Parameters
Name | In | Type | Required | Example | Description |
---|---|---|---|---|---|
fields[availability] | query | string | false | string | Fieldset. Specify a comma separated list of attributes to return |
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'. |
channel_ids | query | string | false | string | Specify a comma separated list of channel IDs to be used for searching availability. By default, all accessible channels associated to your app will be used. Overriding this may be useful when you have access to multiple channels of the same administration. |
include_rentable_type_counts | query | boolean | false | true | When true, the amount of results per global segment will be added to the metadata. DEPRECATED: use include_semantic_segment_counts instead. |
include_semantic_segment_counts | query | boolean | false | true | When true, the amount of results per global segment will be added to the metadata. |
include_amenity_counts | query | boolean | false | true | When true, the amount of results per amenity will be added to the metadata |
referrer | query | string | false | string | Referrer name |
filter[start_date] | query | string | false | 2010-01-01..2040-01-01 | Filter on start date. Expects a date range. Note: date ranges have an exclusive end date. |
filter[overlaps_date] | query | string | false | 2010-01-01..2040-01-01 | Filter availabilities that (partially) overlap these dates. |
filter[includes_date] | query | string | false | string | Filter availabilities that contain the specified date range. |
filter[arrangement] | query | string | false | string | Filter on availabilities that exactly match the supplied date range. |
filter[los] | query | string | false | 1..21 | Filter on length of stay. |
filter[wday] | query | integer | false | 0 | Filter on a particular week day. 0 = sunday. |
filter[administration_ids] | query | string | false | string | Filter on administrations. Specify a comma separated list. |
filter[rentable_type_ids] | query | string | false | string | Filter on types. Specify a comma separated list. |
filter[-rentable_type_ids] | query | string | false | string | Exclude types. Specify a comma separated list. |
filter[category_ids] | query | string | false | string | Filter on types. Specify a comma separated list. DEPRECATED: use filter[rentable_type_ids] instead. |
filter[-category_ids] | query | string | false | string | Exclude types. Specify a comma separated list. DEPRECATED: use filter[-rentable_type_ids] instead. |
filter[region_ids] | query | string | false | string | Filter on regions. Specify a comma separated list. |
filter[-region_ids] | query | string | false | string | Exclude regions. Specify a comma separated list. |
filter[rentable_segment_ids] | query | string | false | string | Filter on rentable segments. Specify a comma separated list. |
filter[-rentable_segment_ids] | query | string | false | string | Exclude rentable segments. Specify a comma separated list. |
filter[amenity_ids] | query | string | false | string | Filter on amenities. Specify a comma separated list. |
filter[package_id] | query | string | false | string | Filter on package ID. |
filter[discount_campaign_id] | query | string | false | string | Filter on discount campaign ID. |
filter[country_codes] | query | string | false | string | Filter on country codes. Specify a comma separated list of ISO 3166-1 alpha-2 country codes. For example: NL,EN,DE. |
filter[-country_codes] | query | string | false | string | Exclude country codes. Specify a comma separated list of ISO 3166-1 alpha-2 country codes. |
filter[rentable_types] | query | string | false | house,pitch | Filter on global segments. DEPRECATED: use filter[semantic_segments] instead. Specify a comma separated list. Available global segments: house, pitch, room, berth, apartment, other, year_site. |
filter[-rentable_types] | query | string | false | string | Exclude global segments. DEPRECATED: use filter[-semantic_segments] instead. Specify a comma separated list. Available global segments: house, pitch, room, berth, apartment, other, year_site. |
filter[semantic_segments] | query | string | false | house,pitch | Filter on global segments. Specify a comma separated list. Available global segments: house, pitch, room, berth, apartment, other, year_site. |
filter[-semantic_segments] | query | string | false | string | Exclude global segments. Specify a comma separated list. Available global segments: house, pitch, room, berth, apartment, other, year_site. |
filter[guest_group][seniors] | query | integer | false | 0 | Filter on number of seniors. |
filter[guest_group][adults] | query | integer | false | 2 | Filter on number of adults. |
filter[guest_group][adolescents] | query | integer | false | 0 | Filter on number of adolescents. |
filter[guest_group][children] | query | integer | false | 0 | Filter on number of children. |
filter[guest_group][babies] | query | integer | false | 0 | Filter on number of babies. |
filter[guest_group][pets] | query | integer | false | 0 | Filter on number of pets. |
filter[price] | query | string | false | 0.0..5000.00 | Filter on a price range |
filter[currency] | query | string | false | EUR | Filter on a specific ISO 4217 currency code. By default the prices are returned in the administration's native currency. Results can differ per currency. |
filter[number_of_bedrooms] | query | integer | false | 0 | Filter on type number of bedrooms |
filter[number_of_beds] | query | integer | false | 0 | Filter on type number of beds |
filter[number_of_showers] | query | integer | false | 0 | Filter on type number of showers |
filter[number_of_toilets] | query | integer | false | 0 | Filter on type number of toilets |
filter[number_of_bathrooms] | query | integer | false | 0 | Filter on type number of bathrooms |
filter[number_of_parking_spots] | query | integer | false | 0 | Filter on type number of parking spots |
filter[number_of_child_beds] | query | integer | false | 0 | Filter on type number of child beds |
filter[number_of_child_chairs] | query | integer | false | 0 | Filter on type number of child chairs |
sorters | query | string | false | all_in_amount | Specify a comma separated list of sorters to apply. There are 10 possible sorters: |
sorter[los][desc] | query | boolean | false | true | Boolean specifying the sort direction for the `los` sorter. When unspecified, ascending order is implied. |
sorter[los_distance][desc] | query | boolean | false | true | Boolean specifying the sort direction for the `los_distance` sorter. When unspecified, ascending order is implied. |
sorter[los_distance][los] | query | integer | false | 7 | Length of stay for the `los_distance` sorter |
sorter[start_date][desc] | query | boolean | false | true | Boolean specifying the sort direction for the `start_date` sorter. When unspecified, ascending order is implied. |
sorter[start_date_distance][desc] | query | boolean | false | true | Boolean specifying the sort direction for the `start_date_distance` sorter. When unspecified, ascending order is implied. |
sorter[start_date_distance][start_date] | query | string | false | 2017-07-01 | Start date for the `start_date_distance` sorter |
sorter[arrangement_distance][desc] | query | boolean | false | true | Boolean specifying the sort direction for the `arrangement_distance` sorter. When unspecified, ascending order is implied. |
sorter[arrangement_distance][arrangement] | query | string | false | 2017-07-01..2017-07-08 | Arrangement for the `arrangement_distance` sorter |
sorter[max_guests][desc] | query | boolean | false | true | Boolean specifying the sort direction for the `max_guests` sorter. When unspecified, ascending order is implied. |
sorter[highlighted][desc] | query | boolean | false | true | Boolean specifying the sort direction for the `highlighted` sorter. When unspecified, ascending order is implied. |
sorter[all_in_amount][desc] | query | boolean | false | true | Boolean specifying the sort direction for the `all_in_amount` sorter. When unspecified, ascending order is implied. |
sorter[amenity_ids_match_score][desc] | query | boolean | false | true | Boolean specifying the sort direction for the `amenity_ids_match_score` sorter. When unspecified, ascending order is implied. |
sorter[amenity_ids_match_score][amenity_ids] | query | string | false | 1,2 | Amenity IDs for the `amenity_ids_match_score` sorter |
sorter[avg_score][desc] | query | boolean | false | true | Boolean specifying the sort direction for the `avg_score` sorter. When unspecified, ascending order is implied. |
limit | query | string | false | availabilities | Specify a limiter here. There are 5 different limiters: |
limiter[availabilities][limit] | query | integer | false | 10 | Return `limit` availabilities |
limiter[start_dates][limit] | query | integer | false | 10 | Limit to the `limit` best arrival dates |
limiter[start_dates][availabilities] | query | integer | false | 10 | Number of availabilities to return |
limiter[categories][limit] | query | integer | false | 10 | Limit to the `limit` best types. DEPRECATED: use rentable_types instead. |
limiter[categories][offset] | query | integer | false | 0 | Result offset for the `categories` limiter, useful for pagination |
limiter[categories][availabilities] | query | integer | false | 10 | Number of availabilities to return |
limiter[rentable_types][limit] | query | integer | false | 10 | Limit to the `limit` best types |
limiter[rentable_types][offset] | query | integer | false | 0 | Result offset for the `rentable_types` limiter, useful for pagination |
limiter[rentable_types][availabilities] | query | integer | false | 10 | Number of availabilities to return |
limiter[administrations][limit] | query | integer | false | 10 | Limit to the `limit` best administrations |
limiter[administrations][categories] | query | integer | false | 3 | Limit to the `limit` best types. DEPRECATED: use limiter[administrations][rentable_types] instead. |
limiter[administrations][rentable_types] | query | integer | false | 3 | Limit to the `limit` best types |
limiter[administrations][availabilities] | query | integer | false | 10 | Number of availabilities to return |
Detailed descriptions
sorters: Specify a comma separated list of sorters to apply. There are 10 possible sorters:
los
Order by length of staylos_distance
Order by the distance of a particular length of staystart_date
Order by start datesstart_date_distance
Order by the distance of a particular start datearrangement_distance
Order by the distance of a particular arrangementmax_guests
Order by maximum guests of the typehighlighted
Order by availabilities that have a type that is highlightedall_in_amount
Order by priceamenity_ids_match_score
Order by whether the amenities matchavg_score
Order by average review score of the type
Configuration for each applied sorter (for example descending order) must be passed separately, see the options below.
limit: Specify a limiter here. There are 5 different limiters:
availabilities
Returnlimit
availabilitiesstart_dates
Limit to thelimit
best arrival datescategories
Limit to thelimit
best types. DEPRECATED: use rentable_types instead.rentable_types
Limit to thelimit
best typesadministrations
Limit to thelimit
best administrations
Configuration for the chosen limiter (for example the number of availabilities to return) must be passed separately, see the options below.
Example responses
200 Response
{
"data": {
"id": "1",
"type": "availability",
"attributes": {
"start_date": "2019-08-24",
"los": 7,
"checkin_time": "14:00",
"checkout_time": "10:00",
"price": {
"currency": "string",
"value": "string"
},
"original_price": {
"currency": "string",
"value": "string"
},
"rent_price": {
"currency": "string",
"value": "string"
},
"original_rent_price": {
"currency": "string",
"value": "string"
},
"stock": 2,
"available_for_pets": true
},
"relationships": {
"administration": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"category": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"rentable_type": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"discount_campaign": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"discount_action": {
"data": {
"id": null,
"type": null,
"meta": null
}
},
"missing_amenities": {
"data": [
{}
]
},
"available_rentables": {
"data": [
{}
]
}
},
"meta": {
"temp_id": "string"
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | AvailabilityResponse | Inline |
default | Default | Error | Inline |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
— data | [Availability](#schemaavailability) | false | none | Availabilities represent a stay in or at a Rentable (mostly a holiday house, room or campsite). It includes an exact (all-in) price for the supplied guest group and other filters. For example, the search can give you a list of availabilities for 2 adults, 2 children, 1 pet, scoped on The Netherlands and Belgium with preference for a Rentable with sea view for a specific price range including all-in prices. This allows the guest to really compare Rentables because there will be no fees that are added during the reservation process. *Note: Users can explicitly exclude costs from the all-in price. This is not standard behaviour.* |
—— id | string | false | none | ID |
—— type | string | false | none | Type |
—— attributes | object | false | none | Attributes |
——— start_date | string(date) | false | none | Date of arrival |
——— los | integer | false | none | Length of stay in nights |
——— checkin_time | string | false | none | none |
——— checkout_time | string | false | none | none |
——— price | object | false | none | All-in price considering rent, extras and discounts. Will be null when no guest group supplied |
———— currency | string | false | none | none |
———— value | string | false | none | none |
——— original_price | object | false | none | Price considering rent, extras but without discounts. Will be null when no guest group supplied |
———— currency | string | false | none | none |
———— value | string | false | none | none |
——— rent_price | object | false | none | Rent-only price. Does not include extra costs. Includes applicable discount |
———— currency | string | false | none | none |
———— value | string | false | none | none |
——— original_rent_price | object | false | none | Rent-only price without applicable discount |
———— currency | string | false | none | none |
———— value | string | false | none | none |
——— stock | integer | false | none | The number of units of this type available in this period. Takes filters and allotments into account |
——— available_for_pets | boolean | false | none | Returns whether there are any accommodations available that support pets. For performance reasons, this field will only be included when explicitly defined in a sparse fieldset. |
—— 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. |
——— category | object | false | none | DEPRECATED use rentable_type instead |
———— data | object | false | none | none |
————— id | string | false | none | category 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. |