Maxxton

Maxxton External API

1. Overview

The document comprises RESTful web services which refers to the methods (GET, POST, PUT, DELETE), endpoints of the APIs, required fields and explains what services consumes and produces.
It also tells what data is to be sent in request body and what will be returned in response body.
The dates that are being entered along with time depicts the UTC time zone and the one without time represents just that day.

1.2. Contact information

Contact : Maxxton Group
Contact Email : api@maxxton.com

1.3. URI scheme

Host : Test: https://api-test.maxxton.net , Production: https://api.maxxton.net
BasePath : /maxxton/v1
Schemes : HTTPS

1.4. Tags

  • Accommodation Types : A group of similar units

  • AddOn : Extras and products that can be booked with an accommodation type

  • AdminOrganisation : List of AdminOrganisation

  • Allotment : Guaranteed availability for a specific distribution channel

  • Amenity : Features or facilities available on a resort or an accommodation type

  • Authentication : Authentication

  • Brands : Different labels used for marketing of an accommodation type

  • Cash Clearance : Informations related to cash reservations and company.

  • Contracts : Formal legal agreement between the owner and the resort

  • Countries : List of countries.

  • Currency : List of currencies

  • Customer Status : Statuses given to customers as per customer’s reservation history

  • Customers : Guest who can book reservations

  • DistributionChannels : Channel through which reservations can be booked

  • Employee : Employees

  • Events : Events occurred in the system due to modifications of the entities

  • Facilities : Different labels used for facilities

  • Groups : Grouping different kind of entities

  • Housekeeping : Information related to housekeeping

  • Icals : Icals

  • Infotexts : Information related to all the infotexts.

  • Languages : Available languages in the system

  • Ledgers : Ledgers

  • Locks : Locks

  • Memos : Informative text on different entities

  • Offer : Discounts or special offers on accommodations

  • Operations : Operations

  • Owners : Someone who owns an accommodation

  • Packages : Packages

  • Payment Term Set : Informations related to payment term sets.

  • PointsOfInterests : PointsOfInterests

  • PredefinedMemo : Informative text on different entities

  • Rate Types : A group of different prices of an accommodation type

  • Region : Defines region on a map

  • Rentability : Possible arrival and departure days

  • Representation : Defines accommodation type configuration valid for a distribution channel

  • Resellers : Agent who are selling accommodation types

  • Reservability : Number of units available

  • Reservations : Customer booking of an accommodation

  • Resorts : Group of accommodation types at the same location

  • Room types : Defines type of room in an unit

  • Rooms : Defines a room in an unit

  • Send Methods : Send methods of reservation

  • Subjects : Subjects for accommodation types

  • Units : Physical accommodation where customer stays

1.5. Authentication

Maxxton External APIs are secure RESTful web services and authentication(OAuth2) is required to access them, user will be authenticated based on the token passed in the request.

1.5.1. Endpoint used to generate access token

POST /maxxton/v1/authenticate?grant_type=client_credentials&client_id={api username}&client_secret={api key}&scope={concern code}
Parameters
Name Description

grant_type

Authentication type, this is 'client_credentials' for API.

concern

3 letter code which specifies the environment used, usually an abbreviation of the clients name(deprecated in favor of scope).

scope

3 letter code which specifies the environment used, usually an abbreviation of the clients name(this can be found in the Maxxton software URL).

client_id

The unique client identifier to access the API. This can be found in the Maxxton software backoffice where API users are configured.

client_secret

The secret associated with client id to access the API. This can be found in the Maxxton software backoffice where API users are configured.

The response that can be returned are:

Responses
HTTP Code Description

500

Error occurred while processing

200

OK. Access token is generated which is used for further calls to authenticate.

After generating the token, the access token can be used by adding it to the header parameters with
key: Authorization and value: {token_type} {access_token}

  • The client_id and the client_secret will be provided by Maxxton/Maxxton client as part of API credentials.

  • Please contact the particular Maxxton client to request API credentials to access their Maxxton environment and data.

  • Concern or scope can be used for passing the concern parameter but scope is preferred as it is fully oauth2 compatible.

Note: Either of the two parameters i.e Concern or Scope is mandatory.

For more information: Login

1.6. API Pricing

The API costs are based on the number of requests per month, the first 750,000 requests per month(25,000 requests per day) are not charged. Subsequent requests are charged as per the API price calculator. The processes can be speeded up by making multiple API requests at the same time, this is called concurrent calls in the model. Concurrent calls have a bigger impact on the Maxxton API resources, therefore extra costs are charged.

Estimate standard API costs based on usage.

Requests per day Requests per month

0

Free

per
day
month * based on a 30 day month

1.6.1. Notes applicable to the API Pricing

  • The number of concurrent calls is limited to the maximum number per IP, by default this is 15.

  • The number of concurrent calls will be used as a logarithmic parameter in the pay-per-use model and will impact the charges on actual usage.

  • The number of requests is not limited and will be charged based on actual usage.

  • Costs only apply to the new Maxxton REST API.

  • The number of requests only applies to the production API (api.maxxton.net).

  • The acceptance (api-test.maxxton.net) API can be used free of charge, subject to adherence to the fair use policy.

  • Fair use policy applies to both production and acceptance API.

  • API Support is included for daily support questions

  • Development of new features and project guidance/management is charged per hour.

  • Clients can request new features to decrease the REST API usage. Maxxton will, commercially reasonable, develop new features on request to decrease API usage.

1.6.2. Fair Use Policy

On our API we do not have a fixed restriction on the number of api calls. However, a Fair Use Policy applies to the usage of the API.

Normal usage is permitted. Excessive usage is not permitted. Excessive usage means, the usage which has an impact on our server performance or impact on other customers who use the API.

1.7. Filtering

Many calls contain filtering, this is a way to filter the output of the calls. In swagger(url can be found in documentation) it says filter parameter where this can be used. filtering means you can filter on any non-nested field in the output with the following features:

Definition Symbol Usage Result

Equals

:

?filter=name:bob

Selects all the records where the name contains the String bob.

Strict Equals

::

?filter=name::bob

Selects all the records where the name is strictly equals to bob.

Not Equals

!:

?filter=name!:bob

Selects all the records where the name is not equal to bob.

Greater Than

>

?filter=age>30

Selects all the records where the age is greater than 30.

Greater Than Equals

>:

?filter=age>:30

Selects all the records where the age is greater than or equal to 30.

Less Than

<

?filter=age<30

Selects all the records where the age is less than 30.

Less Than Equals

<:

?filter=age <: 30

Selects all the records where the age is less than or equal to 30.

These are the operators you can use in the filtering of the filter:

Definition Symbol Usage Result

Chain multiple filters (OR)

||

?filter=name:Bob||age=30

Selects all the records where name is Bob or age is 30.

Creating a single filter or chain multiple(AND)

&

?filter=name:Bob&filter=age:30

Selects all the records where name is Bob and age is 30.

1.8. Pagination

Pagination is used to divide large response into small response which leads minimizing the response time. General concept is separating a large page into small pages.
Most of the Maxxton External API endpoints follow pagination
You can control the number of results returned in a single request by specifying the page number and page size.
Page and Size are 2 request parameters that can be used with request to control pagination.

Name Description

page

Default page is 0, Page can be used to extract response of specific page.

size

Default size is 20, Size can be used to extract required no of elements per specific page.

With every response, there are few parameters in response that gives information about the pagination followed in request.

size Size value considered for request

number

Page no considered for request

numberOfElements

No of elements fetched in the response

totalElements

Total no of elements that can be fetched

totalPages

Total no of pages that can be requested

first

True if its a first page, else False

last

True if its a last page, else False

1.9. Sorting

Sorting is used to order the response based on the values of a particular field of the response. General concept is fetching a page/list of response in the ascending or descending order of the specified field.
Sorting is possible in all the endpoints where pagination is supported.

This can be done by specifying the sort request parameter with the field name and order of descending, as follows:
sort=fieldname,desc or sort=fieldname,asc

Name Description

sort

Default sorting is asc if only sort=fieldname is used, orders the response based on a particular field of the response.

With every sorted response, there are few parameters under the section sort at the end of page that gives information about the sorting followed in request.

direction The order of the sorting. ASC for ascending or DESC for descending

property

the fieldname in the response whose value was used for sorting the response

ignoreCase

whether casing of alphanumberic values was considered in sorting in case of string fields

nullHandling

enumeration for null handling hints that can be used in the sorting. typical values are NATIVE, NULLS_FIRST or NULLS_LAST

ascending

True if sorting was ascending, else False

descending

True if sorting was descending, else False

1.10. Date Fields

Following is the description of different date fields used in various domains of API endpoints.

Name Description

reservationDate

date the guest creates the reservation.

arrivalDate

date the guest arrives.

departureDate

date the guest leaves.

stayDateFrom

start of period within a period of the reservation(between and including arrival and departure date).

stayDateTo

end of period within a period of the reservation(between and including arrival and departure date).

1.11. Header

Header parameters contain information that are an important part of the API request and response as they represent the meta-data associated with the API request and response.
Following header parameters can be used with Maxxton APIs:

Name Description Example

locale

This header can be passed in the request to filter all the translations in the response in any specific language. The user can pass the language code as value of the locale header to filter the translations. The value of the locale header can also be passed in the following format "en_US" (language code followed by country code).

locale=en
OR
locale=en_US

x-show-archived

This header can be used to get archived data in the response. The user can pass "true" as value of the header to view the archived data in the response and if the value of this header is passed as "false" then the archived data is not displayed in the response.

x-show-archived=true
OR
x-show-archived=false

1.12. Error Codes

Following error codes are available in response of Maxxton APIs:

Error Code Description HTTP Status

ThirdParty-101

Resource not found

404

ThirdParty-102

Unit not found

404

ThirdParty-103

Locks not found

404

ThirdParty-104

Unable to load addresses

500

ThirdParty-105

Offer is not found

404

ThirdParty-107

Distribution channel id is not valid or is null

400

ThirdParty-108

Manager id is not found.

400

ThirdParty-109

Accommodation type is not found

404

ThirdParty-110

Representation is not found

404

ThirdParty-111

add-ons is not found

404

ThirdParty-112

Group type is not correct.

400

ThirdParty-113

Wrong input

400

ThirdParty-114

Unable to generate or use property descriptor for field

500

ThirdParty-115

Resort not found

404

ThirdParty-116

Unable to filter translation

500

ThirdParty-117

Year paramater is missing

400

ThirdParty-118

Configuration is missing

500

ThirdParty-122

The category code does not exist or not equivalent to the token reservation category or not linked with input distribution channel

400

ThirdParty-123

The distribution channel code does not exist or null

400

ThirdParty-124

The subject does not exist with subjectId or null

400

ThirdParty-125

The resource does not exist with resourceId

400

ThirdParty-126

Customer details not provided.

400

ThirdParty-127

There is no availability for the given criteria

400

ThirdParty-128

Status should be QUOTATION or OPTIONAL

400

ThirdParty-129

The request has an incorrect body

400

ThirdParty-130

Reservation does not exist.

404

ThirdParty-131

Rate type does not exist or null.

404

ThirdParty-132

No default rate type is selected for given distribution channel.

404

ThirdParty-133

You are not allowed to create reservation with given distribution channel code.

400

ThirdParty-134

The header IF_MODIFIED_SINCE is missing.

400

ThirdParty-135

Internal server error occurred.

500

ThirdParty-136

Missing or invalid parameter

400

ThirdParty-137

Reservation category not found.

404

ThirdParty-138

Accommodation does not exists.

404

ThirdParty-139

Invalid subject

400

ThirdParty-140

Property preference not found.

400

ThirdParty-141

No choice found for the given criteria.

400

ThirdParty-142

No customer found for the customer id

400

ThirdParty-143

No modified records found.

404

ThirdParty-144

start/end date should not be null and startDate should be less than endDate and the period should be in between reservation period.

400

ThirdParty-145

Additions not found.

400

ThirdParty-146

Quantity should not be null, less than or equal to 0.

400

ThirdParty-147

Unable to retrieve turnover for the reservation

404

ThirdParty-148

The unit does not exist with unitId.

400

ThirdParty-149

The given addition criteria does not match or addition’s show moment is incorrect.

400

ThirdParty-150

Accommodation not available.

400

ThirdParty-151

Distribution channel code is not valid or is null

400

ThirdParty-152

Section parameters are invalid in batch request

400

ThirdParty-153

Capacities are not configured on accommodationtype.

404

ThirdParty-154

The incorrect format of input parameter.

400

ThirdParty-155

The quantiy and price should not be passed with unitId

400

ThirdParty-156

Resource quantity is not valid or can not be changable

400

ThirdParty-157

Reservation can not be updated because of some internal error

400

ThirdParty-158

The header IF_MODIFIED_SINCE is incorrect.

400

ThirdParty-159

The date in IF_MODIFIED_SINCE should not be greater than current date

400

ThirdParty-160

Modify the time stamp format. Should be : EEE, dd MMM yyyy HH:mm:ss

400

ThirdParty-161

No currency found for the currency id

404

ThirdParty-162

Concern or scope not found

400

ThirdParty-163

Required parameter is missing in new-reservation customer request body

400

ThirdParty-164

Language not available for Locale or Locale is incorrect

400

ThirdParty-165

Invalid region id

404

ThirdParty-166

Brand not found

404

ThirdParty-167

start/end or actual start/end date can not be update for the reserved resource

400

ThirdParty-168

Invalid ownerId

404

ThirdParty-169

The distribution channel does not exist

404

ThirdParty-170

No data found

404

ThirdParty-171

Invalid ownerGroupId

404

ThirdParty-172

Requested page size is invalid

400

ThirdParty-173

Invalid memoCategoryId

400

ThirdParty-174

Seasonality not found

404

ThirdParty-175

Either Fiscal year or startDate/endDate allowed

400

ThirdParty-176

Resource type is invalid

400

ThirdParty-177

the url passed is invalid

400

ThirdParty-178

Given fiscal year is not configured

400

ThirdParty-179

Update reservation request has invalid reservation status

400

ThirdParty-180

Payer type is invalid

400

ThirdParty-181

ArrivalDate field cannot be null or empty

400

ThirdParty-182

Arrival date passed in invalid

400

ThirdParty-183

NumberOfDaysInResult is mandatory, cannot be null or greater than 30

400

ThirdParty-184

Invalid room id

404

ThirdParty-185

ResourceIds is mandatory, cannot be null

400

ThirdParty-186

Invalid preference type

400

ThirdParty-187

Invalid reservation status

400

ThirdParty-188

Maximum size of paged response is limited to 2000

400

ThirdParty-189

Request body can’t be empty or blank with post method

400

ThirdParty-190

You have insufficient permission to update the field provided in request body

403

ThirdParty-191

Customer not found

404

ThirdParty-192

Resource does not allow price change

400

ThirdParty-193

Reseller not found

404

ThirdParty-194

Reservation status cannot be changed as a unit is not available.

400

ThirdParty-195

Cannot change the reservation status as the reservation config is missing.

400

ThirdParty-196

Invalid countryId.

400

ThirdParty-197

Quantity too high for addition.

400

ThirdParty-198

Quantity too low for addition.

400

ThirdParty-199

Group type is invalid

400

ThirdParty-200

Either reservationIds or customerIds should be passed in request with accommodationKindIds.

400

ThirdParty-201

The startDate and endDate of accommodation or special cannot be updated.

400

ThirdParty-202

Only one resourceId could be passed in resourceIds.

400

ThirdParty-203

Invalid field name passed in the request body.

400

ThirdParty-204

Missing required parameter.

400

ThirdParty-205

DateRange is exceeded limit.

400

ThirdParty-206

The amenity passed in preferences is not valid for reservation stay.

400

ThirdParty-207

Accommodation is of work order type.

400

ThirdParty-208

AdditionResourceId is either invalid or is not available for reservation stay.

400

ThirdParty-209

ResourceId is invalid

400

ThirdParty-210

Incorrect reservedResourceId for reservation.

400

ThirdParty-211

Invalid titleId passed in the request.

400

ThirdParty-212

Price engine General Error.

400

ThirdParty-213

contractTypId passed in the request is invalid.

400

ThirdParty-214

Contract can be created for either resourceId or unitId

400

ThirdParty-215

Credentials null or invalid.

400

ThirdParty-216

Representation for the resourceIds and distribution channel is archived.

400

ThirdParty-217

Invalid rentability period.

400

ThirdParty-218

Record already exists with same criteria, but with different priority value and rate type id

400

ThirdParty-219

Error while creating addition.

400

ThirdParty-220

Total number of subjects and travel parties doesn’t match.

400

ThirdParty-221

Subjects or travel parties should be passed in the request to make reservation.

400

ThirdParty-222

The dateMargin parameter cannot be used in combination with includeAllPrices parameter.

400

ThirdParty-223

Travel parties should be passed with travel insurance addon.

400

ThirdParty-224

Supplier addition not available.

400

ThirdParty-225

Invalid amenityId.

400

ThirdParty-226

Value field passed in the request does not match amenity type.

400

ThirdParty-227

Only one type of subject list is allowed for insertion at a time.

400

ThirdParty-228

Invalid powerPlayGroupId passed in the request.

400

ThirdParty-229

Invalid offerType passed in the request.

400

ThirdParty-230

The startDate should be less than endDate.

400

ThirdParty-231

Cannot create reservation with current GDPR access.

401

ThirdParty-232

Voucher was not found.

400

ThirdParty-233

Either offerCode or voucherCode should be passed.

400

ThirdParty-234

Voucher is not valid for this period.

400

ThirdParty-235

Voucher is blocked.

400

ThirdParty-236

Voucher is already redeemed.

400

ThirdParty-237

Voucher is not allowed on this distribution channel.

400

ThirdParty-238

Voucher is not allowed with this accommodation type and period.

400

ThirdParty-239

There is no valid offer/resource linked to this voucher.

400

ThirdParty-240

Invalid preferenceId.

400

ThirdParty-241

Modification not allowed.

400

ThirdParty-242

Checked out reservation cannot be modified from API.

401

ThirdParty-243

Failed to generate JWT token response.

500

ThirdParty-244

Language passed in request is incorrect.

400

ThirdParty-245

Authentication token created with invalid api_key.

400

1.13. Release Notes

We are continuously improving and extending the REST API. The release notes of each release can be found here.
Release Notes

2. Swagger UI

2.1. Go to the Swagger UI

Swagger documentation can be used for executing the calls as well apart from the available endpoint list and descriptions.
NOTE: The Swagger UI Rest client

3. Flows

3.1. Maxxton environments

Maxxton works using a DTAP(Development, Testing, Acceptance, Production) approach. For this there are 4 environments available and the code is promoted from the left to the right. The staging is not available for all clients. In case no staging is available the test can be used.

The development environment is not externally available and only available to the Maxxton developers.

Both staging and production environments use the same API URLs because it’s using the same infrastructure with the difference that the database used is a test/staging database on staging.

Maxxton environment flow overview
Figure 1. Maxxton environments

3.1.1. Environment refresh

The Test environment can be refreshed with production data. In this case all test environment data will be overriden with the data from the production environment, including the API users.
For security reasons the API keys are excluded and the test API keys which existed before the refresh are kept during the refresh process. This means the API keys from the production and test environment will always be different and never overriden.
However the API users are the same. In case no api user is available on the production environment, the API key on the test environment is removed by the refresh process. This means after a refresh, users who don’t have access to the production environment will also not have access to the test environment.
This can result in a scenario where it will no longer be possible to login to the test environment. This can be solved by creating a new API user and API key after the refresh process is finished. If the user already existed on the production environment and no API key was available on the test environment a new API key has to be generated as well to gain access.
Contact the Maxxton client to provide you with new API details if necessary.

3.2. Events Flow

Any change(creation, deletion or modification) made in any of the entities will generate events, which are stored and can be fetched using the Events endpoint. Below are the events generated with their description. The details of the entity along with the changes can be fetched through separate endpoints mentioned for every event type below.

Events are not logged for entity records which become invalid or inactive after a given date.
For ex. validTo date in cashflowrule. In this case, no events will be logged for cashflowrule entity, after the respective validTo date of that cashflowrule is passed.

3.2.1. Events Generated

1) ACCOMMODATION_TYPE_EVENT

Any change made to the accommodationtype, which includes creation, modification or deletion of accommodationtype or any of its entities like address, images, amenities, capacities etc. will generate an ACCOMMODATION_TYPE_EVENT. In case of an ACCOMMODATION_TYPE_EVENT, the entity id logged will be the resourceId of the accommodationtype that was changed.

To refresh the data the following endpoint can be used with the resourceId fetched from the event endpoint:

  • GET: maxxton/v1/accommodationtypes/{resourceId}/details

To refresh specific data following endpoints can be used:

  • GET: maxxton/v1/accommodationtypes/{resourceId}

  • GET: maxxton/v1/accommodationtypes/{resourceId}/capacities

  • GET: maxxton/v1/accommodationtypes/{resourceId}/images

  • GET: maxxton/v1/accommodationtypes/{resourceId}/amenitylinks

To refresh the data for multiple accommodationtypes at the same time the resourceId can be combined using the following endpoint:

  • GET: /maxxton/v1/accommodationtypes?filter=resourceId:[resourceId1,resourceId2,resourceId3…​]

2)ADDITION_EVENT

Any change made to the additions, which includes creation, modification or deletion of an addition will generate an ADDITION_EVENT. The entity id logged will be the resourceId of the accommodationtype, addition or offer on which the addition was added.

To refresh the data the following endpoints can be used with the resourceId fetched from the event endpoint:

  • GET: maxxton/v1/accommodationtypes/{resourceId}/additions

  • GET: maxxton/v1/offers/{resourceId}/additions

  • GET: maxxton/v1/accommodationtypes/additions?filter=resourceId:[resourceId1,resourceId2,resourceId3…​]

  • GET: maxxton/v1/offers/additions?filter=resourceId:[resourceId1,resourceId2,resourceId3…​]

3) ADDON_EVENT

Any changes which includes creation, modification or deletion of extras or products will generate an ADDON_EVENT. The entity id logged will be the resourceId of the add-on that was changed.

To refresh the data the following endpoint can be used with the resourceId fetched from the event endpoint:

  • GET: maxxton/v1/add-ons/{resourceId}

4) AVAILABILITY_EVENT

Changes in the availability of resources will generate an AVAILABILITY_EVENT. The event is created once the available is processed in the availability indexes and available from below defined endpoints. The following scenarios will generate an availability event:

  • When the prices or availability of a certain accommodation type changes this will be processed in the availability index once running. When this is processed an availability event is created

  • When the prices or rentability of an offer change this will be processed in the availability index once running. When this is processed an availability event is created for all the accommodation types for which this offer is applicable.

  • When the last unit of an accommodation type is booked, it is removed from the availability index right away and an availability event is created near real-time.

The entity id logged will be the resourceId of the accommodation type whose availability was changed.

To refresh the data the following endpoint can be used with the resourceId fetched from the event endpoint:

  • GET: maxxton/v1/accommodationtypes/availability

5) CUSTOMER_EVENT

Any change made to the customers, which includes creation, modification or deletion of a customer or any of its fields will generate CUSTOMER_EVENT. The entity id logged will be the customerId of the customer that was changed.

To refresh the data the following endpoints can be used with the customerId fetched from the event endpoint:

  • GET: maxxton/v1/customers/{customerId}

  • GET: maxxton/v1/customers/{customerId}/communications

  • GET: maxxton/v1/customers/{customerId}/files

To refresh the data for multiple customers at the same time the customerIds can be combined using the following endpoint:

  • GET: maxxton/v1/customers?filter=customerId:[customerId1,customerId2,customerId3…​]

The customer event also contains events about merged customer by the deduplication script running in the Maxxton system.
This is indicated by the "entityAction" MERGE and will provide the customer id which is removed in the "oldEntityId" field and the customer id where the data is merged to(the customerId it has become) in the "entityId" field.

Incase of changes to the loyalty status or loyalty transactions also a customer event is generated.
To refresh this data the following endpoints can be used:

GET: maxxton/v1/customers/{customerId}/loyalty

GET: maxxton/v1/customerstatus?filter=customerId:{customerId}

6) DISTRIBUTIONCHANNEL_EVENT

Any change made to a distribution channel, which includes creation, modification or deletion of a distribution channel or any of its fields will generate DISTRIBUTIONCHANNEL_EVENT. The entity id logged will be the distributionChannelId of the distribution channel that was changed.

To refresh the data the following endpoints can be used with the distributionChannelId fetched from the event endpoint:

  • GET: maxxton/v1/distributionchannels/{distributionChannelId}

To refresh the data for multiple distribution channels at the same time the distributionChannelIds can be combined using the following endpoint:

  • GET: maxxton/v1/distributionchannels?filter=distributionChannelId:[distributionChannelId1,distributionChannelId2,distributionChannelId3…​]

7) IMPLY_EVENT

Any change made to the implies, which includes creation, modification or deletion of the imply of an accommodationtype, unit, add-on or offer will generate an IMPLY_EVENT. The entity id logged will be the resourceId of the accommodationtype, add-on or offer. In case of a unit it will be unitId. Based on the entityType it can be identified if it’s an accommodationtype, unit, add-on or offer.

To refresh the data the following endpoints can be used with the resourceId fetched from the event endpoint:

  • GET: maxxton/v1/accommodationtypes/{resourceId}/implies

  • GET: maxxton/v1/add-ons/{resourceId}/implies

  • GET: maxxton/v1/offers/{resourceId}/implies

  • GET: maxxton/v1/units/{unitId}/implies

8) OFFER_EVENT

Any change made to the offers, which includes creation, modification or deletion will generate an OFFER_EVENT. The entity id logged will be the resourceId of the offer that was changed.

To refresh the data the following endpoint can be used with the resourceId fetched from the event endpoint:

  • GET: maxxton/v1/offers/{resourceId}

  • GET: maxxton/v1/offers?filter=resourceId:[resourceId1,resourceId2,resourceId3…​]

9) OWNER_EVENT

Any change made to the owners, which includes creation, modification or deletion of an owner or any of its fields will generate OWNER_EVENT. The entity id logged will be the ownerId of the owner that was changed.

To refresh the data the following endpoints can be used with the ownerId fetched from the event endpoint:

  • GET: maxxton/v1/owners/{ownerId}

To refresh the data for multiple owners at the same time the ownerIds can be combined using the following endpoint:

  • GET: maxxton/v1/owners?filter=ownerId:[ownerId1,ownerId2,ownerId3…​]

10) RATE_EVENT

Any change made to the rates, which includes creation, modification or deletion of the rate of an accommodationtype, add-on or offer will generate a RATE_EVENT. The entity id logged will be the resourceId of the accommodationtype or offer. Based on the entityType it can be identified if it’s an accommodationtype or offer.

To refresh the data the following endpoints can be used with the resourceId fetched from the event endpoint:

  • GET: maxxton/v1/accommodationtype/{resourceId}/rates

  • GET: maxxton/v1/offers/{resourceId}/rates

11) RENTABILITY_EVENT

Any change made to the rentability, which includes creation, modification or deletion of the rentability of an accommodationtype or offer will generate a RENTABILITY_EVENT. The entity id logged will be the resourceId of the accommodationtype, add-on or offer. Based on the entityType it can be identified if it’s an accommodationtype or offer.

To refresh the data the following endpoint can be used with the resourceId fetched from the event endpoint:

  • GET /maxxton/v1/rentability/config?resourceId={resourceId}

  • GET /maxxton/v1/rentability/stays?resourceId={resourceId}&distributionChannelId={distributionchannelId}

12) RESERVABILITY_EVENT

Any change made to the reservability, which includes creation, modification or deletion in the reservability of an accommodationtype, unit, add-on or offer will generate RESERVABILITY_EVENT. The entity id logged will be the resourceId of the accommodationtype, add-on or offer. In case of a unit it will be unitId. Based on the entityType it can be identified if it’s an accommodationtype, add-on, offer or unit,.

To refresh the data the following endpoints can be used with the resourceId fetched from the event endpoint:

  • GET: maxxton/v1/resourcereservability?resourceId={resourceId}

  • GET: maxxton/v1/unitreservability?unitId={unitId}

13) RESERVATION_EVENT

Any change made to the reservations, which includes creation, modification or deletion in the reservation will generate RESERVATION_EVENT. The entity id logged will be the reservationId of the reservation that was changed.

To refresh the data the following endpoint can be used with the resourceId fetched from the event endpoint:

  • GET: maxxton/v1/reservations/{reservationId}/details

To refresh specific data following endpoints can be used:

  • GET: maxxton/v1/reservations/{reservationId}

  • GET: maxxton/v1/reservations/{reservationId}/preferences

  • GET: maxxton/v1/reservations/{reservationId}/bills

  • GET: maxxton/v1/reservations/{reservationId}/content

  • GET: maxxton/v1/reservations/{reservationId}/subjects

To refresh the data for multiple reservations at the same time the reservationIds can be combined using the following endpoint:

  • GET: maxxton/v1/reservations?filter=reservationId:[reservationId1,reservationId2,reservationId3,…​]

14) RESORT_EVENT

Any change made to the resorts, which includes creation, modification or deletion of the resort will generate RESORT_EVENT. The entity id logged will be the resortId of the resort that was changed.

To refresh the data the following endpoint can be used with the resortId fetched from the event endpoint:

  • GET: maxxton/v1/resorts/{resortId}/details

To refresh specific data following endpoints can be used:

  • GET: maxxton/v1/resorts/{resortId}

  • GET: maxxton/v1/resorts/{resortId}/amenitylinks

  • GET: maxxton/v1/resorts/{resortId}/subjects

To refresh the data for multiple resorts at the same time the resortIds can be combined using the following endpoint:

  • GET: maxxton/v1/resorts?filter=resortId:[resortId1,resortId2,resortId3,…​]

15) UNIT_EVENT

Any change made to the units, which includes creation, modification or deletion of the unit will generate UNIT_EVENT. The entity id logged will be the unitId of the unit that was changed.

To refresh the data the following endpoint can be used with the unitId fetched from the event endpoint:

  • GET: maxxton/v1/units/{unitId}/details

To refresh specific data following endpoints can be used:

  • GET: maxxton/v1/units/{unitId}

  • GET: maxxton/v1/units/{unitId}/capacities

  • GET: maxxton/v1/units/{unitId}/amenitylinks

To refresh the data for multiple units at the same time the unitIds can be combined using the following endpoint:

  • GET: maxxton/v1/units?filter=unitId:[unitId1,unitId2,unitId3,…​]

16) ALLOTMENT_EVENT

Any change made to the allotments, which includes creation, modification or deletion of the allotment will generate ALLOTMENT_EVENT. The entity id logged will be the resourceId of the accommodationtype whose allotment was changed.

To refresh the data the following endpoint can be used with the resourceId fetched from the event endpoint:

  • GET: /maxxton/v1/accommodationtypes/{resourceId}/allotments

To refresh the data for multiple accommodationtypes at the same time the resourceIds can be combined using the following endpoint:

  • GET: /maxxton/v1/allotments?filter=resourceId:[resourceId1,resourceId2,resourceId3…​]

3.3. Reservation Flow

A reservation is basically used for booking or reserving an accommodationtype by a guest. Reservations include reserving a particular type of accommodationtype for a particular guest for a given period of time.

  1. Availability and prices

    There are 2 options to fetch the availability. One is to call the Maxxton API realtime and show it on the website, this also provides filter possibilities. Option 2 is to fetch all possible availabilities and prices and popuplate your own availability and price index to search offline on the external application.

    Option 1:

    Using the availability search you can search what accommodation types are available and for which periods. This endpoint also makes it possible to filter the search results and provide you with all possible filter options.

    There are two search endpoints for different purposes:

    POST /maxxton/v1/accommodationtypes/search
    POST /maxxton/v1/accommodationtypes/arrivalrangesearch

    Check the accommodation type search and arrival range search endpoints for details.

    Option 2:

    Using the availability call you can fetch all available stays and prices for all accommodation types. This endpoint is usually used to fill a dedicated availability/price index at the third party side.

    POST /maxxton/v1/accommodationtypes/availability

    Check the accommodation type availability endpoint for details.

    Optional: In case you also would like to fetch all the mandatory costs(implies) to add this to your index the following call can be used:

    POST /maxxton/v1/accommodationtypes/availability/implies

    Check the accommodation type availability implies endpoint for details.

  2. Accommodation types configuration/master data

    Using the accommodation type endpoints you can get the accommodation type configuration i.e. translatable name and descriptions, units, amenities, images etc. It is also possible to filter the response.

    There are multiple endpoints available for different purposes below two will contain most information regarding acommodation types and units:

    GET /maxxton/v1/accommodationtypes/{resourceId}/details
    GET /maxxton/v1/units/{unitId}/details

    If only specific data is needed the following endpoints can be used:

    GET /maxxton/v1/accommodationtypes
    GET /maxxton/v1/units
    GET /maxxton/v1/accommodationtypes/{resourceId}/amenitylinks
    GET /maxxton/v1/accommodationtypes/{resourceId}/images

    Check full list of accommodation type and related endpoints here.

  3. Reservation proposal

    POST: https://api.maxxton.net/maxxton/v1/reservations/proposals

    When a possibility is chosen based on the search endpoints a reservation proposal can be created. A reservation proposal provides the proposal on reservation costs for the specified criteria in the request and doesn’t create an actual reservation in the system.

    It is used to validate if the accommodation type is available for the specified arrival date and duration.

    The reservation id and reservation number is not generated since no reservation is created. The proposal also provides you with all possible additions that can be added in the reservation. It also include instalments as per the reservation bill.

    This proposal can be used multiple times, till you are totally fine with the reservation, nothing is saved in our system and no reservation costs apply by using this.

    Check the reservation proposal endpoint for details.

  4. NewReservation

    POST: https://api.maxxton.net/maxxton/v1/reservations

    When the reservation is correct and you have checked this with the proposal call, you can use the new reservation endpoint to create an actual reservation.

    At this moment the new reservation is stored in our system and the reservation id and reservation number is generated.

    • Once the request is sent by the user, the request is validated as per the availability of the resource for which the reservation needs to be created. The mandatory parameters that needs to be passed in the new reservation request are as follows:

      • accommodationTypes: the details of the accommodationtype on which reservation is to be made

        • duration: the duration for which a user wants to make a reservation and the duration should be passed in days ex: 7.

        • resourceId: unique id associated with the accommodationtype.

        • subjects: details related to the subjects who will come for stay in an accommodationtype for whom reservation is to be created

          • persons: details related to the persons for whom the accommodationtype is booked in reservation.

            • age: age of the person

            • quantity: total number of persons for whom the accommodationtype is booked in reservation.

      • categoryCode: unique code associated with reservation category.

      • distributionChannelCode: unique code associated with distribution channel.

      • customer: details of guest doing the booking. Or, you can use customerId field instead of customer in case you have customerId of the guest who is doing the booking.

    • If the resource is available as per the request criteria, then the reservation will be created successfully and the status of the reservation can be provisional, optional, quotation, or request reservation(see reservation status flow, refer point 6 below).

      Check the new reservation endpoint for details.

  5. Update reservation

    The reservation status can be updated to different status using:

    PUT: https://api.maxxton.net/maxxton/v1/reservations/{reservationId}

    The status which can be updated to different status. Please refer to below status chart:

    • QUOTATION(-5) → CONFIRM(will result in PROVISIONAL(12) or DEFINITIVE(21)), DECLINE(-10)

    • OPTIONAL(11) → CONFIRM(will result in PROVISIONAL(12) or DEFINITIVE(21)), DECLINE(-10)

    • REQUEST(10)→DECLINE(-10), CONFIRM(will result in PROVISIONAL(12) or DEFINITIVE(21))

    • PROVISIONAL(12) → CANCEL(-12), DECLINE(-10)

    • DEFINITIVE(21)→CANCEL(-12), CHECKED_IN(31)

    • CHECKED_IN(31)→CHECKED_OUT(41).

      The user can change the status of the reservation as per the above status flow specified.

      It’s also possible to update the expectedArrivalDateTime and expectedDepartureDateTime, the value should be passed in the below format ,

      'YYYY-MM-DDThh:mm:ss'

      The above fields are mainly used by the receptionist of the resort, by maintenance department and housekeeping.

      Check the update reservation endpoint for details.

  6. Reservation status flow overview

    After creating a reservation it start with the INIT (an initial reservation) status. After completing the reservation, having added a customer and some add-ons, there are multiple options. We can update it to DELETED(these reservations are removed regularly), to OPTIONAL(which is a temporary confirmation) or PROVISIONAL(a confirmed reservation without a payment). Both OPTIONAL and PROVISIONAL get a reservation number assigned. This means they may no longer be deleted from the system, for financial reasons.

    Reservation starts with OPTIONAL, QUOTATION, PROVISIONAL or DEFINITVE status when it is confirmed through the API.

    OPTIONAL: will go to EXPIRED if not confirmed (after x number of hours/days based on configuration) or to PROVISIONAL/DEFINITIVE based on the API user configuration settings if confirmed. With this status the accommodation type price and availability are guaranteed for the reservation.

    QUOTATION: will go to the EXPIRED if not confirmed after x number of hours/days based on configuration or to PROVISIONAL/DEFINITIVE based on API user if confirmed. With this status the accommodation type rates are guaranteed for the reservation period and not the availability. So, some other guest can also book the reservation and then it is no more available to the guest who created a QUOTATION reservation.

    PROVISIONAL: A confirmed booking without a payment.

    DEFINITIVE: If a payment is made(partial or full), a PROVISIONAL reservation will be changed to DEFINITIVE. When the guest arrives it will change to CHECKED_IN and finally to CHECKED_OUT when the guest leaves.

    If a guest decides not to use the reservation, it can be changed from PROVISIONAL to DECLINED or to CANCELLED and from DEFINITIVE to CANCELLED.

    DECLINED: There are no costs for the guest and the reservation is no more available.

    CANCELLED: It implies that some sort of payment is involved. That is why DEFINITIVE can only go to CANCELLED(since something was paid already). From CANCELLED it can go to DEF_CANCELLED(if the guest decides to cancel absolutely), or back to either PROVISIONAL or DEFINITIVE (depending on payments made) if the guest opt for reservation again.

Reservation status flow overview
Figure 2. Reservation status flow overview

3.4. Ingenico Integration

Maxxton is using Ingenico as a default PSP(Payment service provider). Because of this, the payments can be automatically added to a reservation made in the Maxxton system using an integration that is already in place, however, to do this a couple of additional parameters is needed.

The integration works as follow

Ingenico integration overview
Figure 3. Ingenico integration overview

1) Recommended option: The flow 1 in the above diagram is the redirect URL. This can be generated from the Maxxton REST API by using the Reservation payment link endpoint. The endpoint will automatically provide the url to the correct Ingenico platform(Ingenico direct or the legacy version of Ingenico). The url provided from the response can be used in the website or application created by the company that is creating the booking module or website.

Alternative option: Previously this payment link had to be created manually. Below provides the url for the legacy Ingenico platform(Non Ingenico direct), this is not needed if you use the above endpoint to generate the payment link:

POST https://secure.ogone.com/ncol/prod/orderstandard_utf8.asp

POST request
Headers:
Content-Type: application/x-www-form-urlencoded

Request body(key-value pair):
PSPID=ClientPSPID //Ingenico PSPID to use
orderID=00019026850000_827efb46dc7bb2f //the order id should have the following structure: reservationNumber_anyRandomNumber
amount=1234 //the amount to be paid in the below-defined currency in cents(for example 12,35 should be defined as 1235)
currency=EUR //currency of the payment
language=nl_ //The language the Ingenico Hosted Payment Page is displayed to your customer. The value is a combination of ISO 639-1 (language) and ISO 3166-1 (country) for example: nl_NL, en_US, fr_FR
EMAIL=customer@maxxton.com //email of the customer
SHASign=0b105725955aa9e0cba8d9906ccd64d66b0ca422 //see Ingenico backoffice how this is created and what needs to be used here. Now we are supporting SHA-512 and SHA-1 is deprecated.
accepturl=https://book.maxxton.com/reservation/success //URL where the customer should be redirected to in case of a successful payment
declineurl=https://book.maxxton.com/reservation/cancel //URL where the customer should be redirected to in case of a declined payment
exceptionurl=https://book.maxxton.com/reservation/cancel //URL where the customer should be redirected to in case of a failed payment
cancelurl=https://book.maxxton.com/reservation/cancel //URL where the customer should be redirected to in case of a canceled payment
PARAMPLUS=distributionchannelId%3D51142%26reservationId%3D4181444%26employeeId%3D80041%26concernId%3D22 //mandatory parameters which will be used by Maxxton to process the payment on the proper reservation.
a) distributionchannelId: id of the distribution channel where the reservation is created for, this can be found in the response of the reservation confirm call
b) reservationId: id of the reservation that was just created to make the payment for, this can be found in the response of the reservation confirm call
c) employeeId: id of the employee which should add the payment in the Maxxton system, this can be found in the response "client_id" of the REST API authentication call
d) concernId: id of the concern/environment of the Maxton client, this can be found in the response "concern_id" of the REST API authentication call
TP=https://book.maxxton.com/ingenico/template.html //the URL to the Ingenico template to be used, this is optional.

Incase you would like to integrate directly with Ingenico direct. The Ingenico direct documentation can be found here.

2) This is the redirect from the Ingenico hosted payment page to the website, see Ingenico documentation for all possible parameters. This can be used by the booking module or website to provide feedback that the payment has been processed.
For Ingenico Direct you have to call the Ingenico hosted checkout status Endpoint to fetch the status. This can be done using this endpoint. The "hostedCheckoutId" to provide is returned from the redirect url(when using Reservation payment link endpoint you can add this in the "returnUrl" parameter) of Ingenico hosted payment page to your website. The "merchantId" is the PSPId used for the payment.
For the Ingenico legacy platform: Incase using the Maxxton Reservation payment link endpoint this can be provided in the fields(acceptUrl, cancelUrl, exceptionUrl, declineUrl).

3) The asynchronous callback from Ingenico to Maxxton. There is no additional development needed here and this will work right away if the correct structure for the redirect URL(number 1) is used. In the Ingenico backoffice the "URL of the merchant’s post-payment page" should be configured and point to Maxxton(this is already configured for existing Maxxton clients using Ingenico most of the time).

3.5. Webhooks

  1. Introduction

    The webhook solution is integrated in Maxxton Software integration manager and will push data when certain configured data changes are triggered. Unlike the REST API, the webhooks can not be pulled but will push data to the subscribed endpoint. The Maxxton webhook implementation is in line with the webhook standard guidelines. For the data structures, the REST API structures are re-used, this means all REST API documentation applies and adjustments of the REST API will reflect in the webhooks.

  2. Concept

    In the webhooks the following 3 concepts are available:

    1. Context:
      High-level entities in the Maxxton system, such as reservations, determine the context for the events and data that can be configured in the request.

    2. Events:
      The event triggering the webhook(eg. a change in reservation status)

    3. Data:
      The actual data structure(data fields) added to the webhook request

      Webhook_datastructure

    Above the diagram describes how the webhook works. First, you configure your webhook in the Maxxton Software Integration Manager.
    Once enabled the following flow will apply:

    1. In case any of the entities/data configured as the trigger is changed(this means there is new, changed, or removed data in the respected entity) the webhook will be triggered

    2. The webhook engine is triggered and in case the change meets the configured events the webhook will initiate a request.

    3. For every change the configured data is fetched from the REST API. After that, the webhook container including all data is created

    4. Optinally the receiving endpoints can have authentication. In case authentication is configured on the webhook the authentication details are sent with the request or authentication to receive a valid token will take place first

    5. The webhook container including all data is pushed to the external URL configured in the webhook

    6. The receiving(webhook subscriber) system can process the data further.

  3. Request structure

    Every webhook request will have the following structure

    {
        "notificationId": "2342040", //unique id of the webhook request
        "webhookId": 1, //unique id of the configured webhook
        "webhookName": "Maxxton test service", //webhook name as configured in Maxxton software integration manager
        "eventOccurred": "2024-07-31T08:39:44.709527Z", //date and time when the event occured
        "sentDate": "2024-07-31T08:39:46.203144Z", //the date and time when the webhook request was send out to push the event
        "type": "reservation.status.changed", //type of event to idenify what event has triggered the webhook
        "data": { //data structure as configured for this webhook
             .....
        }
    }
  4. Available Context & Events

    Events are organized by context and type. The context determines the available events and data for use in the webhook request. The specific event that triggered the webhook request can be identified by the “type” field in the root of the webhook request. The following contexts and events are currently supported:

    • Reservations

    • Status Change (type: reservation.status_change): The status of the reservation changed to provisional, definitive, or canceled.

    • Stay Period Change (type: reservation.stay_period_change): The arrival and/or departure date of the reservation changed.

    • Bill Change (type: reservation.bill_change): There was a change to the total bill amount for the customer, paying customer, or agent.

    • Payment Received (type: reservation.payment_received): Triggered when a payment is received.

    • Refund Given (type: reservation.refund_given) : Triggered when a refund is issued.

  5. Available data

    The data available depends on the selected context. All data is populated through the REST API and has the same data structure available as the REST API. For specific field en entity descriptions the REST API documentation is linked:

    Context Data Cardinality Endpoint used

    Reservation

    General

    1

    maxxton/v1/reservations/{reservationId}

    Reservation

    Customer

    1

    maxxton/v1/customers/{customerId} maxxton/v1/owners/{ownerId}

    Reservation

    Paying Customer

    0 .. 1

    maxxton/v1/reservations/{reservationId}/details?returnSections=PAYING_CUSTOMER

    Reservation

    Resort

    1

    maxxton/v1/resorts/{resortId}

    Reservation

    Distribution Channel

    1

    maxxton/v1/distributionchannels/{distributionChannelId}

    Reservation

    Customer Bill

    1

    maxxton/v1/reservations/{reservationId}/bills?payerType=CUSTOMER

    Reservation

    Paying Customer Bill

    0 .. 1

    maxxton/v1/reservations/{reservationId}/bills?payerType=PAYING_CUSTOMER

    Reservation

    Agent Bill

    0 .. 1

    maxxton/v1/reservations/{reservationId}/bills?payerType=AGENT

    Reservation

    Doorlock

    0 .. *

    maxxton/v1/reservations/{reservationId}/doorlocks

    Reservation

    Infotexts

    0 .. *

    maxxton/v1/reservations/{reservationId}/infotexts

    Reservation

    Memos

    0 .. *

    maxxton/v1/reservations/{reservationId}/memos

    Reservation

    Payments

    0 .. *

    maxxton/v1/reservations/{reservationId}/payments

    Reservation

    Preferences

    0 .. *

    maxxton/v1/reservations/{reservationId}/preferences

    Reservation

    Subjects

    0 .. *

    maxxton/v1/reservations/{reservationId}/subjects

    Reservation

    Instalments

    0 .. *

    maxxton/v1/reservations/instalments?reservationIds={reservationId}

    Reservation

    Reserved Resources

    0 .. *

    maxxton/v1/reservations/{reservationId}/content maxxton/v1/reservations/{reservationId}/reservedresources/{reservedResourceId}/customfields

    Reservation

    Unit

    0 .. 1

    maxxton/v1/units/{unitId}?returnWorkOrderUnits=true

  6. Security

    Authentication

    The endpoint used to send the webhook requests can optionally require authentication. The authorization HTTP header is added to the webhook request. Currently, the following authentication types are supported:

    Basic auth

    Authorization: Basic {credentials}

    OAuth 2.0 (client credential grant)

    Authorization: Bearer {token}

    No authentication
    The endpoint is freely accessible from the internet or IP whitelisting is applied

  7. Sender validation

    The receiving party can use a webhook secret to verify that the delivered message is from Maxxton. During the webhook set up, the user can provide a secret token. This token must be stored securely at their server. Each incoming webhook payload must be validated against the token.

    Maxxton will use HMAC-SHA256 (Hash-based Message Authentication Code) to generate a hash signature. The signature is generated using the payload content and the provided Webhook secret.
    HMAC
    The signature is sent in the webhook-signature HTTP header.

    Example:

    webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4=
  8. Access & usage

    Webhooks can be configured through the Maxxton Software Integration Manager under the Webhooks tab. Access to this Maxxton Software module is required to set up new webhooks or view statistics. Please note that Maxxton does not grant access to this module; it is managed by our clients, who are responsible for configuring the webhooks.

    To receive requests you don’t need access to Maxxton software.

    API pricing and fair use policies apply to the webhooks usage.

  9. Support

    In case of questions please contact the party who configured the webhooks for you(mostly the Maxxton client). Incase of technical queries a ticket can be created in the Maxxton ticket system or an email can be sent to api@maxxton.com.

4. Entity Relations

4.1. Resort, Accommodation Type, Unit

  • Resort(called "location" in Maxxton Software):
    A resort is group of accommodation types at the same location which provides an array of accommodation types typically including entertainment and recreational activities.
    A resort may contain one or multiple accommodation types.

  • Accommodation Type:
    An accommodation type is group of similar units, here the units are configured that defines type of unit(Room, Bungalow, Chalet etc) and other possible configuration(Representation, Capacity, Cashflow, Rentability, Reserability, Amenities etc), which can be done per resort or condo.
    An accommodation type may contain one or multiple units.

  • Unit:
    A room, group of rooms, or bungalow in which someone may live or stay, it can be a single room, bungalow, chalet etc.

Diagrammatic representation of Resort, Accommodation Types, Units:

Resort, Accommodation types and Units

4.2. Resources and reserved resources

In the Maxxton system, there are many resources(items) available, these resources can be of multiple types. For example Accommodation type, add-on, or offers are all resources. These resources can be booked while creating a reservation, in this case, a resource is added to the reservation which is called a reserved resource. This is basically a booked version of the actual resource. A resource is unique in the system and used across multiple reservations, a reserved resource is unique to the reservation.

Diagrammatic representation of Resources and reserved resources:

Resources and reserved resources

5. Resources

5.1. Accommodation Types

A group of similar units

5.1.1. Add new accommodation type

POST /maxxton/v1/accommodationtypes
Description

Add the new accommodation type.The details are to be mentioned in the resquest body.

Parameters
Type Name Description Schema

Body

requestBody
required

Request body to create new accommodation type.

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while adding new accommodation type.

No Content

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes
Request body
{
  "accotypeKindId" : 1,
  "address" : {
    "accuracy" : "string",
    "address1" : "string",
    "address2" : "string",
    "address3" : "string",
    "alternateContactPerson" : "string",
    "boxNumber" : "string",
    "city" : "string",
    "countryId" : 1,
    "dateBegin" : "01-01-2023",
    "dateEnd" : "01-01-2023",
    "district" : "string",
    "email" : "string",
    "exposeLocation" : true,
    "fax" : "string",
    "houseNumber" : "string",
    "houseNumberSuffix" : "string",
    "latitude" : 1,
    "longitude" : 1,
    "mobilePhone" : "string",
    "mobilePhone2" : "string",
    "municipality" : "string",
    "poBox" : "string",
    "poBoxCity" : "string",
    "poBoxZipcode" : "string",
    "privatePhone" : "string",
    "stateId" : 1,
    "workPhone" : "string",
    "zipCode" : "string"
  },
  "brandId" : 1,
  "code" : "string",
  "nrOfBathrooms" : 1,
  "nrOfBedrooms" : 1,
  "origin" : "string",
  "originId" : "string",
  "parentId" : "string",
  "priority" : 1,
  "resortId" : 1,
  "translations" : [ {
    "description" : "string",
    "description2" : "string",
    "language" : "string",
    "name" : "string",
    "shortDescription" : "string"
  } ]
}
Example HTTP response
Response 200
{
  "accommodationTypeKindCode" : "string",
  "accotypeAddressmanagerId" : 1,
  "accotypeBarrier" : 1,
  "accotypeDoorlock" : 1,
  "accotypeKindId" : 1,
  "address" : {
    "accuracy" : "string",
    "address1" : "string",
    "address2" : "string",
    "address3" : "string",
    "addressId" : 1,
    "altContactPerson" : "string",
    "alternateContactPerson" : "string",
    "boxNumber" : "string",
    "city" : "string",
    "country" : {
      "code" : "string",
      "countryId" : 1,
      "default" : true,
      "defaultLanguageId" : 1,
      "priority" : 1,
      "shortName" : "string",
      "translations" : [ {
        "i18nCountryId" : 1,
        "language" : "string",
        "languageId" : 1,
        "longName" : "string",
        "name" : "string"
      } ]
    },
    "countryId" : 1,
    "dateBegin" : "01-01-2023",
    "dateEnd" : "01-01-2023",
    "district" : "string",
    "email" : "string",
    "exposeLocation" : true,
    "fax" : "string",
    "houseNumber" : "string",
    "houseNumberSuffix" : "string",
    "latitude" : 1,
    "longitude" : 1,
    "mobilePhone" : "string",
    "mobilePhone2" : "string",
    "municipality" : "string",
    "poBox" : "string",
    "poBoxCity" : "string",
    "poBoxZipcode" : "string",
    "privatePhone" : "string",
    "stateId" : 1,
    "workPhone" : "string",
    "zipCode" : "string"
  },
  "amenityManagerId" : 1,
  "archivedFrom" : "01-01-2023",
  "brand" : "string",
  "brandId" : 1,
  "capacityManagerId" : 1,
  "cashflowManagerId" : 1,
  "code" : "string",
  "dependsOnLedgerGroup" : true,
  "description" : "string",
  "groupId" : 1,
  "hasObjects" : true,
  "i18n" : [ {
    "accotypeKind" : "string",
    "description" : "string",
    "description2" : "string",
    "language" : "string",
    "languageId" : 1,
    "name" : "string",
    "namePath" : "string",
    "resourceId" : 1,
    "shortDescription" : "string"
  } ],
  "ledgerGroupId" : 1,
  "ledgerId" : 1,
  "name" : "string",
  "nrOfBathrooms" : 1,
  "nrOfBedrooms" : 1,
  "numberOfPersons" : 1,
  "origin" : "string",
  "originId" : "string",
  "parentId" : 1,
  "path" : "string",
  "powerplayGroupId" : 1,
  "previousPmsId" : "string",
  "priority" : 1,
  "qualityLevelId" : 1,
  "realRentabilityManagerId" : 1,
  "resortId" : 1,
  "resourceId" : 1,
  "resourceManagerId" : 1,
  "shortDescription" : "string",
  "supplierOrigin" : "string",
  "translations" : [ {
    "accotypeKind" : "string",
    "description" : "string",
    "description2" : "string",
    "language" : "string",
    "languageId" : 1,
    "name" : "string",
    "namePath" : "string",
    "resourceId" : 1,
    "shortDescription" : "string"
  } ],
  "type" : "string"
}

5.1.2. Add rentability for accommodation type

POST /maxxton/v1/accommodationtypes/{resourceId}/rentability
Description

Rentability defines a specific period in which the accommodation type is rentable. The rentability details are to be added to the request body.

Parameters
Type Name Description Schema

Path

resourceId
required

Resource id for which rentability will be added for accommodation type

integer (int64)

Body

requestBody
required

Responses
Code Description Schema

200

The request is completed successfully without any errors

No Content

500

Error occurred while adding rentability.

No Content

Consumes
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/rentability
Request body
{
  "bookdateFrom" : "01-01-2023T11:23:45Z",
  "bookdateTo" : "01-01-2023T11:23:45Z",
  "dateBegin" : "01-01-2023",
  "dateEnd" : "01-01-2023",
  "dayMax" : 1,
  "dayMin" : 1,
  "daysOfWeek" : [ "string" ],
  "isArrival" : true,
  "isDeparture" : true,
  "isTemporary" : 1,
  "managerId" : 1,
  "maxDeviationArrDepDate" : 1,
  "maxTimeAfterBookDate" : 1,
  "minDeviationArrDepDate" : 1,
  "minTimeAfterBookDate" : 1
}

5.1.3. Calculate total price of given accommodation type

POST /maxxton/v1/accommodationtypes/{resourceId}/calculateprices
Description

This call will calculate the accommodation type price in real-time based on the current configuration in Maxxton software. This price is not based on the indexes and for this reason, there is no delay, however, the performance will be less. This feature should be implemented in a proper way, this means it’s recommended to lazy load the price after the actual availability search result is populated. Also, it’s recommended to only calculate the prices which are actually shown on the screen.

Parameters
Type Name Description Schema

Query

removeWarrant
optional

The basePrice and totalPrice without the warrant costs bill will be returned when the value is set to true

boolean

Path

resourceId
required

resourceId of accommodation type for which the total price needs to be calculated

integer (int64)

Body

requestBody
required

Request body to calculate total price of new accommodation type.

Responses
Code Description Schema

204

The request is completed successfully without any errors

500

Error occurred while adding new accommodation type.

No Content

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/calculateprices
Request body
{
  "arrivalDate" : "01-01-2023",
  "distributionChannelId" : 1,
  "duration" : 1,
  "offerCode" : "string",
  "petQuantity" : 1,
  "rateTypeId" : 1,
  "redeemableLoyaltyPoints" : 1,
  "reservationCategoryId" : 1,
  "subjects" : {
    "persons" : [ {
      "maxAge" : 1,
      "quantity" : 1
    } ]
  }
}
Example HTTP response
Response 204
{
  "basePrice" : 1,
  "loyaltyDiscount" : 1,
  "offerPrice" : 1,
  "totalPrice" : 1,
  "warrantTotalPrice" : 1
}

5.1.4. Create accommodationType representation

POST /maxxton/v1/accommodationtypes/{resourceId}/representations
Description

Create accommodationType representations. The representation details are to be passed in the request body.

Parameters
Type Name Description Schema

Path

resourceId
required

resourceId of accommodation for which representations are to be created

integer (int64)

Body

requestBody
required

representation object to create represenation for accommodation type

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while creating accommodation type representation.

No Content

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/representations
Request body
{
  "bookable" : true,
  "distributionChannelIds" : [ "integer" ],
  "resourceId" : 1,
  "translations" : [ {
    "description" : "string",
    "description2" : "string",
    "i18nRepresentationId" : 1,
    "language" : "string",
    "languageId" : 1,
    "name" : "string",
    "representationId" : 1,
    "shortDescription" : "string"
  } ],
  "visible" : true
}
Example HTTP response
Response 200
{
  "bookable" : true,
  "distributionChannelIds" : [ "integer" ],
  "representationId" : 1,
  "resourceId" : 1,
  "translations" : [ {
    "description" : "string",
    "description2" : "string",
    "i18nRepresentationId" : 1,
    "language" : "string",
    "languageId" : 1,
    "name" : "string",
    "representationId" : 1,
    "shortDescription" : "string"
  } ],
  "visible" : true
}

5.1.5. Create accommodationtype budgets.

POST /maxxton/v1/accommodationtypes/{resourceId}/budgets
Description

Create accommodationtype budgets.", notes = "Create or update the daily budget for the specific accommodation type based on id. This will set the modifiedBudget and originalBudget based on the following logic: when no budget is available for the date and accommodationtype it will set the originalbudget, every time after this when a new budget is sent it will store this in the modifiedbudget field.

Parameters
Type Name Description Schema

Path

resourceId
required

resourceId of accommodation type for which the budget needs to be created

integer (int64)

Body

requestBody
required

Responses
Code Description Schema

204

The request is completed successfully without any errors

No Content

500

Error occurred while creating the accommodation type budget.

No Content

Consumes
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/budgets
Request body
[ {
  "budgetDate" : "01-01-2023",
  "turnoverBudget" : 1
} ]

5.1.6. Get accommodation kinds

GET /maxxton/v1/accommodationtypes/kinds
Description

Gets a page with accommodation kinds.The records can be filtered based on accommodation kind object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
accommodationkindId:0,
code:String,
priority:0,
excludeFromReporting:true,
workOrderUnits:true,
archivedFrom:String(date))

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching AccommodationKind.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/kinds
Example HTTP response
Response 200
{
  "content" : [ {
    "accommodationkindId" : 1,
    "archivedFrom" : "01-01-2023",
    "code" : "string",
    "excludeFromReporting" : true,
    "priority" : 1,
    "translations" : [ {
      "accommodationkindId" : 1,
      "description" : "string",
      "i18nAccommodationkindId" : 1,
      "languageId" : 1,
      "name" : "string"
    } ],
    "workOrderUnits" : true
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.7. Get capacities of the accommodation type

GET /maxxton/v1/accommodationtypes/{resourceId}/capacities
Description

Capacity specify the details about the number persons (Adult, Youngster, Baby etc.) or pets that can be accommodated in the accommodation type. This endpoint provides capacities for an accommodation type.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
capacityId:0,
managerId:0,
capacity:0,
subjectId:0,
startDate:String(date),
endDate:String(date))

Path

resourceId
required

resourceId to fetch capacities

integer (int64)

Query

returnWorkOrderTypes
optional

boolean

Responses
Code Description Schema

200

The request is completed successfully without any errors

< Capacity
> array

500

Error occurred while fetching capacities for AccommodationType.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/capacities
Example HTTP response
Response 200
[ {
  "capacity" : 1,
  "capacityId" : 1,
  "endDate" : "01-01-2023",
  "managerId" : 1,
  "name" : "string",
  "startDate" : "01-01-2023",
  "subjectId" : 1
} ]

5.1.8. Get resource availability based on provided criteria.

GET /maxxton/v1/accommodationtypes/availability
Description

The endpoint can be used in following way:
1.If resourceId is passed in the request then it will return next four month’s availability from currentDate.
2.If only resortId is passed in the request then it will return two months availability of accommodations for that resort.
3.If only offerCode is passed in the request then it will return two months availability for all the types for which the requested offer is valid.
4.The arrivalDateFrom & arrivalDateTo fields could be used to limit the availability response for specific arrival date range.
5.There is a max limit on the arrival range period of four months together with resourceId field in the request and max limit of two months if only resortId or offercode field value is passed in the request.
6.In case no request parameters are provided by default for each accommodation type the cheapest option over all available stays is returned. This is also the case if multiple prices are available for one stay.

Parameters
Type Name Description Schema

Query

duration
optional

integer (int32)

Query

includeAllPrices
optional

boolean

Query

rateTypeId
optional

integer (int64)

Query

resourceId
optional

integer (int64)

Query

offerCode
optional

string

Query

resortId
optional

integer (int64)

Query

arrivalDateFrom
optional

string (date)

Query

offerId
optional

integer (int64)

Query

distributionChannelId
optional

integer (int64)

Query

arrivalDateTo
optional

string (date)

Query

includeHiddenOffers
optional

boolean

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching availability of resource

No Content

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/availability
Example HTTP response
Response 200
[ {
  "accommodationKindId" : 1,
  "arrivalDate" : "01-01-2023",
  "departureDate" : "01-01-2023",
  "duration" : 1,
  "maxCapacity" : 1,
  "petCapacity" : 1,
  "prices" : [ {
    "basePrice" : 1,
    "basePriceInclusive" : 1,
    "calculationDate" : "01-01-2023T11:23:45Z",
    "offer" : {
      "maxAge" : 1,
      "minAge" : 1,
      "minCapacity" : 1,
      "offerCode" : "string",
      "offerId" : 1,
      "offerPolicy" : "string",
      "offerPrice" : 1,
      "offerPriceInclusive" : 1
    },
    "rateTypeId" : 1,
    "referencePrice" : 1,
    "referencePriceInclusive" : 1
  } ],
  "resortCode" : "string",
  "resortId" : 1,
  "resourceId" : 1,
  "units" : [ "integer" ]
} ]

5.1.9. Get rooms on a specific resource id

GET /maxxton/v1/accommodationtypes/{resourceId}/rooms
Description

Provides the details of the rooms specific to a particular resource id.. The records can be filtered based on rooms object.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
roomId:0,
code:String,
parentId:0,
lowestLevel:true)

Path

resourceId
required

Resource id for which rooms are to be fetched

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching Rooms

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/rooms
Example HTTP response
Response 200
{
  "content" : [ {
    "amenities" : [ {
      "amenityLinkId" : 1,
      "numberValue" : 1,
      "textValue" : "string"
    } ],
    "code" : "string",
    "lowestLevel" : true,
    "name" : "string",
    "parentId" : 1,
    "roomId" : 1,
    "roomManagerId" : 1,
    "roomType" : {
      "code" : "string",
      "i18n" : [ {
        "description" : "string",
        "language" : "string",
        "languageId" : 1,
        "name" : "string"
      } ],
      "roomTypeId" : 1,
      "translations" : [ {
        "description" : "string",
        "language" : "string",
        "languageId" : 1,
        "name" : "string"
      } ]
    },
    "roomTypeId" : 1,
    "translations" : [ {
      "description" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string"
    } ]
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.10. Gets resource implies

GET /maxxton/v1/accommodationtypes/implies
Description

Gets a page with resource implies. Implies are the extras that can be linked to the special. The records can be filtered based on implies object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
impliesId:0,
addToParent:0,
bookDateFrom:String(date),
bookDateTo:String(date),
countFromMin:true,
ignoreRentability:true,
implicationManagerId:0,
implyOnce:true,
included:true,
onBill:true,
parentId:0,
priority:0,
quantityMax:0,
quantityMin:0,
removable:true,
required:true,
showOnAllInPriceBill:true,
showPrice:true,
subjectsMax:0,
subjectsMin:0,
supplierImpliesId:0,
validFrom:String(date),
validTo:String(date))

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching resource implies.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/implies
Example HTTP response
Response 200
{
  "content" : [ {
    "addToParent" : 1,
    "bookDateFrom" : "01-01-2023",
    "bookDateTo" : "01-01-2023",
    "countFromMin" : true,
    "ignoreRentability" : true,
    "implicationManagerId" : 1,
    "implied" : [ {
      "objectId" : 1,
      "resourceId" : 1
    } ],
    "impliesId" : 1,
    "implyOnce" : true,
    "included" : true,
    "onBill" : true,
    "parent" : true,
    "parentId" : 1,
    "priority" : 1,
    "quantityMax" : 1,
    "quantityMin" : 1,
    "removable" : true,
    "required" : true,
    "resourceId" : 1,
    "resourceIds" : [ "integer" ],
    "showOnAllInPriceBill" : true,
    "showPrice" : true,
    "stay" : true,
    "subjectsMax" : 1,
    "subjectsMin" : 1,
    "supplierImpliesId" : 1,
    "validFrom" : "01-01-2023",
    "validTo" : "01-01-2023"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.11. Gets Cost prices on a specific resource id.

GET /maxxton/v1/accommodationtypes/{resourceId}/costprices
Description

Gets Cost prices based on resource id.

Parameters
Type Name Description Schema

Path

resourceId
required

Resource id for which cost prices are to be fetched

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching cost prices of resource

No Content

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/costprices
Example HTTP response
Response 200
{
  "content" : [ {
    "arrivalDateFrom" : "01-01-2023",
    "arrivalDateTo" : "01-01-2023",
    "bookDateFrom" : "01-01-2023T11:23:45Z",
    "bookDateTo" : "01-01-2023T11:23:45Z",
    "costPriceId" : 1,
    "currencyCode" : "string",
    "currencyId" : 1,
    "duration" : 1,
    "maxDuration" : 1,
    "minDuration" : 1,
    "resourceId" : 1,
    "usageDowList" : [ "string" ],
    "value" : 1,
    "valueType" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.12. Gets a Resource locks on specified resource id

GET /maxxton/v1/accommodationtypes/{resourceId}/locks
Description

Gets a page with resource locks specified with a particular resource id.The records can be filtered based on resource lock object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
reasonId:0,
detailDescription:String,
startDate:String(date),
endDate:String(date),
type:String,
unitId:0)

Path

resourceId
required

Resource id for which locks are to be fetched

integer (int64)

Query

unitId
optional

unitId to filter the records

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching resource locks.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/locks
Example HTTP response
Response 200
{
  "content" : [ {
    "accoCreatedLock" : 1,
    "blockDate" : "01-01-2023",
    "clientId" : 1,
    "created" : "01-01-2023T11:23:45Z",
    "createdOn" : "01-01-2023T11:23:45Z",
    "detailDescription" : "string",
    "endDate" : "01-01-2023",
    "objectId" : 1,
    "reasonId" : 1,
    "resourceId" : 1,
    "resourceLockId" : 1,
    "resourceManagerId" : 1,
    "startDate" : "01-01-2023",
    "type" : "string",
    "unitId" : 1
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.13. Gets a page of resource occupancy on specified resource id

GET /maxxton/v1/accommodationtypes/{resourceId}/occupancy
Description

Gets a page with resource occupancy specified with a particular resource id.

Parameters
Type Name Description Schema

Path

resourceId
required

The identifier of the ResourceId to fetch resource occupancy

integer (int64)

Query

endDate
required

The identifier of the EndDate to fetch resource occupancy

string (date)

Query

startDate
required

The identifier of the StartDate to fetch resource occupancy

string (date)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching resource occupancy.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/occupancy
Example HTTP response
Response 200
{
  "content" : [ {
    "allotted" : 1,
    "bookedAllotment" : 1,
    "endDate" : "01-01-2023",
    "freeAllotment" : 1,
    "locked" : 1,
    "reserved" : 1,
    "resourceId" : 1,
    "startDate" : "01-01-2023",
    "total" : 1
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.14. Gets a resource releases on specified resource id

GET /maxxton/v1/accommodationtypes/{resourceId}/releases
Description

Accommodation type release specifies that the accommodation type is available for booking for which period and to which users i.e. all, owners or test,It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
releaseId:0,
maxArrivalDate:String(date),
minArrivalDate:String(date),
releasedDays:0,
status:String,
resourceId:0,
createdDate:String(date),
modifiedDate:String(date))

Path

resourceId
required

Resource id for which to fetch releases

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching AccommodationType releases.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/releases
Example HTTP response
Response 200
{
  "content" : [ {
    "createdDate" : "01-01-2023T11:23:45Z",
    "maxArrivalDate" : "01-01-2023",
    "minArrivalDate" : "01-01-2023",
    "modifiedDate" : "01-01-2023T11:23:45Z",
    "releaseId" : 1,
    "releasedDays" : 1,
    "resourceId" : 1,
    "status" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.15. Gets a single price for each stay (combination of arrival date and duration) for a given resource

POST /maxxton/v1/accommodationtypes/arrivalrangesearch
Description

Gets accommodationtype range search based on provided criteria. This endpoint supports prebooking prices, only if the field preBooking = true in the request body. If not specified, prebooking prices are not considered in the response.
Either voucherCode or offerCode should be provided in the request, and not both. In case both are provided then an error is thrown. In case no request parameters are provided by default for each accommodation type the cheapest option over all available stays is returned. This is also the case if multiple prices are available for one stay.

Parameters
Type Name Description Schema

Body

requestBody
required

Responses
Code Description Schema

200

The request is completed successfully without any errors

400

Either offerCode or voucherCode should be passed

No Content

500

Error occurred while fetching accommodationTypes

No Content

Consumes
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/arrivalrangesearch
Request body
{
  "accommodationKindIds" : [ "integer" ],
  "amenityIds" : [ "integer" ],
  "arrivalDateFrom" : "01-01-2023",
  "distributionChannelId" : 1,
  "filterOptions" : [ "string" ],
  "numberOfDaysInResult" : 1,
  "offerCode" : "string",
  "offerId" : 1,
  "petQuantity" : 1,
  "preBooking" : true,
  "qualityLevelIds" : [ "integer" ],
  "rateTypeId" : 1,
  "redeemableLoyaltyPoints" : 1,
  "resortIds" : [ "integer" ],
  "resourceIds" : [ "integer" ],
  "subjects" : {
    "persons" : [ {
      "maxAge" : "string",
      "quantity" : 1
    } ]
  },
  "unitId" : 1,
  "voucherCode" : "string"
}
Example HTTP response
Response 200
{
  "filterOptionsResult" : {
    "arrivals" : [ "string" ],
    "departures" : [ "string" ],
    "qualityLevels" : [ "integer" ]
  },
  "results" : {
    "content" : [ {
      "accommodationKindId" : 1,
      "arrivalDate" : "01-01-2023",
      "arrivalDowMask" : "string",
      "basePrice" : 1,
      "basePriceInclusive" : 1,
      "departureDate" : "01-01-2023",
      "duration" : 1,
      "freeLoyaltyDuration" : 1,
      "loyaltyPrice" : 1,
      "loyaltyPriceInclusive" : 1,
      "maxCapacity" : 1,
      "maxPetCapacity" : 1,
      "offerCode" : "string",
      "offerName" : "string",
      "offerPolicy" : "string",
      "offerPrice" : 1,
      "offerPriceInclusive" : 1,
      "preBooking" : true,
      "qualityLevelId" : 1,
      "rateTypeId" : 1,
      "referencePrice" : 1,
      "referencePriceInclusive" : 1,
      "requiredLoyaltyPoints" : 1,
      "resortId" : 1,
      "resourceCode" : "string",
      "resourceId" : 1
    } ],
    "empty" : true,
    "first" : true,
    "last" : true,
    "number" : 1,
    "numberOfElements" : 1,
    "size" : 1,
    "sort" : {
      "empty" : true,
      "sorted" : true,
      "unsorted" : true
    },
    "totalElements" : 1,
    "totalPages" : 1
  }
}

5.1.16. Gets accommodation Type Detail

GET /maxxton/v1/accommodationtypes/details
Description

Gets a page of accommodationtype details. Maximum and default page size for this endpoint is 10.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
resourceId:0,
code:String,
ledgerGroupId:0,
resortId:0,
priority:0,
nrOfBedrooms:0.0,
nrOfBathrooms:0.0,
hasObjects:true,
path:String,
checkinTime:String,
checkoutTime:String,
lateCheckoutTime:String,
earlyCheckinTime:String,
archivedFrom:String(date),
ledgerId:0,
parentId:0,
numberOfPersons:0,
accotypeKindId:0,
origin:String,
originId:String,
powerplayGroupId:0,
qualityLevelId:0,
previousPmsId:String)

Query

endDate
optional

Date to filter records based on end date. Date should be added using ISO 8601 standard(yyyy-MM-dd).

string (date)

Query

returnWorkOrderTypes
optional

boolean

Query

brand
optional

brand to filter records based on brand.

string

Query

returnSections
optional

List of constant strings to return only the selected sections in the response. The possible values are ADDRESS, AMENITYCATEGORYSETS, CAPACITIES, CAPACITYREQUIREMENTS, DYNAMICFIELDS, IMAGES, ROOMS, VIDEOS, TRANSLATIONS. For example, returnSections=IMAGES,DYNAMICFIELDS will only return images and dynamicfields sections in the response. This is recommended to use to reduce the size of the response body and improve the performance of the call.

< string > array

Query

startDate
optional

Date to filter records based on start date. Date should be added using ISO 8601 standard(yyyy-MM-dd).

string (date)

Query

resourceIds
optional

List of resourceIds to fetch the details.

< integer > array

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching AccommodationTypeUnitDetail.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/details
Example HTTP response
Response 200
{
  "content" : [ {
    "accommodationKind" : {
      "accommodationkindId" : 1,
      "code" : "string",
      "isWorkOrderObject" : true,
      "name" : "string",
      "translations" : [ {
        "accommodationkindId" : 1,
        "description" : "string",
        "i18nAccommodationkindId" : 1,
        "languageId" : 1,
        "name" : "string"
      } ]
    },
    "accommodationTypeKindCode" : "string",
    "accotypeBarrier" : 1,
    "accotypeDoorlock" : 1,
    "accotypeKindId" : 1,
    "address" : {
      "accuracy" : "string",
      "address1" : "string",
      "address2" : "string",
      "address3" : "string",
      "addressId" : 1,
      "altContactPerson" : "string",
      "alternateContactPerson" : "string",
      "boxNumber" : "string",
      "city" : "string",
      "country" : {
        "code" : "string",
        "countryId" : 1,
        "default" : true,
        "defaultLanguageId" : 1,
        "priority" : 1,
        "shortName" : "string",
        "translations" : [ {
          "i18nCountryId" : 1,
          "language" : "string",
          "languageId" : 1,
          "longName" : "string",
          "name" : "string"
        } ]
      },
      "countryId" : 1,
      "dateBegin" : "01-01-2023",
      "dateEnd" : "01-01-2023",
      "district" : "string",
      "email" : "string",
      "exposeLocation" : true,
      "fax" : "string",
      "houseNumber" : "string",
      "houseNumberSuffix" : "string",
      "latitude" : 1,
      "longitude" : 1,
      "mobilePhone" : "string",
      "mobilePhone2" : "string",
      "municipality" : "string",
      "poBox" : "string",
      "poBoxCity" : "string",
      "poBoxZipcode" : "string",
      "privatePhone" : "string",
      "stateId" : 1,
      "workPhone" : "string",
      "zipCode" : "string"
    },
    "amenityCategorySets" : [ {
      "categories" : [ {
        "amenities" : [ {
          "amenityId" : 1,
          "amenityLinkId" : 1,
          "archivedFrom" : "01-01-2023",
          "code" : "string",
          "endDate" : "01-01-2023",
          "i18n" : [ { } ],
          "identifier" : "string",
          "imageManagerId" : 1,
          "images" : [ { } ],
          "managerId" : 1,
          "metricDetail" : { },
          "numberValue" : 1,
          "origin" : "string",
          "parentAmenityId" : 1,
          "preferenceExtraId" : 1,
          "startDate" : "01-01-2023",
          "textValue" : "string",
          "translations" : [ { } ],
          "type" : "string",
          "visible" : true
        } ],
        "amenityCategoryId" : 1,
        "amenityGroups" : [ {
          "amenities" : [ { } ],
          "amenityId" : 1,
          "amenityLinkId" : 1,
          "archivedFrom" : "01-01-2023",
          "code" : "string",
          "endDate" : "01-01-2023",
          "identifier" : "string",
          "managerId" : 1,
          "metric" : { },
          "metricDetail" : { },
          "numberValue" : 1,
          "origin" : "string",
          "parentAmenityId" : 1,
          "preferenceExtraId" : 1,
          "startDate" : "01-01-2023",
          "textValue" : "string",
          "translations" : [ { } ],
          "type" : "string",
          "visible" : true
        } ],
        "code" : "string",
        "i18n" : [ {
          "description" : "string",
          "language" : "string",
          "languageId" : 1,
          "name" : "string"
        } ],
        "priority" : 1,
        "translations" : [ {
          "description" : "string",
          "language" : "string",
          "languageId" : 1,
          "name" : "string"
        } ]
      } ],
      "code" : "string",
      "translations" : [ {
        "description" : "string",
        "language" : "string",
        "languageId" : 1,
        "name" : "string"
      } ]
    } ],
    "archivedFrom" : "01-01-2023",
    "brand" : "string",
    "brandId" : 1,
    "capacities" : [ {
      "capacity" : 1,
      "capacityId" : 1,
      "endDate" : "01-01-2023",
      "managerId" : 1,
      "startDate" : "01-01-2023",
      "subject" : {
        "controlAccess" : true,
        "endDate" : "01-01-2023",
        "i18n" : [ {
          "language" : "string",
          "languageId" : 1,
          "name" : "string",
          "shortDescription" : "string",
          "subjectId" : 1
        } ],
        "includeInTotal" : true,
        "maxAge" : 1,
        "reportGroupSubjectId" : 1,
        "subjectCategoryId" : 1,
        "subjectId" : 1,
        "subjectOrder" : 1,
        "translations" : [ {
          "language" : "string",
          "languageId" : 1,
          "name" : "string",
          "shortDescription" : "string",
          "subjectId" : 1
        } ],
        "type" : "string"
      },
      "subjectId" : 1
    } ],
    "capacityRequirements" : [ {
      "managerId" : 1,
      "required" : 1,
      "subject" : [ {
        "controlAccess" : true,
        "endDate" : "01-01-2023",
        "i18n" : [ {
          "language" : "string",
          "languageId" : 1,
          "name" : "string",
          "shortDescription" : "string",
          "subjectId" : 1
        } ],
        "includeInTotal" : true,
        "maxAge" : 1,
        "reportGroupSubjectId" : 1,
        "subjectCategoryId" : 1,
        "subjectId" : 1,
        "subjectOrder" : 1,
        "translations" : [ {
          "language" : "string",
          "languageId" : 1,
          "name" : "string",
          "shortDescription" : "string",
          "subjectId" : 1
        } ],
        "type" : "string"
      } ]
    } ],
    "checkinTime" : {
      "hour" : 1,
      "minute" : 1,
      "nano" : 1,
      "second" : 1
    },
    "checkoutTime" : {
      "hour" : 1,
      "minute" : 1,
      "nano" : 1,
      "second" : 1
    },
    "code" : "string",
    "dynamicFields" : [ {
      "code" : "string",
      "eventmanagerId" : 1,
      "fieldId" : 1,
      "translations" : [ {
        "description" : "string",
        "fieldId" : 1,
        "i18nFieldId" : 1,
        "language" : "string",
        "languageId" : 1,
        "name" : "string",
        "shortDescription" : "string",
        "text" : "string"
      } ],
      "type" : "string"
    } ],
    "earlyCheckinTime" : {
      "hour" : 1,
      "minute" : 1,
      "nano" : 1,
      "second" : 1
    },
    "hasObjects" : true,
    "i18n" : [ {
      "accotypeKind" : "string",
      "description" : "string",
      "description2" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "namePath" : "string",
      "resourceId" : 1,
      "shortDescription" : "string"
    } ],
    "images" : [ {
      "endDate" : "01-01-2023",
      "fileName" : "string",
      "hostType" : "string",
      "imageId" : 1,
      "imageManagerId" : 1,
      "imageManagerIds" : [ "integer" ],
      "imageOrientation" : "string",
      "imageType" : "string",
      "isActive" : true,
      "isUploaded" : true,
      "isWebPresentation" : true,
      "mediaLanguageId" : 1,
      "mediaType" : "string",
      "mimeType" : "string",
      "modifiedDate" : "01-01-2023T11:23:45Z",
      "sequenceNumber" : 1,
      "startDate" : "01-01-2023",
      "tags" : [ {
        "name" : "string",
        "tagId" : 1
      } ],
      "thumbnailUrl" : "string",
      "translations" : [ {
        "description" : "string",
        "language" : "string",
        "languageId" : 1,
        "name" : "string"
      } ],
      "uploadDate" : "01-01-2023T11:23:45Z",
      "url" : "string",
      "version" : 1
    } ],
    "lateCheckoutTime" : {
      "hour" : 1,
      "minute" : 1,
      "nano" : 1,
      "second" : 1
    },
    "ledgerGroupId" : 1,
    "ledgerId" : 1,
    "nrOfBathrooms" : 1,
    "nrOfBedrooms" : 1,
    "numberOfPersons" : 1,
    "origin" : "string",
    "originId" : "string",
    "parentId" : 1,
    "path" : "string",
    "powerplayGroupId" : 1,
    "previousPmsId" : "string",
    "priority" : 1,
    "qualityLevelId" : 1,
    "resortId" : 1,
    "resourceGroup" : {
      "code" : "string",
      "groupId" : 1,
      "translations" : [ {
        "description" : "string",
        "language" : "string",
        "languageId" : 1,
        "name" : "string",
        "shortDescription" : "string"
      } ]
    },
    "resourceId" : 1,
    "resourcegroupId" : 1,
    "rooms" : [ {
      "amenities" : [ {
        "amenityLinkId" : 1,
        "numberValue" : 1,
        "textValue" : "string"
      } ],
      "code" : "string",
      "lowestLevel" : true,
      "name" : "string",
      "parentId" : 1,
      "roomId" : 1,
      "roomManagerId" : 1,
      "roomType" : {
        "code" : "string",
        "i18n" : [ {
          "description" : "string",
          "language" : "string",
          "languageId" : 1,
          "name" : "string"
        } ],
        "roomTypeId" : 1,
        "translations" : [ {
          "description" : "string",
          "language" : "string",
          "languageId" : 1,
          "name" : "string"
        } ]
      },
      "roomTypeId" : 1,
      "translations" : [ {
        "description" : "string",
        "language" : "string",
        "languageId" : 1,
        "name" : "string"
      } ]
    } ],
    "translations" : [ {
      "accotypeKind" : "string",
      "description" : "string",
      "description2" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "namePath" : "string",
      "resourceId" : 1,
      "shortDescription" : "string"
    } ],
    "videos" : [ {
      "endDate" : "01-01-2023",
      "hostType" : "string",
      "isActive" : true,
      "isUploaded" : true,
      "isWebPresentation" : true,
      "mediaLanguageCode" : "string",
      "mediaLanguageId" : 1,
      "mediaType" : "string",
      "sequenceNumber" : 1,
      "startDate" : "01-01-2023",
      "thumbnailUrl" : "string",
      "url" : "string",
      "videoId" : 1
    } ]
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.17. Gets accommodation Type Detail

GET /maxxton/v1/accommodationtypes/{resourceId}/details
Description

Gets a detailed decription of the particular resource accommodationtypes.

Parameters
Type Name Description Schema

Path

resourceId
required

resourceId to fetch accommodationtypedetail

integer (int64)

Query

endDate
optional

Date to filter records based on end date. Date should be added using ISO 8601 standard(yyyy-MM-dd).

string (date)

Query

returnWorkOrderTypes
optional

boolean

Query

returnSections
optional

List of constant strings to return only the selected sections in the response. The possible values are ADDRESS, AMENITYCATEGORYSETS, CAPACITIES, CAPACITYREQUIREMENTS, DYNAMICFIELDS, IMAGES, ROOMS, VIDEOS, TRANSLATIONS. For example, returnSections=IMAGES,DYNAMICFIELDS will only return images and dynamicfields sections in the response. This is recommended to use to reduce the size of the response body and improve the performance of the call.

< string > array

Query

startDate
optional

Date to filter records based on start date. Date should be added using ISO 8601 standard(yyyy-MM-dd).

string (date)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching AccommodationTypeDetail.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/details
Example HTTP response
Response 200
{
  "accommodationKind" : {
    "accommodationkindId" : 1,
    "code" : "string",
    "isWorkOrderObject" : true,
    "name" : "string",
    "translations" : [ {
      "accommodationkindId" : 1,
      "description" : "string",
      "i18nAccommodationkindId" : 1,
      "languageId" : 1,
      "name" : "string"
    } ]
  },
  "accommodationTypeKindCode" : "string",
  "accotypeBarrier" : 1,
  "accotypeDoorlock" : 1,
  "accotypeKindId" : 1,
  "address" : {
    "accuracy" : "string",
    "address1" : "string",
    "address2" : "string",
    "address3" : "string",
    "addressId" : 1,
    "altContactPerson" : "string",
    "alternateContactPerson" : "string",
    "boxNumber" : "string",
    "city" : "string",
    "country" : {
      "code" : "string",
      "countryId" : 1,
      "default" : true,
      "defaultLanguageId" : 1,
      "priority" : 1,
      "shortName" : "string",
      "translations" : [ {
        "i18nCountryId" : 1,
        "language" : "string",
        "languageId" : 1,
        "longName" : "string",
        "name" : "string"
      } ]
    },
    "countryId" : 1,
    "dateBegin" : "01-01-2023",
    "dateEnd" : "01-01-2023",
    "district" : "string",
    "email" : "string",
    "exposeLocation" : true,
    "fax" : "string",
    "houseNumber" : "string",
    "houseNumberSuffix" : "string",
    "latitude" : 1,
    "longitude" : 1,
    "mobilePhone" : "string",
    "mobilePhone2" : "string",
    "municipality" : "string",
    "poBox" : "string",
    "poBoxCity" : "string",
    "poBoxZipcode" : "string",
    "privatePhone" : "string",
    "stateId" : 1,
    "workPhone" : "string",
    "zipCode" : "string"
  },
  "amenityCategorySets" : [ {
    "categories" : [ {
      "amenities" : [ {
        "amenityId" : 1,
        "amenityLinkId" : 1,
        "archivedFrom" : "01-01-2023",
        "code" : "string",
        "endDate" : "01-01-2023",
        "i18n" : [ {
          "description" : "string",
          "language" : "string",
          "languageId" : 1,
          "name" : "string"
        } ],
        "identifier" : "string",
        "imageManagerId" : 1,
        "images" : [ {
          "endDate" : "01-01-2023",
          "fileName" : "string",
          "hostType" : "string",
          "imageId" : 1,
          "imageManagerId" : 1,
          "imageManagerIds" : [ "integer" ],
          "imageOrientation" : "string",
          "imageType" : "string",
          "isActive" : true,
          "isUploaded" : true,
          "isWebPresentation" : true,
          "mediaLanguageId" : 1,
          "mediaType" : "string",
          "mimeType" : "string",
          "modifiedDate" : "01-01-2023T11:23:45Z",
          "sequenceNumber" : 1,
          "startDate" : "01-01-2023",
          "tags" : [ { } ],
          "thumbnailUrl" : "string",
          "translations" : [ { } ],
          "uploadDate" : "01-01-2023T11:23:45Z",
          "url" : "string",
          "version" : 1
        } ],
        "managerId" : 1,
        "metricDetail" : {
          "code" : "string",
          "i18n" : [ { } ],
          "metricId" : 1,
          "translations" : [ { } ]
        },
        "numberValue" : 1,
        "origin" : "string",
        "parentAmenityId" : 1,
        "preferenceExtraId" : 1,
        "startDate" : "01-01-2023",
        "textValue" : "string",
        "translations" : [ {
          "description" : "string",
          "language" : "string",
          "languageId" : 1,
          "name" : "string"
        } ],
        "type" : "string",
        "visible" : true
      } ],
      "amenityCategoryId" : 1,
      "amenityGroups" : [ {
        "amenities" : [ {
          "amenityId" : 1,
          "amenityLinkId" : 1,
          "archivedFrom" : "01-01-2023",
          "code" : "string",
          "endDate" : "01-01-2023",
          "i18n" : [ { } ],
          "identifier" : "string",
          "imageManagerId" : 1,
          "images" : [ { } ],
          "managerId" : 1,
          "metricDetail" : { },
          "numberValue" : 1,
          "origin" : "string",
          "parentAmenityId" : 1,
          "preferenceExtraId" : 1,
          "startDate" : "01-01-2023",
          "textValue" : "string",
          "translations" : [ { } ],
          "type" : "string",
          "visible" : true
        } ],
        "amenityId" : 1,
        "amenityLinkId" : 1,
        "archivedFrom" : "01-01-2023",
        "code" : "string",
        "endDate" : "01-01-2023",
        "identifier" : "string",
        "managerId" : 1,
        "metric" : {
          "code" : "string",
          "i18n" : [ { } ],
          "metricId" : 1,
          "translations" : [ { } ]
        },
        "metricDetail" : {
          "code" : "string",
          "i18n" : [ { } ],
          "metricId" : 1,
          "translations" : [ { } ]
        },
        "numberValue" : 1,
        "origin" : "string",
        "parentAmenityId" : 1,
        "preferenceExtraId" : 1,
        "startDate" : "01-01-2023",
        "textValue" : "string",
        "translations" : [ {
          "description" : "string",
          "language" : "string",
          "languageId" : 1,
          "name" : "string"
        } ],
        "type" : "string",
        "visible" : true
      } ],
      "code" : "string",
      "i18n" : [ {
        "description" : "string",
        "language" : "string",
        "languageId" : 1,
        "name" : "string"
      } ],
      "priority" : 1,
      "translations" : [ {
        "description" : "string",
        "language" : "string",
        "languageId" : 1,
        "name" : "string"
      } ]
    } ],
    "code" : "string",
    "translations" : [ {
      "description" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string"
    } ]
  } ],
  "archivedFrom" : "01-01-2023",
  "brand" : "string",
  "brandId" : 1,
  "capacities" : [ {
    "capacity" : 1,
    "capacityId" : 1,
    "endDate" : "01-01-2023",
    "managerId" : 1,
    "startDate" : "01-01-2023",
    "subject" : {
      "controlAccess" : true,
      "endDate" : "01-01-2023",
      "i18n" : [ {
        "language" : "string",
        "languageId" : 1,
        "name" : "string",
        "shortDescription" : "string",
        "subjectId" : 1
      } ],
      "includeInTotal" : true,
      "maxAge" : 1,
      "reportGroupSubjectId" : 1,
      "subjectCategoryId" : 1,
      "subjectId" : 1,
      "subjectOrder" : 1,
      "translations" : [ {
        "language" : "string",
        "languageId" : 1,
        "name" : "string",
        "shortDescription" : "string",
        "subjectId" : 1
      } ],
      "type" : "string"
    },
    "subjectId" : 1
  } ],
  "capacityRequirements" : [ {
    "managerId" : 1,
    "required" : 1,
    "subject" : [ {
      "controlAccess" : true,
      "endDate" : "01-01-2023",
      "i18n" : [ {
        "language" : "string",
        "languageId" : 1,
        "name" : "string",
        "shortDescription" : "string",
        "subjectId" : 1
      } ],
      "includeInTotal" : true,
      "maxAge" : 1,
      "reportGroupSubjectId" : 1,
      "subjectCategoryId" : 1,
      "subjectId" : 1,
      "subjectOrder" : 1,
      "translations" : [ {
        "language" : "string",
        "languageId" : 1,
        "name" : "string",
        "shortDescription" : "string",
        "subjectId" : 1
      } ],
      "type" : "string"
    } ]
  } ],
  "checkinTime" : {
    "hour" : 1,
    "minute" : 1,
    "nano" : 1,
    "second" : 1
  },
  "checkoutTime" : {
    "hour" : 1,
    "minute" : 1,
    "nano" : 1,
    "second" : 1
  },
  "code" : "string",
  "dynamicFields" : [ {
    "code" : "string",
    "eventmanagerId" : 1,
    "fieldId" : 1,
    "translations" : [ {
      "description" : "string",
      "fieldId" : 1,
      "i18nFieldId" : 1,
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "shortDescription" : "string",
      "text" : "string"
    } ],
    "type" : "string"
  } ],
  "earlyCheckinTime" : {
    "hour" : 1,
    "minute" : 1,
    "nano" : 1,
    "second" : 1
  },
  "hasObjects" : true,
  "i18n" : [ {
    "accotypeKind" : "string",
    "description" : "string",
    "description2" : "string",
    "language" : "string",
    "languageId" : 1,
    "name" : "string",
    "namePath" : "string",
    "resourceId" : 1,
    "shortDescription" : "string"
  } ],
  "images" : [ {
    "endDate" : "01-01-2023",
    "fileName" : "string",
    "hostType" : "string",
    "imageId" : 1,
    "imageManagerId" : 1,
    "imageManagerIds" : [ "integer" ],
    "imageOrientation" : "string",
    "imageType" : "string",
    "isActive" : true,
    "isUploaded" : true,
    "isWebPresentation" : true,
    "mediaLanguageId" : 1,
    "mediaType" : "string",
    "mimeType" : "string",
    "modifiedDate" : "01-01-2023T11:23:45Z",
    "sequenceNumber" : 1,
    "startDate" : "01-01-2023",
    "tags" : [ {
      "name" : "string",
      "tagId" : 1
    } ],
    "thumbnailUrl" : "string",
    "translations" : [ {
      "description" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string"
    } ],
    "uploadDate" : "01-01-2023T11:23:45Z",
    "url" : "string",
    "version" : 1
  } ],
  "lateCheckoutTime" : {
    "hour" : 1,
    "minute" : 1,
    "nano" : 1,
    "second" : 1
  },
  "ledgerGroupId" : 1,
  "ledgerId" : 1,
  "nrOfBathrooms" : 1,
  "nrOfBedrooms" : 1,
  "numberOfPersons" : 1,
  "origin" : "string",
  "originId" : "string",
  "parentId" : 1,
  "path" : "string",
  "powerplayGroupId" : 1,
  "previousPmsId" : "string",
  "priority" : 1,
  "qualityLevelId" : 1,
  "resortId" : 1,
  "resourceGroup" : {
    "code" : "string",
    "groupId" : 1,
    "translations" : [ {
      "description" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "shortDescription" : "string"
    } ]
  },
  "resourceId" : 1,
  "resourcegroupId" : 1,
  "rooms" : [ {
    "amenities" : [ {
      "amenityLinkId" : 1,
      "numberValue" : 1,
      "textValue" : "string"
    } ],
    "code" : "string",
    "lowestLevel" : true,
    "name" : "string",
    "parentId" : 1,
    "roomId" : 1,
    "roomManagerId" : 1,
    "roomType" : {
      "code" : "string",
      "i18n" : [ {
        "description" : "string",
        "language" : "string",
        "languageId" : 1,
        "name" : "string"
      } ],
      "roomTypeId" : 1,
      "translations" : [ {
        "description" : "string",
        "language" : "string",
        "languageId" : 1,
        "name" : "string"
      } ]
    },
    "roomTypeId" : 1,
    "translations" : [ {
      "description" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string"
    } ]
  } ],
  "translations" : [ {
    "accotypeKind" : "string",
    "description" : "string",
    "description2" : "string",
    "language" : "string",
    "languageId" : 1,
    "name" : "string",
    "namePath" : "string",
    "resourceId" : 1,
    "shortDescription" : "string"
  } ],
  "videos" : [ {
    "endDate" : "01-01-2023",
    "hostType" : "string",
    "isActive" : true,
    "isUploaded" : true,
    "isWebPresentation" : true,
    "mediaLanguageCode" : "string",
    "mediaLanguageId" : 1,
    "mediaType" : "string",
    "sequenceNumber" : 1,
    "startDate" : "01-01-2023",
    "thumbnailUrl" : "string",
    "url" : "string",
    "videoId" : 1
  } ]
}

5.1.18. Gets accommodation type additions

GET /maxxton/v1/accommodationtypes/{resourceId}/additions
Description

Gets a page with AccommodationType additions for a particular resource. The record can be filtered based on resource addition object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
additionId:0,
additionFast:true,
mandatoryResource:true,
maxQuantity:0,
maxReservable:0,
maxTotalQuantity:0,
unitId:0,
priceCompare:true,
resourceId:0,
validFrom:String(date),
validTo:String(date))

Path

resourceId
required

resourceId of accommodation for which additions are to be fetched

integer (int64)

Query

type
optional

type to filter records based on the type on the resource addition

enum (ACCOMMODATIONTYPE,RESOURCEACTIVITY,ACTIVITY,PRODUCTTYPE,EXTRA,SPECIAL,COMPOSITION)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching accommodation type additions.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/additions
Example HTTP response
Response 200
{
  "content" : [ {
    "additionFast" : true,
    "additionId" : 1,
    "additionResourceId" : 1,
    "addonType" : "string",
    "i18n" : [ {
      "description" : "string",
      "description2" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "shortDescription" : "string"
    } ],
    "mandatoryResource" : true,
    "maxQuantity" : 1,
    "maxReservable" : 1,
    "maxTotalQuantity" : 1,
    "priceCompare" : true,
    "resortArticle" : true,
    "resourceId" : 1,
    "resourceMoment" : [ "string" ],
    "supplierAdditionId" : 1,
    "translations" : [ {
      "description" : "string",
      "description2" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "shortDescription" : "string"
    } ],
    "type" : "string",
    "unitId" : 1,
    "validFrom" : "01-01-2023",
    "validTo" : "01-01-2023"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.19. Gets accommodationType representations

GET /maxxton/v1/accommodationtypes/{resourceId}/representations
Description

Gets a page with accommodationType representations for a resource. The records can be filtered based on representation object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
resourceId:0,
visible:true,
bookable:true)

Path

resourceId
required

resourceId of accommodation for which representations are to be fetched

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching accommodation type representations.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/representations
Example HTTP response
Response 200
{
  "content" : [ {
    "bookable" : true,
    "distributionChannelIds" : [ "integer" ],
    "representationId" : 1,
    "resourceId" : 1,
    "translations" : [ {
      "description" : "string",
      "description2" : "string",
      "i18nRepresentationId" : 1,
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "representationId" : 1,
      "shortDescription" : "string"
    } ],
    "visible" : true
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.20. Gets accommodationTypes additions

GET /maxxton/v1/accommodationtypes/additions
Description

Get a page with accommodation types additions.Additions are defining recommended goods during the booking process(upselling). The products are linked to the accommodation where they may be booked. The data can be filtered based on resource addition object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
additionId:0,
additionFast:true,
mandatoryResource:true,
maxQuantity:0,
maxReservable:0,
maxTotalQuantity:0,
unitId:0,
priceCompare:true,
resourceId:0,
validFrom:String(date),
validTo:String(date))

Query

type
optional

type to filter records based on the type on the resource addition

enum (ACCOMMODATIONTYPE,RESOURCEACTIVITY,ACTIVITY,PRODUCTTYPE,EXTRA,SPECIAL,COMPOSITION)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching accommodation types additions.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/additions
Example HTTP response
Response 200
{
  "content" : [ {
    "additionFast" : true,
    "additionId" : 1,
    "additionResourceId" : 1,
    "addonType" : "string",
    "i18n" : [ {
      "description" : "string",
      "description2" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "shortDescription" : "string"
    } ],
    "mandatoryResource" : true,
    "maxQuantity" : 1,
    "maxReservable" : 1,
    "maxTotalQuantity" : 1,
    "priceCompare" : true,
    "resortArticle" : true,
    "resourceId" : 1,
    "resourceMoment" : [ "string" ],
    "supplierAdditionId" : 1,
    "translations" : [ {
      "description" : "string",
      "description2" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "shortDescription" : "string"
    } ],
    "type" : "string",
    "unitId" : 1,
    "validFrom" : "01-01-2023",
    "validTo" : "01-01-2023"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.21. Gets accommodationtype rates

GET /maxxton/v1/accommodationtypes/{resourceId}/rates
Description

Gets a page with rates of accommodation of a particular resource.The records can be filtered based on rate object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
rateId:0,
value:0.0,
remark:String,
qrvType:String,
priority:0,
bookdateFrom:String(date),
bookdateTo:String(date),
usageDurationFrom:0,
usageDurationTo:0,
cashflowmanagerId:0,
validFrom:String(date),
validTo:String(date))

Path

resourceId
required

Resource id for which Rates are to be fetched

integer (int64)

Query

rateTypeIds
optional

RateTypeIds to filter accommodation type Rates.

< integer > array

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching accommodation type rates.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/rates
Example HTTP response
Response 200
{
  "content" : [ {
    "bookdateFrom" : "01-01-2023T11:23:45Z",
    "bookdateTo" : "01-01-2023T11:23:45Z",
    "daysOfWeek" : [ "string" ],
    "duration" : 1,
    "maxDeviation" : 1,
    "maxDuration" : 1,
    "maxDurationMinutes" : 1,
    "minDeviation" : 1,
    "minDuration" : 1,
    "minDurationMinutes" : 1,
    "priority" : 1,
    "qrvType" : "string",
    "qrvValues" : [ {
      "minQuantity" : 1,
      "value" : 1
    } ],
    "quantifier" : "string",
    "rateId" : 1,
    "rateTypeIds" : [ "integer" ],
    "rateTypes" : [ {
      "rateTypeId" : 1
    } ],
    "remark" : "string",
    "resourceId" : 1,
    "translations" : [ {
      "language" : "string",
      "languageId" : 1,
      "name" : "string"
    } ],
    "usageDowList" : [ "string" ],
    "usageDurationFrom" : 1,
    "usageDurationTo" : 1,
    "validFrom" : "01-01-2023",
    "validTo" : "01-01-2023",
    "value" : 1,
    "valueType" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.22. Gets all accommodation types

GET /maxxton/v1/accommodationtypes
Description

Gets a page with accommodation types. The records can be filtered based on accommodation type object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
resourceId:0,
ledgerGroupId:0,
type:String,
code:String,
resortId:0,
parentId:0,
path:String,
hasObjects:true,
dependsOnLedgerGroup:true,
priority:0,
numberOfPersons:0,
nrOfBedrooms:0.0,
nrOfBathrooms:0.0,
accotypeKindId:0,
archivedFrom:String(date),
ledgerId:0,
brand:String,
origin:String,
originId:String,
powerplayGroupId:0,
groupId:0,
qualityLevelId:0,
previousPmsId:String,
linkedWithSupplier:true)

Query

countryCode
optional

Country code to filter accommodation types.

string

Query

returnWorkOrderTypes
optional

boolean

Query

brand
optional

brand to filter records based on brand.

string

Query

resourceIds
optional

< integer > array

Responses
Code Description Schema

200

The request is completed successfully without any errors

404

No resorts found for given criteria.

No Content

500

Error occurred while fetching AccommodationTypes.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes
Example HTTP response
Response 200
{
  "content" : [ {
    "accommodationTypeKindCode" : "string",
    "accotypeAddressmanagerId" : 1,
    "accotypeBarrier" : 1,
    "accotypeDoorlock" : 1,
    "accotypeKindId" : 1,
    "address" : {
      "accuracy" : "string",
      "address1" : "string",
      "address2" : "string",
      "address3" : "string",
      "addressId" : 1,
      "altContactPerson" : "string",
      "alternateContactPerson" : "string",
      "boxNumber" : "string",
      "city" : "string",
      "country" : {
        "code" : "string",
        "countryId" : 1,
        "default" : true,
        "defaultLanguageId" : 1,
        "priority" : 1,
        "shortName" : "string",
        "translations" : [ {
          "i18nCountryId" : 1,
          "language" : "string",
          "languageId" : 1,
          "longName" : "string",
          "name" : "string"
        } ]
      },
      "countryId" : 1,
      "dateBegin" : "01-01-2023",
      "dateEnd" : "01-01-2023",
      "district" : "string",
      "email" : "string",
      "exposeLocation" : true,
      "fax" : "string",
      "houseNumber" : "string",
      "houseNumberSuffix" : "string",
      "latitude" : 1,
      "longitude" : 1,
      "mobilePhone" : "string",
      "mobilePhone2" : "string",
      "municipality" : "string",
      "poBox" : "string",
      "poBoxCity" : "string",
      "poBoxZipcode" : "string",
      "privatePhone" : "string",
      "stateId" : 1,
      "workPhone" : "string",
      "zipCode" : "string"
    },
    "amenityManagerId" : 1,
    "archivedFrom" : "01-01-2023",
    "brand" : "string",
    "brandId" : 1,
    "capacityManagerId" : 1,
    "cashflowManagerId" : 1,
    "code" : "string",
    "dependsOnLedgerGroup" : true,
    "description" : "string",
    "groupId" : 1,
    "hasObjects" : true,
    "i18n" : [ {
      "accotypeKind" : "string",
      "description" : "string",
      "description2" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "namePath" : "string",
      "resourceId" : 1,
      "shortDescription" : "string"
    } ],
    "ledgerGroupId" : 1,
    "ledgerId" : 1,
    "name" : "string",
    "nrOfBathrooms" : 1,
    "nrOfBedrooms" : 1,
    "numberOfPersons" : 1,
    "origin" : "string",
    "originId" : "string",
    "parentId" : 1,
    "path" : "string",
    "powerplayGroupId" : 1,
    "previousPmsId" : "string",
    "priority" : 1,
    "qualityLevelId" : 1,
    "realRentabilityManagerId" : 1,
    "resortId" : 1,
    "resourceId" : 1,
    "resourceManagerId" : 1,
    "shortDescription" : "string",
    "supplierOrigin" : "string",
    "translations" : [ {
      "accotypeKind" : "string",
      "description" : "string",
      "description2" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "namePath" : "string",
      "resourceId" : 1,
      "shortDescription" : "string"
    } ],
    "type" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.23. Gets allotments for Resource

GET /maxxton/v1/accommodationtypes/{resourceId}/allotments
Description

Gets allotments for Resource of a specific resourceId. The records can be filtered based on allotment object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
allotmentId:0,
distributionChannelId:0,
resourceId:0,
name:String,
description:String,
type:String,
exceedLimit:0,
expirePeriod:0,
amount:0,
modified:String(date),
isEnactive:true)

Path

resourceId
required

Resource id for which to fetch Allotments

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching Allotments.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/allotments
Example HTTP response
Response 200
{
  "content" : [ {
    "allotmentId" : 1,
    "amount" : 1,
    "description" : "string",
    "distributionChannelId" : 1,
    "exceedLimit" : 1,
    "expirePeriod" : 1,
    "hasObjects" : true,
    "isEnactive" : true,
    "modified" : "01-01-2023",
    "name" : "string",
    "periods" : [ {
      "endDate" : "01-01-2023",
      "quantity" : 1,
      "startDate" : "01-01-2023",
      "unitIds" : [ "integer" ]
    } ],
    "resourceId" : 1,
    "type" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.24. Gets allotments releases of a specific resource

GET /maxxton/v1/accommodationtypes/{resourceId}/allotments/releases
Description

Gets allotment releases for a resource with particular resource id.The records can be fetched based on allotment release object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
allotmentReleaseId:0,
distributionChannelId:0,
name:String,
startDate:String(date),
endDate:String(date),
releasePeriod:0,
releaseDate:String(date),
performedDate:String(date),
resourceId:0,
resortId:0,
isEnactive:true)

Path

resourceId
required

Resource id for which to fetch Allotment releases

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching Allotment releases.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/allotments/releases
Example HTTP response
Response 200
{
  "content" : [ {
    "allotmentReleaseId" : 1,
    "distributionChannelId" : 1,
    "endDate" : "01-01-2023",
    "isEnactive" : true,
    "name" : "string",
    "performedDate" : "01-01-2023",
    "releaseDate" : "01-01-2023",
    "releasePeriod" : 1,
    "resortId" : 1,
    "resourceId" : 1,
    "startDate" : "01-01-2023"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}
GET /maxxton/v1/accommodationtypes/amenitylinks
Description

Gets a page with amenity links. The records can be filtered based on accommodation type amenity link object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
accommodationTypeId:0,
amenityLinkId:0,
type:String,
visible:true,
preferenceExtraId:0,
numberValue:0.0,
textValue:String,
startDate:String(date),
endDate:String(date),
amenityId:0)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching Amenity links.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/amenitylinks
Example HTTP response
Response 200
{
  "content" : [ {
    "accommodationTypeId" : 1,
    "amenityId" : 1,
    "amenityLinkId" : 1,
    "code" : "string",
    "endDate" : "01-01-2023",
    "numberValue" : 1,
    "preferenceExtraId" : 1,
    "startDate" : "01-01-2023",
    "textValue" : "string",
    "translations" : [ {
      "description" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string"
    } ],
    "type" : "string",
    "visible" : true
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}
GET /maxxton/v1/accommodationtypes/{resourceId}/amenitylinks
Description

Gets a page with amenity links to a particular resource.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
amenityLinkId:0,
type:String,
visible:true,
preferenceExtraId:0,
numberValue:0.0,
textValue:String,
startDate:String(date),
endDate:String(date),
amenityId:0)

Path

resourceId
required

resourceId

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching Amenity links.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/amenitylinks
Example HTTP response
Response 200
{
  "content" : [ {
    "amenityId" : 1,
    "amenityLinkId" : 1,
    "code" : "string",
    "endDate" : "01-01-2023",
    "numberValue" : 1,
    "preferenceExtraId" : 1,
    "startDate" : "01-01-2023",
    "textValue" : "string",
    "translations" : [ {
      "description" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string"
    } ],
    "type" : "string",
    "visible" : true
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.27. Gets an accommodation Type on a specific resource id.

GET /maxxton/v1/accommodationtypes/{resourceId}
Description

Gets accommodation types based on its resource id.

Parameters
Type Name Description Schema

Path

resourceId
required

Resource id to fetch accommodationtype

integer (int64)

Query

returnWorkOrderTypes
optional

boolean

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching AccommodationType.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}
Example HTTP response
Response 200
{
  "accommodationTypeKindCode" : "string",
  "accotypeAddressmanagerId" : 1,
  "accotypeBarrier" : 1,
  "accotypeDoorlock" : 1,
  "accotypeKindId" : 1,
  "address" : {
    "accuracy" : "string",
    "address1" : "string",
    "address2" : "string",
    "address3" : "string",
    "addressId" : 1,
    "altContactPerson" : "string",
    "alternateContactPerson" : "string",
    "boxNumber" : "string",
    "city" : "string",
    "country" : {
      "code" : "string",
      "countryId" : 1,
      "default" : true,
      "defaultLanguageId" : 1,
      "priority" : 1,
      "shortName" : "string",
      "translations" : [ {
        "i18nCountryId" : 1,
        "language" : "string",
        "languageId" : 1,
        "longName" : "string",
        "name" : "string"
      } ]
    },
    "countryId" : 1,
    "dateBegin" : "01-01-2023",
    "dateEnd" : "01-01-2023",
    "district" : "string",
    "email" : "string",
    "exposeLocation" : true,
    "fax" : "string",
    "houseNumber" : "string",
    "houseNumberSuffix" : "string",
    "latitude" : 1,
    "longitude" : 1,
    "mobilePhone" : "string",
    "mobilePhone2" : "string",
    "municipality" : "string",
    "poBox" : "string",
    "poBoxCity" : "string",
    "poBoxZipcode" : "string",
    "privatePhone" : "string",
    "stateId" : 1,
    "workPhone" : "string",
    "zipCode" : "string"
  },
  "amenityManagerId" : 1,
  "archivedFrom" : "01-01-2023",
  "brand" : "string",
  "brandId" : 1,
  "capacityManagerId" : 1,
  "cashflowManagerId" : 1,
  "code" : "string",
  "dependsOnLedgerGroup" : true,
  "description" : "string",
  "groupId" : 1,
  "hasObjects" : true,
  "i18n" : [ {
    "accotypeKind" : "string",
    "description" : "string",
    "description2" : "string",
    "language" : "string",
    "languageId" : 1,
    "name" : "string",
    "namePath" : "string",
    "resourceId" : 1,
    "shortDescription" : "string"
  } ],
  "ledgerGroupId" : 1,
  "ledgerId" : 1,
  "name" : "string",
  "nrOfBathrooms" : 1,
  "nrOfBedrooms" : 1,
  "numberOfPersons" : 1,
  "origin" : "string",
  "originId" : "string",
  "parentId" : 1,
  "path" : "string",
  "powerplayGroupId" : 1,
  "previousPmsId" : "string",
  "priority" : 1,
  "qualityLevelId" : 1,
  "realRentabilityManagerId" : 1,
  "resortId" : 1,
  "resourceId" : 1,
  "resourceManagerId" : 1,
  "shortDescription" : "string",
  "supplierOrigin" : "string",
  "translations" : [ {
    "accotypeKind" : "string",
    "description" : "string",
    "description2" : "string",
    "language" : "string",
    "languageId" : 1,
    "name" : "string",
    "namePath" : "string",
    "resourceId" : 1,
    "shortDescription" : "string"
  } ],
  "type" : "string"
}

5.1.28. Gets an accommodationType budget of a resource.

GET /maxxton/v1/accommodationtypes/{resourceId}/budgets
Description

Get the daily budget for the specific accommodation type based on id.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
budgetId:0,
resourceId:0,
originalBudget:0.0,
modifiedBudget:0.0,
budgetDate:String(date))

Path

resourceId
required

resourceId of accommodation type for which the budget needs to be fetched

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching accommodation type budget.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/budgets
Example HTTP response
Response 200
{
  "content" : [ {
    "budgetDate" : "01-01-2023",
    "budgetId" : 1,
    "modifiedBudget" : 1,
    "originalBudget" : 1,
    "resourceId" : 1
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.29. Gets cost prices for all accommodationtype

GET /maxxton/v1/accommodationtypes/costprices
Description

Gets a page with Cost prices. The records can be filtered based on Cost price object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
costPriceId:0,
resourceId:0,
arrivalDateFrom:String(date),
arrivalDateTo:String(date),
bookDateFrom:String(date),
bookDateTo:String(date),
duration:0,
minDuration:0,
maxDuration:0,
value:0.0,
currencyId:0,
valueType:String,
usageDowList:String)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching cost prices

No Content

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/costprices
Example HTTP response
Response 200
{
  "content" : [ {
    "arrivalDateFrom" : "01-01-2023",
    "arrivalDateTo" : "01-01-2023",
    "bookDateFrom" : "01-01-2023T11:23:45Z",
    "bookDateTo" : "01-01-2023T11:23:45Z",
    "costPriceId" : 1,
    "currencyCode" : "string",
    "currencyId" : 1,
    "duration" : 1,
    "maxDuration" : 1,
    "minDuration" : 1,
    "resourceId" : 1,
    "usageDowList" : [ "string" ],
    "value" : 1,
    "valueType" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.30. Gets dynamic fields for a particular resource

GET /maxxton/v1/accommodationtypes/{resourceId}/dynamicfields
Description

Gets a page with dynamic fields to a specific resource. The records can be filtered based on the DynamicField object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
fieldId:0,
code:String,
type:String)

Path

resourceId
required

Resource id for which dynamic fieilds are to be fetched

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching resource dynamic fields.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/dynamicfields
Example HTTP response
Response 200
{
  "content" : [ {
    "code" : "string",
    "eventmanagerId" : 1,
    "fieldId" : 1,
    "translations" : [ {
      "description" : "string",
      "fieldId" : 1,
      "i18nFieldId" : 1,
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "shortDescription" : "string",
      "text" : "string"
    } ],
    "type" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.31. Gets images for a particular resource

GET /maxxton/v1/accommodationtypes/{resourceId}/images
Description

Gets a page with images to a specific resource. The records can be filtered based on the image object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
fileName:String,
imageId:0,
startDate:String(date),
endDate:String(date),
mimeType:String,
version:0,
url:String,
uploadDate:String(date),
imageType:String,
imageOrientation:String,
modifiedDate:String(date))

Path

resourceId
required

Resource id for which images are to be fetched

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching resource images.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/images
Example HTTP response
Response 200
{
  "content" : [ {
    "endDate" : "01-01-2023",
    "fileName" : "string",
    "hostType" : "string",
    "imageId" : 1,
    "imageManagerId" : 1,
    "imageManagerIds" : [ "integer" ],
    "imageOrientation" : "string",
    "imageType" : "string",
    "isActive" : true,
    "isUploaded" : true,
    "isWebPresentation" : true,
    "mediaLanguageId" : 1,
    "mediaType" : "string",
    "mimeType" : "string",
    "modifiedDate" : "01-01-2023T11:23:45Z",
    "sequenceNumber" : 1,
    "startDate" : "01-01-2023",
    "tags" : [ {
      "name" : "string",
      "tagId" : 1
    } ],
    "thumbnailUrl" : "string",
    "translations" : [ {
      "description" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string"
    } ],
    "uploadDate" : "01-01-2023T11:23:45Z",
    "url" : "string",
    "version" : 1
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.32. Gets implies linked to a particular resource

GET /maxxton/v1/accommodationtypes/{resourceId}/implies
Description

Gets a page with resource implies. Implies are the extras that can be linked to the special.The records can be filtered based on the implies object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
impliesId:0,
addToParent:0,
bookDateFrom:String(date),
bookDateTo:String(date),
countFromMin:true,
ignoreRentability:true,
implicationManagerId:0,
implyOnce:true,
included:true,
onBill:true,
parentId:0,
priority:0,
quantityMax:0,
quantityMin:0,
removable:true,
required:true,
showOnAllInPriceBill:true,
showPrice:true,
subjectsMax:0,
subjectsMin:0,
supplierImpliesId:0,
validFrom:String(date),
validTo:String(date))

Path

resourceId
required

Resource id for which implies are to be fetched

integer (int64)

Query

parentImplies
optional

Get a parent implies or resource implies

boolean

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching resource implies.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/implies
Example HTTP response
Response 200
{
  "content" : [ {
    "addToParent" : 1,
    "bookDateFrom" : "01-01-2023",
    "bookDateTo" : "01-01-2023",
    "countFromMin" : true,
    "ignoreRentability" : true,
    "implicationManagerId" : 1,
    "implied" : [ {
      "objectId" : 1,
      "resourceId" : 1
    } ],
    "impliesId" : 1,
    "implyOnce" : true,
    "included" : true,
    "onBill" : true,
    "parent" : true,
    "parentId" : 1,
    "priority" : 1,
    "quantityMax" : 1,
    "quantityMin" : 1,
    "removable" : true,
    "required" : true,
    "resourceId" : 1,
    "resourceIds" : [ "integer" ],
    "showOnAllInPriceBill" : true,
    "showPrice" : true,
    "stay" : true,
    "subjectsMax" : 1,
    "subjectsMin" : 1,
    "supplierImpliesId" : 1,
    "validFrom" : "01-01-2023",
    "validTo" : "01-01-2023"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.33. Gets priorities for particular resourceid.

GET /maxxton/v1/accommodationtypes/{resourceId}/priorities
Description

Get priorites for the specific accommodation type based on resourceid.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
accommodationtypePriorityId:0,
resourceId:0,
fiscalYear:String,
fiscalyearId:0,
reservationFrom:String(date),
reservationTo:String(date),
useContractPriority:true,
useVsi:true,
useOccupation:true,
useTargetAmount:true,
usePlanboardFitting:true,
useQuestionnaire:true,
prioritySequence:String)

Path

resourceId
required

resourceId of accommodation type for which the priorities needs to be fetched

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching accommodation type priority.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/priorities
Example HTTP response
Response 200
{
  "content" : [ {
    "accommodationtypePriorityId" : 1,
    "fiscalYear" : {
      "arrivalLimit" : "01-01-2023",
      "departureLimit" : "01-01-2023",
      "financiallyClosed" : true,
      "fiscalYear" : 1,
      "fiscalYearId" : 1
    },
    "fiscalyearId" : 1,
    "prioritySequence" : "string",
    "reservationFrom" : "01-01-2023",
    "reservationTo" : "01-01-2023",
    "resourceId" : 1,
    "useContractPriority" : true,
    "useOccupation" : true,
    "usePlanboardFitting" : true,
    "useQuestionnaire" : true,
    "useTargetAmount" : true,
    "useVsi" : true
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.34. Gets the List of applicable preference fee for the accommodationType.

GET /maxxton/v1/accommodationtypes/availability/preferences
Description

Gets the list of applicable preference fee for the accommodationtypes.

Parameters
Type Name Description Schema

Query

distributionChannelCode
optional

distributionChannelCode for which addons are to be fetched

string

Query

resourceId
required

Resource id for which addons are to be fetched

integer (int64)

Query

reservationCategoryCode
optional

reservationCategoryCode for which addons are to be fetched.

string

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching preference fee.

No Content

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/availability/preferences
Example HTTP response
Response 200
[ {
  "preferenceTypes" : [ "string" ],
  "prices" : [ {
    "appliedPerSubject" : true,
    "price" : 1,
    "priceArrivalDateFrom" : "01-01-2023",
    "priceArrivalDateTo" : "01-01-2023",
    "priceBookDateFrom" : "01-01-2023T11:23:45Z",
    "priceBookDateTo" : "01-01-2023T11:23:45Z",
    "subjectIds" : [ "integer" ],
    "subjectPrices" : [ {
      "minQuantity" : 1,
      "price" : 1,
      "subjectIds" : [ "integer" ]
    } ]
  } ],
  "resortId" : 1,
  "resourceId" : 1
} ]

5.1.35. Gets the Page of Quality Levels

GET /maxxton/v1/accommodationtypes/qualitylevels
Description

Gets the Page of Quality Levels.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
qualityLevelId:0,
code:String,
archivedFrom:String(date),
priority:0)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching Quality levels

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/qualitylevels
Example HTTP response
Response 200
{
  "content" : [ {
    "archivedFrom" : "01-01-2023",
    "code" : "string",
    "priority" : 1,
    "qualityLevelId" : 1,
    "translations" : [ {
      "description" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string"
    } ]
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.36. Gets the Page of target amount for a particular resourceId,accommodationPriorityId.

GET /maxxton/v1/accommodationtypes/{resourceId}/priorities/{accommodationtypePriorityId}/targetAmounts
Description

Gets a page with target amount. The records can be filtered based on target amount object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
resourceTargetAmountId:0,
resourceId:0,
contractTypeId:0,
rentAssuranceBase:0,
accommodationtypePriorityId:0,
maxMaintenanceFund:0.0,
maxFundPerInvReservation:0.0,
ownerId:0,
maxFundPerInvForMaterial:0.0,
maxFundPerInvForWorktime:0.0,
maxFundPerWorkorder:0.0)

Path

resourceId
required

resourceId for which target amount are to be fetched.

integer (int64)

Path

accommodationtypePriorityId
required

accommodationTypePriorityId for which target amount are to be fetched

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching target amount.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/priorities/{accommodationtypePriorityId}/targetAmounts
Example HTTP response
Response 200
{
  "content" : [ {
    "accommodationtypePriorityId" : 1,
    "contractTypeId" : 1,
    "fiscalYear" : {
      "arrivalLimit" : "01-01-2023",
      "departureLimit" : "01-01-2023",
      "financiallyClosed" : true,
      "fiscalYear" : 1,
      "fiscalYearId" : 1
    },
    "fiscalyearId" : 1,
    "maxFundPerInvForMaterial" : 1,
    "maxFundPerInvForWorktime" : 1,
    "maxFundPerInvReservation" : 1,
    "maxFundPerWorkorder" : 1,
    "maxMaintenanceFund" : 1,
    "ownerId" : 1,
    "rentAssuranceBase" : 1,
    "resourceId" : 1,
    "resourceTargetAmountId" : 1,
    "targetAmount" : 1
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.37. Gets the page of available addons for the accommodationType.

GET /maxxton/v1/accommodationtypes/availability/additions
Description

This endpoint is used to fetch all the available implies along with available prices.

Parameters
Type Name Description Schema

Query

distributionChannelCode
optional

distributionChannelCode for which addons are to be fetched

string

Query

resourceId
required

Resource id for which addons are to be fetched

integer (int64)

Query

advancedCalculation
optional

Flag for calculating the relative rate configuration for all the addons if configured. enabling this flag will give you the information about the percentage price and the resources that particular price depends on.
on setting this flag as true the fields dependsOnAddon,dependsOnOffer and dependsOnAccommodationType will be populated as true or false, if true the list of depending Ids can found in the corresponding arrays of offerIds and addonIds. if the field dependsOnAddon/dependsOnOffer is true but there is no id in the array this signifies that price depends on all the addons/offers.

boolean

Query

reservationCategoryCode
optional

reservationCategoryCode for which addons are to be fetched.

string

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching prices of resource

No Content

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/availability/additions
Example HTTP response
Response 200
{
  "content" : [ {
    "arrivalDateFrom" : "01-01-2023",
    "arrivalDateTo" : "01-01-2023",
    "bookDateFrom" : "01-01-2023",
    "bookDateTo" : "01-01-2023",
    "maxQuantity" : 1,
    "minQuantity" : 1,
    "prices" : [ {
      "addonIds" : [ "integer" ],
      "appliedPerSubject" : true,
      "daysOfWeek" : [ "string" ],
      "dependsOnAccommodationtypes" : true,
      "dependsOnAddon" : true,
      "dependsOnOffer" : true,
      "duration" : 1,
      "maxQuantity" : 1,
      "minQuantity" : 1,
      "offerIds" : [ "integer" ],
      "perDay" : "string",
      "percentagePrice" : true,
      "price" : 1,
      "priceArrivalDateFrom" : "01-01-2023",
      "priceArrivalDateTo" : "01-01-2023",
      "subjectIds" : [ "integer" ],
      "subjectPrices" : [ {
        "minQuantity" : 1,
        "price" : 1,
        "subjectIds" : [ "integer" ]
      } ]
    } ],
    "resortId" : 1,
    "resourceId" : 1,
    "translations" : [ {
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "resourceId" : 1
    } ]
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.38. Gets the page of available implies for the accommodationType.

GET /maxxton/v1/accommodationtypes/availability/implies
Description

This endpoint is used to fetch all the available implies along with available prices.

Parameters
Type Name Description Schema

Query

distributionChannelCode
optional

DistributionChannelCode for which implies are to be fetched

string

Query

resourceId
required

Resource id for which implies are to be fetched

integer (int64)

Query

advancedCalculation
optional

Flag for calculating the relative rate configuration for all the implies if configured. enabling this flag will give you the information about the percentage price and the resources that particular price depends on.
on setting this flag as true the fields dependsOnAddon,dependsOnOffer and dependsOnAccommodationType will be populated as true or false, if true the list of depending Ids can found in the corresponding arrays of offerIds and addonIds.if the field dependsOnAddon/dependsOnOffer is true but there is no id in the array this signifies that price depends on all the addons/offers.

boolean

Query

reservationCategoryCode
required

reservationCategoryCode for which implies are to be fetched.

string

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching cost prices of resource

No Content

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/availability/implies
Example HTTP response
Response 200
{
  "content" : [ {
    "addToParent" : true,
    "arrivalDateFrom" : "01-01-2023",
    "arrivalDateTo" : "01-01-2023",
    "bookDateFrom" : "01-01-2023",
    "bookDateTo" : "01-01-2023",
    "included" : true,
    "maxQuantity" : 1,
    "minQuantity" : 1,
    "prices" : [ {
      "addonIds" : [ "integer" ],
      "appliedPerSubject" : true,
      "daysOfWeek" : [ "string" ],
      "dependsOnAccommodationtypes" : true,
      "dependsOnAddon" : true,
      "dependsOnOffer" : true,
      "duration" : 1,
      "included" : true,
      "maxNights" : 1,
      "maxQuantity" : 1,
      "minNights" : 1,
      "minQuantity" : 1,
      "offerIds" : [ "integer" ],
      "perDay" : "string",
      "percentagePrice" : true,
      "price" : 1,
      "priceArrivalDateFrom" : "01-01-2023",
      "priceArrivalDateTo" : "01-01-2023",
      "subjectIds" : [ "integer" ],
      "subjectPrices" : [ {
        "minQuantity" : 1,
        "price" : 1,
        "subjectIds" : [ "integer" ]
      } ]
    } ],
    "required" : true,
    "resortId" : 1,
    "resourceId" : 1,
    "stayDate" : [ "string" ],
    "subjectsMax" : 1,
    "subjectsMin" : 1,
    "translations" : [ {
      "language" : "string",
      "languageId" : 1,
      "name" : "string"
    } ]
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.39. Gets videos for accommodation type

GET /maxxton/v1/accommodationtypes/{resourceId}/videos
Description

Gets a page with videos to a specific resource. The records can be filtered based on the video object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
videoId:0,
startDate:String(date),
endDate:String(date),
url:String,
isUploaded:true,
mediaType:String,
hostType:String,
isActive:true,
isWebPresentation:true,
thumbnailUrl:String)

Path

resourceId
required

Resource id for which videos are to be fetched

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching resource videos.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/videos
Example HTTP response
Response 200
{
  "content" : [ {
    "endDate" : "01-01-2023",
    "hostType" : "string",
    "isActive" : true,
    "isUploaded" : true,
    "isWebPresentation" : true,
    "mediaLanguageCode" : "string",
    "mediaLanguageId" : 1,
    "mediaType" : "string",
    "sequenceNumber" : 1,
    "startDate" : "01-01-2023",
    "thumbnailUrl" : "string",
    "url" : "string",
    "videoId" : 1
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.1.40. Insert accommodation rate

POST /maxxton/v1/accommodationtypes/{resourceId}/rates
Description

Inserts the accommodation rate type. The details are to be mentioned in the request body. The rates cannot be inserted for derived rate option.x-allow-past-price : This header is passed in the request to allow the user to pass past book dates. The user can pass "true" as the value of the header if past book dates are provided in the request and if the value of this header is "false" the user will not be able to pass book dates that lie in the past. Rates in the past can only be inserted for accommodation types that currently have no rates at all or in case no reservations have been made for the particular accommodation type yet.

Parameters
Type Name Description Schema

Path

resourceId
required

Resource id for which resource rate will inserted

integer (int64)

Body

requestBody
required

Responses
Code Description Schema

204

The request is completed successfully without any errors

No Content

500

Error occurred while insert resource rate.

No Content

Consumes
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/rates
Request body
{
  "arrivalDateFrom" : "01-01-2023",
  "arrivalDateTo" : "01-01-2023",
  "bookdateFrom" : "01-01-2023T11:23:45Z",
  "bookdateTo" : "01-01-2023T11:23:45Z",
  "cashflowruleId" : 1,
  "daysOfWeek" : [ "string" ],
  "duration" : 1,
  "maxDeviation" : 1,
  "maxDuration" : 1,
  "maxUnit" : 1,
  "minDeviation" : 1,
  "minDuration" : 1,
  "minUnit" : 1,
  "priority" : 1,
  "quantifier" : "string",
  "rateLevelId" : 1,
  "rateOptionId" : 1,
  "rateTypeIds" : [ "integer" ],
  "remark" : "string",
  "repeatable" : 1,
  "resourceId" : 1,
  "status" : 1,
  "stay" : 1,
  "translations" : [ {
    "language" : "string",
    "languageId" : 1,
    "name" : "string"
  } ],
  "usageDowList" : [ "string" ],
  "usageDurationFrom" : 1,
  "usageDurationTo" : 1,
  "usageUnitFrom" : 1,
  "usageUnitTo" : 1,
  "validFrom" : "01-01-2023",
  "validTo" : "01-01-2023",
  "value" : 1,
  "valueType" : "string"
}

5.1.41. Search accommodationtypes based on provided criteria

POST /maxxton/v1/accommodationtypes/search
Description

The above endpoint is used to search through the availability of the whole inventory based on all accommodation types, this can be filtered by providing request criteria. For example: arrival date , duration , resort , accommodation type , amenities and subjects are possible filters. The result can contain filter options, filter options provide all possible filter possibilities based on the currently provided filter options. This provides you with all possible arrivals , departures , resorts and amenities as per the criteria passed in the request. If "Includeallprices" field is passed as true in the request, it will provide 10 records in the response this is only possible for one specific resourceId, if it is provided as false, then only the first record is displayed in the response.
In case of prebooking, the prices returned would be null.
Either voucherCode or offerCode should be provided in the request, and not both. In case both are provided then an error is thrown.
The "dateMargin" request parameter will provide up to 4 alternative stays according to the number that is supplied in "dateMargin" in case there is no match with the requested criteria. It’s up to the client to choose which of these alternatives to use. In case there is an exact match with the requested stay dates only 1 available stay is provided in the result. In case no request parameters are provided by default for each accommodation type the cheapest option over all available stays is returned. This is also the case if multiple prices are available for one stay. See below diagram for an explanation on how the alternative stays work:
DateMarginFlowDiagram role="text-center"

Parameters
Type Name Description Schema

Body

requestBody
required

Query

defaultSelection
optional

single possible value - nearest_arrival [First available arrival if no arrival date is provided based on todays date, by default sort is based on cheapest_price]

string

Query

sort
optional

Sort parameter is used to sort the response in ascending or descending order on the basis of offer price, offer price inclusive and priority. In order to sort the response in ascending order of offer price 'offer_price_asc' is used and to sort in descending order the value of sort that should be passed is 'offer_price_desc' similarly offer_price_inclusive_asc and offer_price_inclusive_desc can be used to sort on offer price inclusive like wise priority_asc and priority_desc can be used to sort on priority.

string

Responses
Code Description Schema

200

The request is completed successfully without any errors

400

  1. Either offerCode or voucherCode should be passed

  2. The dateMargin parameter cannot be used in combination with includeAllPrices parameter

  3. The includeAllPrices parameter cannot be used without a resourceId.

No Content

500

Error occurred while fetching accommodationTypes

No Content

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/search
Request body
{
  "accommodationKindIds" : [ "integer" ],
  "amenityIds" : [ "integer" ],
  "arrivalDate" : "01-01-2023",
  "dateMargin" : 1,
  "dateMarginMethod" : "string",
  "distributionChannelId" : 1,
  "duration" : 1,
  "filterOptions" : [ "string" ],
  "includeAllPrices" : true,
  "includeFilterOptionCounts" : true,
  "maxNrOfBathrooms" : 1,
  "maxNrOfBedrooms" : 1,
  "minNrOfBathrooms" : 1,
  "minNrOfBedrooms" : 1,
  "offerCode" : "string",
  "offerId" : 1,
  "petQuantity" : 1,
  "qualityLevelIds" : [ "integer" ],
  "redeemableLoyaltyPoints" : 1,
  "regionId" : 1,
  "resortIds" : [ "integer" ],
  "resourceIds" : [ "integer" ],
  "subjects" : {
    "persons" : [ {
      "maxAge" : "string",
      "quantity" : 1
    } ]
  },
  "voucherCode" : "string"
}
Example HTTP response
Response 200
{
  "filterOptionsResult" : {
    "accommodationKinds" : [ "object" ],
    "amenities" : [ "object" ],
    "arrivals" : [ "string" ],
    "departures" : [ "string" ],
    "qualityLevels" : [ "integer" ],
    "resorts" : [ "object" ]
  },
  "result" : {
    "content" : [ {
      "accommodationKindId" : 1,
      "arrivalDate" : "01-01-2023",
      "basePrice" : 1,
      "basePriceInclusive" : 1,
      "departureDate" : "01-01-2023",
      "duration" : 1,
      "freeLoyaltyDuration" : 1,
      "loyaltyPrice" : 1,
      "loyaltyPriceInclusive" : 1,
      "nrOfBathrooms" : 1,
      "nrOfBedrooms" : 1,
      "offerCode" : "string",
      "offerName" : "string",
      "offerPrice" : 1,
      "offerPriceInclusive" : 1,
      "priority" : 1,
      "qualityLevelId" : 1,
      "rateTypeId" : 1,
      "rating" : 1,
      "referencePrice" : 1,
      "referencePriceInclusive" : 1,
      "requiredLoyaltyPoints" : 1,
      "resortId" : 1,
      "resourceId" : 1,
      "totalCapacity" : 1,
      "units" : [ "integer" ]
    } ],
    "empty" : true,
    "first" : true,
    "last" : true,
    "number" : 1,
    "numberOfElements" : 1,
    "size" : 1,
    "sort" : {
      "empty" : true,
      "sorted" : true,
      "unsorted" : true
    },
    "totalElements" : 1,
    "totalPages" : 1
  }
}

5.1.42. Update/insert accommodation dynamic field

PUT /maxxton/v1/accommodationtypes/{resourceId}/dynamicfields/{fieldId}
Description

The above endpoint updates the text field of dynamic fields for specific language. If the dynamic field is valid for accommodation type, but not linked yet, then the link will be created. When a user is updating the dynamic field and if the link is already created with the accommodation type, then the text field will be modified

Parameters
Type Name Description Schema

Path

resourceId
required

resourceId to fetch accommodationtypedetail

integer (int64)

Body

requestBody
required

Path

fieldId
required

fieldId to fetch dynamic field

integer (int64)

Responses
Code Description Schema

204

The request is completed successfully without any errors

No Content

500

Error occurred while fetching updating/inserting the accommodation dynamic fields.

No Content

Consumes
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}/dynamicfields/{fieldId}
Request body
[ {
  "language" : "string",
  "text" : "string"
} ]

5.1.43. Updates an accommodation type on a specific resource id.

PUT /maxxton/v1/accommodationtypes/{resourceId}
Description

Updates accommodation types based on its resource id.

Parameters
Type Name Description Schema

Path

resourceId
required

Resource id to update accommodationtype

integer (int64)

Body

requestBody
required

Body to update accommodationType

Responses
Code Description Schema

204

The request is completed successfully without any errors

No Content

500

Error occurred while fetching AccommodationType.

No Content

Consumes
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/accommodationtypes/{resourceId}
Request body
{
  "accotypeKindId" : 1,
  "address" : {
    "accuracy" : "string",
    "address1" : "string",
    "address2" : "string",
    "address3" : "string",
    "alternateContactPerson" : "string",
    "boxNumber" : "string",
    "city" : "string",
    "countryId" : 1,
    "dateBegin" : "01-01-2023",
    "dateEnd" : "01-01-2023",
    "district" : "string",
    "email" : "string",
    "exposeLocation" : true,
    "fax" : "string",
    "houseNumber" : "string",
    "houseNumberSuffix" : "string",
    "latitude" : 1,
    "longitude" : 1,
    "mobilePhone" : "string",
    "mobilePhone2" : "string",
    "municipality" : "string",
    "poBox" : "string",
    "poBoxCity" : "string",
    "poBoxZipcode" : "string",
    "privatePhone" : "string",
    "stateId" : 1,
    "workPhone" : "string",
    "zipCode" : "string"
  },
  "brandId" : 1,
  "checkinTime" : {
    "hour" : 1,
    "minute" : 1,
    "nano" : 1,
    "second" : 1
  },
  "checkoutTime" : {
    "hour" : 1,
    "minute" : 1,
    "nano" : 1,
    "second" : 1
  },
  "code" : "string",
  "earlyCheckinTime" : {
    "hour" : 1,
    "minute" : 1,
    "nano" : 1,
    "second" : 1
  },
  "lateCheckoutTime" : {
    "hour" : 1,
    "minute" : 1,
    "nano" : 1,
    "second" : 1
  },
  "nrOfBathrooms" : 1,
  "nrOfBedrooms" : 1,
  "origin" : "string",
  "originId" : "string",
  "parentId" : 1,
  "priority" : 1,
  "resortId" : 1,
  "translations" : [ {
    "description" : "string",
    "description2" : "string",
    "language" : "string",
    "languageId" : 1,
    "name" : "string",
    "shortDescription" : "string"
  } ]
}

5.2. AddOn

Extras and products that can be booked with an accommodation type

5.2.1. Get implies of add-ons

GET /maxxton/v1/add-ons/implies
Description

Get page with implies of add-ons.The records can be filtered based on implies object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
impliesId:0,
addToParent:0,
bookDateFrom:String(date),
bookDateTo:String(date),
countFromMin:true,
ignoreRentability:true,
implicationManagerId:0,
implyOnce:true,
included:true,
onBill:true,
parentId:0,
priority:0,
quantityMax:0,
quantityMin:0,
removable:true,
required:true,
showOnAllInPriceBill:true,
showPrice:true,
subjectsMax:0,
subjectsMin:0,
supplierImpliesId:0,
validFrom:String(date),
validTo:String(date))

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching implies of add-ons.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/add-ons/implies
Example HTTP response
Response 200
{
  "content" : [ {
    "addToParent" : 1,
    "bookDateFrom" : "01-01-2023",
    "bookDateTo" : "01-01-2023",
    "countFromMin" : true,
    "ignoreRentability" : true,
    "implicationManagerId" : 1,
    "implied" : [ {
      "objectId" : 1,
      "resourceId" : 1
    } ],
    "impliesId" : 1,
    "implyOnce" : true,
    "included" : true,
    "onBill" : true,
    "parent" : true,
    "parentId" : 1,
    "priority" : 1,
    "quantityMax" : 1,
    "quantityMin" : 1,
    "removable" : true,
    "required" : true,
    "resourceId" : 1,
    "resourceIds" : [ "integer" ],
    "showOnAllInPriceBill" : true,
    "showPrice" : true,
    "stay" : true,
    "subjectsMax" : 1,
    "subjectsMin" : 1,
    "supplierImpliesId" : 1,
    "validFrom" : "01-01-2023",
    "validTo" : "01-01-2023"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.2.2. Gets Add-on additions by addition resource id

GET /maxxton/v1/add-ons/{additionResourceId}/additions
Description

Gets a page with add-ons additions.The additions of an add-on will provide all accommodation types where the add-on is applicable to.The records can be filtered based on resource addition object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
bookDateFrom:String(date),
bookDateTo:String(date),
additionId:0,
additionFast:true,
mandatoryResource:true,
maxQuantity:0,
maxReservable:0,
maxTotalQuantity:0,
unitId:0,
priceCompare:true,
resourceId:0,
validFrom:String(date),
validTo:String(date))

Path

additionResourceId
required

resourceId of add-on for which additions are to be fetched

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching add-ons additions.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/add-ons/{additionResourceId}/additions
Example HTTP response
Response 200
{
  "content" : [ {
    "additionFast" : true,
    "additionId" : 1,
    "additionResourceId" : 1,
    "addonType" : "string",
    "bookDateFrom" : "01-01-2023T11:23:45Z",
    "bookDateTo" : "01-01-2023T11:23:45Z",
    "i18n" : [ {
      "description" : "string",
      "description2" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "shortDescription" : "string"
    } ],
    "mandatoryResource" : true,
    "maxQuantity" : 1,
    "maxReservable" : 1,
    "maxTotalQuantity" : 1,
    "priceCompare" : true,
    "resortArticle" : true,
    "resourceId" : 1,
    "resourceMoment" : [ "string" ],
    "supplierAdditionId" : 1,
    "translations" : [ {
      "description" : "string",
      "description2" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "shortDescription" : "string"
    } ],
    "type" : "string",
    "unitId" : 1,
    "validFrom" : "01-01-2023",
    "validTo" : "01-01-2023"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.2.3. Gets Add-ons additions

GET /maxxton/v1/add-ons/additions
Description

Gets a page with add-ons additions. The records can be filtered based on resource addition object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
bookDateFrom:String(date),
bookDateTo:String(date),
additionId:0,
additionFast:true,
mandatoryResource:true,
maxQuantity:0,
maxReservable:0,
maxTotalQuantity:0,
unitId:0,
priceCompare:true,
resourceId:0,
validFrom:String(date),
validTo:String(date))

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching add-ons additions.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/add-ons/additions
Example HTTP response
Response 200
{
  "content" : [ {
    "additionFast" : true,
    "additionId" : 1,
    "additionResourceId" : 1,
    "addonType" : "string",
    "bookDateFrom" : "01-01-2023T11:23:45Z",
    "bookDateTo" : "01-01-2023T11:23:45Z",
    "i18n" : [ {
      "description" : "string",
      "description2" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "shortDescription" : "string"
    } ],
    "mandatoryResource" : true,
    "maxQuantity" : 1,
    "maxReservable" : 1,
    "maxTotalQuantity" : 1,
    "priceCompare" : true,
    "resortArticle" : true,
    "resourceId" : 1,
    "resourceMoment" : [ "string" ],
    "supplierAdditionId" : 1,
    "translations" : [ {
      "description" : "string",
      "description2" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "shortDescription" : "string"
    } ],
    "type" : "string",
    "unitId" : 1,
    "validFrom" : "01-01-2023",
    "validTo" : "01-01-2023"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.2.4. Gets a page with add-ons

GET /maxxton/v1/add-ons
Description

Gets page with add-ons.The records can be filtered based on add-on object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
resourceId:0,
code:String,
resortId:0,
parentId:0,
path:String,
cashflowManagerId:0,
allowPriceOverride:true,
source:String,
showNilPriceOnBill:true,
powerplaygroupId:0,
allowMovingToMainBill:true,
archivedFrom:String(date),
specialPriority:0,
type:String,
resortArticle:true,
customizable:true,
showDatesOnInternet:true,
allowToAddInCiCo:true,
implicationManagerId:0,
ledgerId:0,
ledgerGroupId:0,
dependsOnLedgerGroup:true,
dependencyMask:String)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching add-ons.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/add-ons
Example HTTP response
Response 200
{
  "content" : [ {
    "addonType" : "string",
    "adjustment" : true,
    "allowMovingToMainBill" : true,
    "allowPriceOverride" : true,
    "allowToAddInCiCo" : true,
    "archivedFrom" : "01-01-2023",
    "autoValidate" : true,
    "autoValidateValue" : 1,
    "cancelCompensation" : true,
    "cancelPremium" : true,
    "cashArticle" : true,
    "cashflowManagerId" : 1,
    "code" : "string",
    "commission" : true,
    "commissionVatIncluded" : true,
    "correction" : true,
    "customizable" : true,
    "dayAddon" : true,
    "dependencyMask" : "string",
    "dependsOnLedgerGroup" : true,
    "description" : "string",
    "earlyCheckin" : true,
    "excludePriceCache" : true,
    "i18n" : [ {
      "description" : "string",
      "description2" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "namePath" : "string",
      "shortDescription" : "string"
    } ],
    "implicationManagerId" : 1,
    "invoiceArticle" : true,
    "ledgerGroupId" : 1,
    "ledgerId" : 1,
    "maxQuantity" : 1,
    "name" : "string",
    "ownerArticle" : true,
    "parentId" : 1,
    "path" : "string",
    "perDay" : true,
    "powerplaygroupId" : 1,
    "repaymentVoucher" : true,
    "reservationArticle" : true,
    "resortArticle" : true,
    "resortId" : 1,
    "resourceId" : 1,
    "searchCode" : "string",
    "shortDescription" : "string",
    "showDatesOnInternet" : true,
    "showNilPriceOnBill" : true,
    "source" : "string",
    "specialPriority" : 1,
    "stayArticle" : true,
    "stockType" : "string",
    "tax" : true,
    "translations" : [ {
      "description" : "string",
      "description2" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "namePath" : "string",
      "shortDescription" : "string"
    } ],
    "type" : "string",
    "vatCommission" : true,
    "warrant" : true,
    "withholdingArticle" : true
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.2.5. Gets add-ons for specific resource id

GET /maxxton/v1/add-ons/{resourceId}
Description

Gets add-ons by resource id.

Parameters
Type Name Description Schema

Path

resourceId
required

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching add-ons for the given resource id.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/add-ons/{resourceId}
Example HTTP response
Response 200
{
  "addonType" : "string",
  "adjustment" : true,
  "allowMovingToMainBill" : true,
  "allowPriceOverride" : true,
  "allowToAddInCiCo" : true,
  "archivedFrom" : "01-01-2023",
  "autoValidate" : true,
  "autoValidateValue" : 1,
  "cancelCompensation" : true,
  "cancelPremium" : true,
  "cashArticle" : true,
  "cashflowManagerId" : 1,
  "code" : "string",
  "commission" : true,
  "commissionVatIncluded" : true,
  "correction" : true,
  "customizable" : true,
  "dayAddon" : true,
  "dependencyMask" : "string",
  "dependsOnLedgerGroup" : true,
  "description" : "string",
  "earlyCheckin" : true,
  "excludePriceCache" : true,
  "i18n" : [ {
    "description" : "string",
    "description2" : "string",
    "language" : "string",
    "languageId" : 1,
    "name" : "string",
    "namePath" : "string",
    "shortDescription" : "string"
  } ],
  "implicationManagerId" : 1,
  "invoiceArticle" : true,
  "ledgerGroupId" : 1,
  "ledgerId" : 1,
  "maxQuantity" : 1,
  "name" : "string",
  "ownerArticle" : true,
  "parentId" : 1,
  "path" : "string",
  "perDay" : true,
  "powerplaygroupId" : 1,
  "repaymentVoucher" : true,
  "reservationArticle" : true,
  "resortArticle" : true,
  "resortId" : 1,
  "resourceId" : 1,
  "searchCode" : "string",
  "shortDescription" : "string",
  "showDatesOnInternet" : true,
  "showNilPriceOnBill" : true,
  "source" : "string",
  "specialPriority" : 1,
  "stayArticle" : true,
  "stockType" : "string",
  "tax" : true,
  "translations" : [ {
    "description" : "string",
    "description2" : "string",
    "language" : "string",
    "languageId" : 1,
    "name" : "string",
    "namePath" : "string",
    "shortDescription" : "string"
  } ],
  "type" : "string",
  "vatCommission" : true,
  "warrant" : true,
  "withholdingArticle" : true
}

5.2.6. Gets dynamic fields for a particular addon

GET /maxxton/v1/add-ons/{resourceId}/dynamicfields
Description

Gets a page with dynamic fields to a specific addon. The records can be filtered based on the DynamicField object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
fieldId:0,
code:String,
type:String)

Path

resourceId
required

Resource id of addon for which dynamic fields are to be fetched

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching addon dynamic fields.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/add-ons/{resourceId}/dynamicfields
Example HTTP response
Response 200
{
  "content" : [ {
    "code" : "string",
    "eventmanagerId" : 1,
    "fieldId" : 1,
    "translations" : [ {
      "description" : "string",
      "fieldId" : 1,
      "i18nFieldId" : 1,
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "shortDescription" : "string",
      "text" : "string"
    } ],
    "type" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.2.7. Gets images for a particular addon

GET /maxxton/v1/add-ons/{resourceId}/images
Description

Gets a page with images to a specific addon. The records can be filtered based on the image object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
fileName:String,
imageId:0,
startDate:String(date),
endDate:String(date),
mimeType:String,
version:0,
url:String,
uploadDate:String(date),
imageType:String,
imageOrientation:String,
modifiedDate:String(date))

Path

resourceId
required

Resource id of add-on for which images are to be fetched

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

404

add-ons is not found.

No Content

500

Error occurred while fetching addon images.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/add-ons/{resourceId}/images
Example HTTP response
Response 200
{
  "content" : [ {
    "endDate" : "01-01-2023",
    "fileName" : "string",
    "hostType" : "string",
    "imageId" : 1,
    "imageManagerId" : 1,
    "imageManagerIds" : [ "integer" ],
    "imageOrientation" : "string",
    "imageType" : "string",
    "isActive" : true,
    "isUploaded" : true,
    "isWebPresentation" : true,
    "mediaLanguageId" : 1,
    "mediaType" : "string",
    "mimeType" : "string",
    "modifiedDate" : "01-01-2023T11:23:45Z",
    "sequenceNumber" : 1,
    "startDate" : "01-01-2023",
    "tags" : [ {
      "name" : "string",
      "tagId" : 1
    } ],
    "thumbnailUrl" : "string",
    "translations" : [ {
      "description" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string"
    } ],
    "uploadDate" : "01-01-2023T11:23:45Z",
    "url" : "string",
    "version" : 1
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.2.8. Gets implies of add-ons

GET /maxxton/v1/add-ons/{resourceId}/implies
Description

Gets implies of add-ons.The records can be filtered based on implies object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
impliesId:0,
addToParent:0,
bookDateFrom:String(date),
bookDateTo:String(date),
countFromMin:true,
ignoreRentability:true,
implicationManagerId:0,
implyOnce:true,
included:true,
onBill:true,
parentId:0,
priority:0,
quantityMax:0,
quantityMin:0,
removable:true,
required:true,
showOnAllInPriceBill:true,
showPrice:true,
subjectsMax:0,
subjectsMin:0,
supplierImpliesId:0,
validFrom:String(date),
validTo:String(date))

Path

resourceId
required

ResourceId of offer for which the implies needs to be fetched.

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching implies of add-ons.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/add-ons/{resourceId}/implies
Example HTTP response
Response 200
{
  "content" : [ {
    "addToParent" : 1,
    "bookDateFrom" : "01-01-2023",
    "bookDateTo" : "01-01-2023",
    "countFromMin" : true,
    "ignoreRentability" : true,
    "implicationManagerId" : 1,
    "implied" : [ {
      "objectId" : 1,
      "resourceId" : 1
    } ],
    "impliesId" : 1,
    "implyOnce" : true,
    "included" : true,
    "onBill" : true,
    "parent" : true,
    "parentId" : 1,
    "priority" : 1,
    "quantityMax" : 1,
    "quantityMin" : 1,
    "removable" : true,
    "required" : true,
    "resourceId" : 1,
    "resourceIds" : [ "integer" ],
    "showOnAllInPriceBill" : true,
    "showPrice" : true,
    "stay" : true,
    "subjectsMax" : 1,
    "subjectsMin" : 1,
    "supplierImpliesId" : 1,
    "validFrom" : "01-01-2023",
    "validTo" : "01-01-2023"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.2.9. Update/insert addon dynamic field

PUT /maxxton/v1/add-ons/{resourceId}/dynamicfields/{fieldId}
Description

The above endpoint updates the text field of dynamic fields for specific language. If the dynamic field is valid for addon, but not linked yet, then the link will be created. When a user is updating the dynamic field and if the link is already created with the addon, then the text field will be modified

Parameters
Type Name Description Schema

Path

resourceId
required

resourceId to update or insert dynamic field

integer (int64)

Body

requestBody
required

Path

fieldId
required

fieldId to update dynamic field

integer (int64)

Responses
Code Description Schema

204

The request is completed successfully without any errors.

No Content

500

Error occurred while fetching updating/inserting the addon dynamic fields.

No Content

Consumes
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/add-ons/{resourceId}/dynamicfields/{fieldId}
Request body
[ {
  "language" : "string",
  "text" : "string"
} ]

5.3. AdminOrganisation

List of AdminOrganisation

5.3.1. Gets a page with revenue distribution journal of admin organisation

GET /maxxton/v1/adminorganisations/{adminOrganisationId}/revenuedistributions/{revenueDistributionId}/journals
Description
Gets a page with revenue distribution journal  of admin organisation. The records can be filtered based on the RevenueDistributionJournal object.
Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
description:String,
journalType:String,
journalNumber:String,
journalPeriodNumber:0,
ledgerNumber:String,
costCenter:String,
costUnit:String,
secondLedgerNumber:String,
debitVatIncludedDistributionChannelCurrency:String,
creditVatIncludedDistributionChannelCurrency:String,
debitVatExcludedDistributionChannelCurrency:String,
creditVatExcludedDistributionChannelCurrency:String,
debitVatIncluded:String,
creditVatIncluded:String,
debitVatExcluded:String,
creditVatExcluded:String,
exchangeValue:0,
distributionChannelCurrencyCode:String,
distributionChannelCurrencyId:0,
adminCurrencyCode:String,
adminCurrencyId:0,
adminOrganistationCurrency:String,
distributionchannelCurrency:String,
revenueDistributionJournalId:0)

Path

adminOrganisationId
required

Id of the admin organisation for which revenue distribution journals has to be fetched

integer (int64)

Path

revenueDistributionId
required

revenue distribution id for which revenue distribution journals has to be fetched

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fethcing revenue distribution journals of admin organisations.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/adminorganisations/{adminOrganisationId}/revenuedistributions/{revenueDistributionId}/journals
Example HTTP response
Response 200
{
  "content" : [ {
    "adminCurrencyCode" : "string",
    "adminCurrencyId" : 1,
    "adminOrganisationId" : 1,
    "adminOrganistationCurrency" : {
      "creditVatExcluded" : 1,
      "creditVatIncluded" : 1,
      "currencyCode" : "string",
      "currencyId" : 1,
      "debitVatExcluded" : 1,
      "debitVatIncluded" : 1
    },
    "costCenter" : "string",
    "costUnit" : "string",
    "creditVatExcluded" : 1,
    "creditVatExcludedDistributionChannelCurrency" : 1,
    "creditVatIncluded" : 1,
    "creditVatIncludedDistributionChannelCurrency" : 1,
    "debitVatExcluded" : 1,
    "debitVatExcludedDistributionChannelCurrency" : 1,
    "debitVatIncluded" : 1,
    "debitVatIncludedDistributionChannelCurrency" : 1,
    "description" : "string",
    "distributionChannelCurrencyCode" : "string",
    "distributionChannelCurrencyId" : 1,
    "distributionchannelCurrency" : {
      "creditVatExcluded" : 1,
      "creditVatIncluded" : 1,
      "currencyCode" : "string",
      "currencyId" : 1,
      "debitVatExcluded" : 1,
      "debitVatIncluded" : 1,
      "exchangeRate" : 1
    },
    "exchangeValue" : 1,
    "journalNumber" : "string",
    "journalPeriodNumber" : 1,
    "journalType" : "string",
    "ledgerNumber" : "string",
    "revenueDistributionId" : 1,
    "revenueDistributionJournalId" : 1,
    "secondLedgerNumber" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.3.2. Create new admin organisation

POST /maxxton/v1/adminorganisations
Parameters
Type Name Description Schema

Body

requestBody
required

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while creating admin organisation.

No Content

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/adminorganisations
Request body
{
  "code" : "string",
  "currencyId" : 1,
  "description" : "string",
  "name" : "string",
  "origin" : "string",
  "originId" : "string"
}
Example HTTP response
Response 200
{
  "adminOrganisationId" : 1,
  "code" : "string",
  "currencyCode" : "string",
  "currencyId" : 1,
  "description" : "string",
  "journalId" : 1,
  "name" : "string",
  "origin" : "string",
  "originId" : "string"
}

5.3.3. Gets a page with Accounts of an admin organisation

GET /maxxton/v1/adminorganisations/{adminOrganisationId}/accounts
Description

Gets a page with Accounts of an admin organisation. The records can be filtered based on the account object.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
accountId:0,
name:String,
currencyId:0,
currencyCode:String,
bankAccount:String)

Path

adminOrganisationId
required

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching accounts of the admin organisations.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/adminorganisations/{adminOrganisationId}/accounts
Example HTTP response
Response 200
{
  "content" : [ {
    "accountId" : 1,
    "bankAccount" : {
      "bankAccountName" : "string",
      "code" : "string",
      "currencyCode" : "string",
      "name" : "string",
      "paymentMethodDefinition" : {
        "brandName" : "string",
        "code" : "string",
        "name" : "string"
      }
    },
    "currencyCode" : "string",
    "currencyId" : 1,
    "name" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.3.4. Gets a page with admin organisations

GET /maxxton/v1/adminorganisations
Description

Gets a page with admin organisations. The records can be filtered based on the adminorganisation object.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
adminOrganisationId:0,
name:String,
description:String,
code:String,
currencyId:0,
currencyCode:String,
origin:String,
originId:String,
journalId:0)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching admin organisations.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/adminorganisations
Example HTTP response
Response 200
{
  "content" : [ {
    "adminOrganisationId" : 1,
    "code" : "string",
    "currencyCode" : "string",
    "currencyId" : 1,
    "description" : "string",
    "journalId" : 1,
    "name" : "string",
    "origin" : "string",
    "originId" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.3.5. Gets a page with financial transactions

GET /maxxton/v1/adminorganisations/{adminOrganisationId}/financialtransactions
Description

Gets a page with financial transactions.The records can be filtered based on the FinancialTransactionReport object.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
financialTransactionReportId:0,
reportNumber:0,
creationDate:String(date),
status:String,
companyId:0)

Path

adminOrganisationId
required

Id of the admin organisation for which financial transactions has to be fetched

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching financial transactions.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/adminorganisations/{adminOrganisationId}/financialtransactions
Example HTTP response
Response 200
{
  "content" : [ {
    "adminOrganisationId" : 1,
    "companyId" : 1,
    "creationDate" : "01-01-2023T11:23:45Z",
    "financialTransactionReportId" : 1,
    "reportNumber" : 1,
    "status" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.3.6. Gets a page with financial transactions journal report of admin organisation

GET /maxxton/v1/adminorganisations/{adminOrganisationId}/financialtransactions/{financialTransactionReportId}/journals
Description

Gets a page with financial transactions journal report of admin organisation. The records can be filtered based on the FinancialTransactionJournalsReport object.
The field statementHeader in the response denotes the start of a statement.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
status:String,
description:String,
journalType:String,
journalNumber:String,
journalPeriodNumber:String,
statementNumber:String,
statementDate:String(date),
ledgerNumber:String,
costCenter:String,
costUnit:String,
secondLedgerNumber:String,
debitVatIncluded:String,
creditVatIncluded:String,
debitVatExcluded:String,
creditVatExcluded:String,
debitVatIncludedAccCurr:String,
creditVatIncludedAccCurr:String,
debitVatExcludedAccCurr:String,
creditVatExcludedAccCurr:String,
accountCurrencyId:0,
exchangeValue:0,
accountId:0,
accountCurrencyCode:String,
adminCurrencyCode:String,
adminCurrencyId:0,
adminOrganistationCurrency:String,
accountCurrency:String,
statementHeader:true,
financialTransactionReportJournalId:0)

Path

adminOrganisationId
required

Id of the admin organisation for which financial transactions journals report has to be fetched

integer (int64)

Path

financialTransactionReportId
required

Financial transaction report id for which financial transactions journals report has to be fetched

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching financial transaction journals report of admin organisations.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/adminorganisations/{adminOrganisationId}/financialtransactions/{financialTransactionReportId}/journals
Example HTTP response
Response 200
{
  "content" : [ {
    "accountCurrency" : {
      "creditVatExcluded" : 1,
      "currencyCode" : "string",
      "currencyId" : 1,
      "debitVatExcluded" : 1,
      "debitVatIncluded" : 1,
      "exchangeRate" : 1,
      "getcreditVatIncluded" : 1
    },
    "accountCurrencyCode" : "string",
    "accountCurrencyId" : 1,
    "accountId" : 1,
    "adminCurrencyCode" : "string",
    "adminCurrencyId" : 1,
    "adminOrganisationId" : 1,
    "adminOrganistationCurrency" : {
      "creditVatExcluded" : 1,
      "creditVatIncluded" : 1,
      "currencyCode" : "string",
      "currencyId" : 1,
      "debitVatExcluded" : 1,
      "debitVatIncluded" : 1
    },
    "costCenter" : "string",
    "costUnit" : "string",
    "creditVatExcluded" : 1,
    "creditVatExcludedAccCurr" : 1,
    "creditVatIncluded" : 1,
    "creditVatIncludedAccCurr" : 1,
    "debitVatExcluded" : 1,
    "debitVatExcludedAccCurr" : 1,
    "debitVatIncluded" : 1,
    "debitVatIncludedAccCurr" : 1,
    "description" : "string",
    "exchangeValue" : 1,
    "financialTransactionReportId" : 1,
    "financialTransactionReportJournalId" : 1,
    "journalNumber" : "string",
    "journalPeriodNumber" : "string",
    "journalType" : "string",
    "ledgerNumber" : "string",
    "secondLedgerNumber" : "string",
    "statementDate" : "01-01-2023",
    "statementHeader" : true,
    "statementNumber" : "string",
    "status" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.3.7. Gets a page with owner financial transaction journals details of admin organisation

GET /maxxton/v1/adminorganisations/{adminOrganisationId}/ownerfinancialtransactions/{ownerFinancialTransactionReportId}/journals/entries
Description

Detailed journal entries of the owner financial transaction report. All details from this endpoint summed will be the total journal entry. Based on the settlementId and settlementEntryId the owner settlement and it’s entries can be retrieved. The records can be filtered based on the OwnerFinancialTransactionJournalsDetailReport object.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
settlementId:0,
settlementEntryId:0,
ledgerId:0,
ledgerNumber:String,
ledgerName:String,
costCenterId:0,
costCenterNumber:String,
costCenterName:String,
costUnitId:0,
costUnitNumber:String,
costUnitName:String,
secondLedgerId:0,
secondLedgerNumber:String,
secondLedgerName:String,
ownerCurrencyId:0)

Path

adminOrganisationId
required

Id of the admin organisation for which owner financial transactions journals report has to be fetched

integer (int64)

Path

ownerFinancialTransactionReportId
required

Financial transaction report id for which owner financial transactions journals report has to be fetched

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fethcing owner financial transaction journals report details of admin organisations.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/adminorganisations/{adminOrganisationId}/ownerfinancialtransactions/{ownerFinancialTransactionReportId}/journals/entries
Example HTTP response
Response 200
{
  "content" : [ {
    "costCenterId" : 1,
    "costCenterName" : "string",
    "costCenterNumber" : "string",
    "costUnitId" : 1,
    "costUnitName" : "string",
    "costUnitNumber" : "string",
    "creditVatExcluded" : 1,
    "creditVatIncluded" : 1,
    "debitVatExcluded" : 1,
    "debitVatIncluded" : 1,
    "ledgerId" : 1,
    "ledgerName" : "string",
    "ledgerNumber" : "string",
    "ownerCurrencyId" : 1,
    "ownerFinancialTransactionReportId" : 1,
    "secondLedgerId" : 1,
    "secondLedgerName" : "string",
    "secondLedgerNumber" : "string",
    "settlementEntryId" : 1,
    "settlementId" : 1
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.3.8. Gets a page with owner financial transactions

GET /maxxton/v1/adminorganisations/{adminOrganisationId}/ownerfinancialtransactions
Description

Gets a page with owner financial transactions.The records can be filtered based on the OwnerFinancialTransaction object.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
ownerFinancialTransactionReportId:0,
reportNumber:0,
creationDate:String(date),
bookDate:String(date),
status:String)

Path

adminOrganisationId
required

Id of the admin organisation for which owner financial transactions has to be fetched

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching owner financial transactions.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/adminorganisations/{adminOrganisationId}/ownerfinancialtransactions
Example HTTP response
Response 200
{
  "content" : [ {
    "bookDate" : "01-01-2023",
    "creationDate" : "01-01-2023T11:23:45Z",
    "ownerFinancialTransactionReportId" : 1,
    "reportNumber" : 1,
    "status" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.3.9. Gets a page with owner financial transactions journal report of admin organisation

GET /maxxton/v1/adminorganisations/{adminOrganisationId}/ownerfinancialtransactions/{ownerFinancialTransactionReportId}/journals
Description

Gets a page with owner financial transactions journal report of admin organisation. The records can be filtered based on the OwnerFinancialTransactionJournalsReport object.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
status:String,
description:String,
journalType:String,
journalNumber:String,
journalPeriodNumber:0,
statementNumber:String,
statementDate:String(date),
ledgerNumber:String,
costCenter:String,
costUnit:String,
secondLedgerNumber:String,
debitVatIncluded:String,
creditVatIncluded:String,
debitVatExcluded:String,
creditVatExcluded:String,
debitVatIncludedInAdminOrganisationCurrency:String,
creditVatIncludedInAdminOrganisationCurrency:String,
debitVatExcludedInAdminOrganisationCurrency:String,
creditVatExcludedInAdminOrganisationCurrency:String,
ownerCurrencyId:0,
ownerCrrencyCode:String,
exchangeValue:0,
accountId:0,
adminOrganisationCurrencyId:0,
adminOrganisationCurrencyCode:String,
adminOrganisationCurrency:String,
ownerCurrency:String)

Path

adminOrganisationId
required

Id of the admin organisation for which owner financial transactions journals report has to be fetched

integer (int64)

Path

ownerFinancialTransactionReportId
required

Financial transaction report id for which owner financial transactions journals report has to be fetched

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fethcing owner financial transaction journals report of admin organisations.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/adminorganisations/{adminOrganisationId}/ownerfinancialtransactions/{ownerFinancialTransactionReportId}/journals
Example HTTP response
Response 200
{
  "content" : [ {
    "accountId" : 1,
    "adminOrganisationCurrency" : {
      "creditVatExcluded" : 1,
      "creditVatIncluded" : 1,
      "currencyCode" : "string",
      "currencyId" : 1,
      "debitVatExcluded" : 1,
      "debitVatIncluded" : 1
    },
    "adminOrganisationCurrencyCode" : "string",
    "adminOrganisationCurrencyId" : 1,
    "costCenter" : "string",
    "costUnit" : "string",
    "creditVatExcluded" : 1,
    "creditVatExcludedInAdminOrganisationCurrency" : 1,
    "creditVatIncluded" : 1,
    "creditVatIncludedInAdminOrganisationCurrency" : 1,
    "debitVatExcluded" : 1,
    "debitVatExcludedInAdminOrganisationCurrency" : 1,
    "debitVatIncluded" : 1,
    "debitVatIncludedInAdminOrganisationCurrency" : 1,
    "description" : "string",
    "exchangeValue" : 1,
    "journalNumber" : "string",
    "journalPeriodNumber" : 1,
    "journalType" : "string",
    "ledgerNumber" : "string",
    "ownerCrrencyCode" : "string",
    "ownerCurrency" : {
      "creditVatExcluded" : 1,
      "currencyCode" : "string",
      "currencyId" : 1,
      "debitVatExcluded" : 1,
      "debitVatIncluded" : 1,
      "exchangeRate" : 1,
      "getcreditVatIncluded" : 1
    },
    "ownerCurrencyId" : 1,
    "secondLedgerNumber" : "string",
    "statementDate" : "01-01-2023",
    "statementNumber" : "string",
    "status" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.3.10. Gets a page with revenue distributions of an admin organisation

GET /maxxton/v1/adminorganisations/{adminOrganisationId}/revenuedistributions
Description

Gets a page with revenue distributions of an admin organisation. The records can be filtered based on the RevenueDistribution object.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
revenueDistributionId:0,
revenueDistributionNumber:0,
creationDate:String(date),
adminOrganisationId:0,
status:String,
bookDate:String(date))

Path

adminOrganisationId
required

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching revenue distributions of the admin organisations.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/adminorganisations/{adminOrganisationId}/revenuedistributions
Example HTTP response
Response 200
{
  "content" : [ {
    "adminOrganisationId" : 1,
    "bookDate" : "01-01-2023T11:23:45Z",
    "creationDate" : "01-01-2023T11:23:45Z",
    "revenueDistributionId" : 1,
    "revenueDistributionNumber" : 1,
    "status" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.3.11. Update existing admin organisation

PUT /maxxton/v1/adminorganisations/{adminOrganisationId}
Parameters
Type Name Description Schema

Path

adminOrganisationId
required

integer (int64)

Body

requestBody
required

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while updating admin organisation.

No Content

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/adminorganisations/{adminOrganisationId}
Request body
{
  "code" : "string",
  "currencyId" : 1,
  "description" : "string",
  "name" : "string",
  "origin" : "string",
  "originId" : "string"
}
Example HTTP response
Response 200
{
  "code" : "string",
  "currencyId" : 1,
  "description" : "string",
  "name" : "string",
  "origin" : "string",
  "originId" : "string"
}

5.3.12. Update’s the revenue distribution of specific admin organisation id and revenue distribution id

PUT /maxxton/v1/adminorganisations/{adminOrganisationId}/revenuedistributions/{revenueDistributionId}
Description

Updates the revenue distribution of specific admin organisation id and revenue distribution id

Parameters
Type Name Description Schema

Path

adminOrganisationId
required

Id of the admin organisation for which revenue distribution has to be updated

integer (int64)

Body

requestBody
required

Body to update revenue distribution

Path

revenueDistributionId
required

Revenue distribution id for which revenue distribution has to be updated

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while updating revenue distribution.

No Content

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/adminorganisations/{adminOrganisationId}/revenuedistributions/{revenueDistributionId}
Request body
{
  "status" : "string"
}
Example HTTP response
Response 200
{
  "adminOrganisationId" : 1,
  "bookDate" : "01-01-2023T11:23:45Z",
  "creationDate" : "01-01-2023T11:23:45Z",
  "revenueDistributionId" : 1,
  "revenueDistributionNumber" : 1,
  "status" : "string"
}

5.3.13. Updates the owner financial transactions for specific admin organisation id and owner financial transaction id

PUT /maxxton/v1/adminorganisations/{adminOrganisationId}/ownerfinancialtransactions/{ownerFinancialTransactionId}
Description

Updates the owner financial transactions for specific admin organisation id and owner financial transaction id

Parameters
Type Name Description Schema

Path

adminOrganisationId
required

Id of the admin organisation for which owner financial transactions has to be updated

integer (int64)

Path

ownerFinancialTransactionId
required

Id of the owner financial transaction for which owner financial transactions has to be updated

integer (int64)

Body

requestBody
required

Body of the owner financial transaction to be updated

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while updating owner financial transactions.

No Content

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/adminorganisations/{adminOrganisationId}/ownerfinancialtransactions/{ownerFinancialTransactionId}
Request body
{
  "status" : "string"
}
Example HTTP response
Response 200
{
  "bookDate" : "01-01-2023",
  "creationDate" : "01-01-2023T11:23:45Z",
  "ownerFinancialTransactionReportId" : 1,
  "reportNumber" : 1,
  "status" : "string"
}

5.3.14. update’s the financial transactions report of specific admin organisation id and financial transaction report id

PUT /maxxton/v1/adminorganisations/{adminOrganisationId}/financialtransactions/{financialTransactionReportId}
Description

updates financial transactions report of specific admin organisation id and financial transaction report id

Parameters
Type Name Description Schema

Path

adminOrganisationId
required

Id of the admin organisation for which financial transactions has to be fetched

integer (int64)

Path

financialTransactionReportId
required

Financial transaction report id for which financial transactions has to be fetched

integer (int64)

Body

requestBody
required

Body to update financial transaction report

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while updating financial transactions.

No Content

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/adminorganisations/{adminOrganisationId}/financialtransactions/{financialTransactionReportId}
Request body
{
  "status" : "string"
}
Example HTTP response
Response 200
{
  "adminOrganisationId" : 1,
  "companyId" : 1,
  "creationDate" : "01-01-2023T11:23:45Z",
  "financialTransactionReportId" : 1,
  "reportNumber" : 1,
  "status" : "string"
}

5.4. Allotment

Guaranteed availability for a specific distribution channel

5.4.1. Get allotment releases

GET /maxxton/v1/allotments/releases
Description

Allotment releases are rules which needs to be combined with allotment to release the allotment so it will be available to other distribution channels again. This can be done partially or totally. The allotment rules will not be removed in case it is released because of this it should be combined with the allotment call.<r>The difference between removing allotment and releasing allotment is that when you remove the allotment its gone, when it is released it can reduce the allotment or completely removeit. If there are 4 units available in allotment, 2 are released. That would mean 2 units are still available from allotment.It also supports pageable.The allotment release is active when the performedDate is not null and enactive is false. isEnactive is true when the allotment release is removed.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
allotmentReleaseId:0,
distributionChannelId:0,
name:String,
startDate:String(date),
endDate:String(date),
releasePeriod:0,
releaseDate:String(date),
performedDate:String(date),
resourceId:0,
resortId:0,
isEnactive:true)

Responses
Code Description Schema

200

The request is completed successfully without any errors

204

No allotment releases found for given criteria.

No Content

500

Error occurred while fetching allotment releases

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/allotments/releases
Example HTTP response
Response 200
{
  "content" : [ {
    "allotmentReleaseId" : 1,
    "distributionChannelId" : 1,
    "endDate" : "01-01-2023",
    "isEnactive" : true,
    "name" : "string",
    "performedDate" : "01-01-2023",
    "releaseDate" : "01-01-2023",
    "releasePeriod" : 1,
    "resortId" : 1,
    "resourceId" : 1,
    "startDate" : "01-01-2023"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.4.2. Get allotments

GET /maxxton/v1/allotments
Description

Gets a page with allotments. The allotment is active when not removed(isEnactive false) and no allotment release rules are valid(allotment can be released partially). A distribution channel is only allowed to book from allotment or the usual reservability not both.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
allotmentId:0,
distributionChannelId:0,
resourceId:0,
name:String,
description:String,
type:String,
exceedLimit:0,
expirePeriod:0,
amount:0,
modified:String(date),
isEnactive:true)

Responses
Code Description Schema

200

The request is completed successfully without any errors

204

No allotments found for given criteria.

No Content

500

Error occurred while fetching allotments

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/allotments
Example HTTP response
Response 200
{
  "content" : [ {
    "allotmentId" : 1,
    "amount" : 1,
    "description" : "string",
    "distributionChannelId" : 1,
    "exceedLimit" : 1,
    "expirePeriod" : 1,
    "hasObjects" : true,
    "isEnactive" : true,
    "modified" : "01-01-2023",
    "name" : "string",
    "periods" : [ {
      "endDate" : "01-01-2023",
      "quantity" : 1,
      "startDate" : "01-01-2023",
      "unitIds" : [ "integer" ]
    } ],
    "resourceId" : 1,
    "type" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.5. Amenity

Features or facilities available on a resort or an accommodation type

5.5.1. Add new amenities

POST /maxxton/v1/amenities
Description

Adds new amenities.

Parameters
Type Name Description Schema

Body

requestBody
required

Request body to create new amenity.

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while adding amenities.

No Content

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/amenities
Request body
{
  "amenityCategoryIds" : [ "integer" ],
  "amenityStandardCode" : "string",
  "childAmenityIds" : [ "integer" ],
  "code" : "string",
  "linkedAmenityId" : 1,
  "numberMaximum" : 1,
  "numberMinimum" : 1,
  "origin" : "string",
  "originId" : "string",
  "translations" : [ {
    "description" : "string",
    "language" : "string",
    "name" : "string"
  } ],
  "type" : "string"
}
Example HTTP response
Response 200
{
  "amenityCategoryIds" : [ "integer" ],
  "amenityId" : 1,
  "amenityStandardCode" : "string",
  "childAmenityIds" : [ "integer" ],
  "code" : "string",
  "linkedAmenityId" : 1,
  "numberMaximum" : 1,
  "numberMinimum" : 1,
  "origin" : "string",
  "originId" : "string",
  "translations" : [ {
    "description" : "string",
    "language" : "string",
    "languageId" : 1,
    "name" : "string"
  } ],
  "type" : "string"
}

5.5.2. Gets a page with Amenities

GET /maxxton/v1/amenities
Description

Gets a page with amenities.The records can be filtered based on amenity object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
amenityId:0,
type:String,
identifier:String,
listMulti:true,
numberMinimum:0,
numberMaximum:0,
percentageDiscountPriority:0,
source:String,
standardCodeAmenityId:0,
linkedAmenityId:0,
parentAmenityId:0,
archivedFrom:String(date))

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching Amenities.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/amenities
Example HTTP response
Response 200
{
  "content" : [ {
    "amenityCategoryIds" : [ "integer" ],
    "amenityId" : 1,
    "archivedFrom" : "01-01-2023",
    "categories" : [ {
      "amenityCategoryId" : 1,
      "code" : "string",
      "i18n" : [ {
        "description" : "string",
        "language" : "string",
        "languageId" : 1,
        "name" : "string"
      } ],
      "isInternalUse" : true,
      "translations" : [ {
        "description" : "string",
        "language" : "string",
        "languageId" : 1,
        "name" : "string"
      } ]
    } ],
    "endDate" : "01-01-2023",
    "i18n" : [ {
      "description" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string"
    } ],
    "identifier" : "string",
    "linkedAmenityId" : 1,
    "listMulti" : true,
    "metric" : {
      "code" : "string",
      "i18n" : [ {
        "language" : "string",
        "languageId" : 1,
        "name" : "string"
      } ],
      "metricId" : 1,
      "translations" : [ {
        "language" : "string",
        "languageId" : 1,
        "name" : "string"
      } ]
    },
    "metricDetail" : {
      "code" : "string",
      "i18n" : [ {
        "language" : "string",
        "languageId" : 1,
        "name" : "string"
      } ],
      "metricId" : 1,
      "translations" : [ {
        "language" : "string",
        "languageId" : 1,
        "name" : "string"
      } ]
    },
    "numberMaximum" : 1,
    "numberMinimum" : 1,
    "parentAmenityId" : 1,
    "percentageDiscountPriority" : 1,
    "source" : "string",
    "standardCodeAmenityId" : 1,
    "translations" : [ {
      "description" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string"
    } ],
    "type" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.5.3. Gets a page with amenity categories

GET /maxxton/v1/amenities/categories
Description

Gets a page with amenity categories.The records can be filtered based on category set object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
amenityCategorySetId:0,
code:String,
priority:0)

Query

returnSections
optional

To return only the selected sections in the response, use the constant string IMAGES. This can reduce the response body size and improve the performance of the call.

< string > array

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching amenity categories.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/amenities/categories
Example HTTP response
Response 200
{
  "content" : [ {
    "amenityCategories" : [ {
      "amenityCategoryId" : 1,
      "code" : "string",
      "i18n" : [ {
        "description" : "string",
        "language" : "string",
        "languageId" : 1,
        "name" : "string"
      } ],
      "isInternalUse" : true,
      "priority" : 1,
      "translations" : [ {
        "description" : "string",
        "language" : "string",
        "languageId" : 1,
        "name" : "string"
      } ]
    } ],
    "amenityCategorySetId" : 1,
    "code" : "string",
    "i18n" : [ {
      "description" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string"
    } ],
    "imageManagerId" : 1,
    "images" : [ {
      "endDate" : "01-01-2023",
      "fileName" : "string",
      "hostType" : "string",
      "imageId" : 1,
      "imageManagerId" : 1,
      "imageManagerIds" : [ "integer" ],
      "imageOrientation" : "string",
      "imageType" : "string",
      "isActive" : true,
      "isUploaded" : true,
      "isWebPresentation" : true,
      "mediaLanguageId" : 1,
      "mediaType" : "string",
      "mimeType" : "string",
      "modifiedDate" : "01-01-2023T11:23:45Z",
      "sequenceNumber" : 1,
      "startDate" : "01-01-2023",
      "tags" : [ {
        "name" : "string",
        "tagId" : 1
      } ],
      "thumbnailUrl" : "string",
      "translations" : [ {
        "description" : "string",
        "language" : "string",
        "languageId" : 1,
        "name" : "string"
      } ],
      "uploadDate" : "01-01-2023T11:23:45Z",
      "url" : "string",
      "version" : 1
    } ],
    "isInternalUse" : true,
    "parentId" : 1,
    "priority" : 1,
    "translations" : [ {
      "description" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string"
    } ]
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.5.4. Gets a page with amenity categories

GET /maxxton/v1/amenities/details
Description

Gets a page with amenity categories.The records can be filtered based on category set object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
amenityCategorySetId:0,
code:String,
priority:0)

Query

returnSections
optional

List of constant strings to return only the selected sections in the response. The possible values are IMAGES. This is recommended to use to reduce the size of the response body and improve the performance of the call.

< string > array

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching amenity categories.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/amenities/details
Example HTTP response
Response 200
{
  "content" : [ {
    "amenityCategories" : [ {
      "amenities" : [ {
        "amenityId" : 1,
        "amenityLinkId" : 1,
        "archivedFrom" : "01-01-2023",
        "code" : "string",
        "endDate" : "01-01-2023",
        "i18n" : [ {
          "description" : "string",
          "language" : "string",
          "languageId" : 1,
          "name" : "string"
        } ],
        "identifier" : "string",
        "imageManagerId" : 1,
        "images" : [ {
          "endDate" : "01-01-2023",
          "fileName" : "string",
          "hostType" : "string",
          "imageId" : 1,
          "imageManagerId" : 1,
          "imageManagerIds" : [ "integer" ],
          "imageOrientation" : "string",
          "imageType" : "string",
          "isActive" : true,
          "isUploaded" : true,
          "isWebPresentation" : true,
          "mediaLanguageId" : 1,
          "mediaType" : "string",
          "mimeType" : "string",
          "modifiedDate" : "01-01-2023T11:23:45Z",
          "sequenceNumber" : 1,
          "startDate" : "01-01-2023",
          "tags" : [ { } ],
          "thumbnailUrl" : "string",
          "translations" : [ { } ],
          "uploadDate" : "01-01-2023T11:23:45Z",
          "url" : "string",
          "version" : 1
        } ],
        "managerId" : 1,
        "metricDetail" : {
          "code" : "string",
          "i18n" : [ { } ],
          "metricId" : 1,
          "translations" : [ { } ]
        },
        "numberValue" : 1,
        "origin" : "string",
        "parentAmenityId" : 1,
        "preferenceExtraId" : 1,
        "startDate" : "01-01-2023",
        "textValue" : "string",
        "translations" : [ {
          "description" : "string",
          "language" : "string",
          "languageId" : 1,
          "name" : "string"
        } ],
        "type" : "string",
        "visible" : true
      } ],
      "amenityCategoryId" : 1,
      "amenityGroups" : [ {
        "amenities" : [ {
          "amenityId" : 1,
          "amenityLinkId" : 1,
          "archivedFrom" : "01-01-2023",
          "code" : "string",
          "endDate" : "01-01-2023",
          "i18n" : [ { } ],
          "identifier" : "string",
          "imageManagerId" : 1,
          "images" : [ { } ],
          "managerId" : 1,
          "metricDetail" : { },
          "numberValue" : 1,
          "origin" : "string",
          "parentAmenityId" : 1,
          "preferenceExtraId" : 1,
          "startDate" : "01-01-2023",
          "textValue" : "string",
          "translations" : [ { } ],
          "type" : "string",
          "visible" : true
        } ],
        "amenityId" : 1,
        "amenityLinkId" : 1,
        "archivedFrom" : "01-01-2023",
        "code" : "string",
        "endDate" : "01-01-2023",
        "identifier" : "string",
        "managerId" : 1,
        "metric" : {
          "code" : "string",
          "i18n" : [ { } ],
          "metricId" : 1,
          "translations" : [ { } ]
        },
        "metricDetail" : {
          "code" : "string",
          "i18n" : [ { } ],
          "metricId" : 1,
          "translations" : [ { } ]
        },
        "numberValue" : 1,
        "origin" : "string",
        "parentAmenityId" : 1,
        "preferenceExtraId" : 1,
        "startDate" : "01-01-2023",
        "textValue" : "string",
        "translations" : [ {
          "description" : "string",
          "language" : "string",
          "languageId" : 1,
          "name" : "string"
        } ],
        "type" : "string",
        "visible" : true
      } ],
      "code" : "string",
      "i18n" : [ {
        "description" : "string",
        "language" : "string",
        "languageId" : 1,
        "name" : "string"
      } ],
      "priority" : 1,
      "translations" : [ {
        "description" : "string",
        "language" : "string",
        "languageId" : 1,
        "name" : "string"
      } ]
    } ],
    "amenityCategorySetId" : 1,
    "code" : "string",
    "i18n" : [ {
      "description" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string"
    } ],
    "isInternalUse" : true,
    "parentId" : 1,
    "priority" : 1,
    "translations" : [ {
      "description" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string"
    } ]
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.6. Authentication

Authentication

5.6.1. Login

POST /maxxton/v1/authenticate
Description

Returns generated access token. This can be used in further calls to authenticate by adding this to the header parameters with key: Authorization and value: {token_type} {access_token}.Concern or scope can be used for passing the concern parameter but scope is preferred as it is fully oauth2 compatible. Either of the two parameters i.e Concern or Scope is mandatory.

Parameters
Type Name Description Schema

Query

grant_type
required

GrantType which is used to authenticate (client_credentials etc)

string

Query

scope
required

scope of authorization.Contains a concern parameter to make it compatible with oauth2 standard.

string

Query

client_secret
required

This is the API key provided by Maxxton as part of API credentials.

string

Query

client_id
required

This is the maxxton login name provided by Maxxton as part of API credentials.

string

Query

concern
optional

Concern code where you want to login(3 digits), alias for scope(deprecated)

string

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while processing.

No Content

Produces
  • application/json;charset=UTF-8

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/authenticate
Example HTTP response
Response 200
{
  "access_token" : "string",
  "expires_in" : 1,
  "jti" : "string",
  "scope" : "string",
  "token_type" : "string"
}

5.7. Brands

Different labels used for marketing of an accommodation type

5.7.1. Get brands

GET /maxxton/v1/brands
Description

Gets a page with brands. The records can be filtered based on the brand object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
brandId:0,
defaultBrand:true,
name:String)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching brands.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/brands
Example HTTP response
Response 200
{
  "content" : [ {
    "brandId" : 1,
    "defaultBrand" : true,
    "name" : "string",
    "reservationCategoryId" : 1
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.7.2. Gets an brand of a specific brand id.

GET /maxxton/v1/brands/{brandId}
Description

Gets brand based on Brand Id

Parameters
Type Name Description Schema

Path

brandId
required

Brand id to fetch brand

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching Brand.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/brands/{brandId}
Example HTTP response
Response 200
{
  "brandId" : 1,
  "defaultBrand" : true,
  "name" : "string",
  "reservationCategoryId" : 1
}

5.8. Cash Clearance

Informations related to cash reservations and company.

5.8.1. Get a company on a specific company id.

GET /maxxton/v1/companies/{companyId}
Description

Get a company based on its company id

Parameters
Type Name Description Schema

Path

companyId
required

Company id to fetch particular company

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching specific company.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/companies/{companyId}
Example HTTP response
Response 200
{
  "adminOrganisationId" : "string",
  "companyId" : 1,
  "companyNumber" : "string",
  "currencyId" : 1,
  "description" : "string",
  "name" : "string"
}

5.8.2. Gets all cashaccounts.

GET /maxxton/v1/cashreservations/accounts
Description

Gets a page of all cashaccounts, records can be filtered based on fields on cashaccount object.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
accountId:0,
name:String,
description:String,
companyId:0,
accountType:String)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching cashaccount

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/cashreservations/accounts
Example HTTP response
Response 200
{
  "content" : [ {
    "accountId" : 1,
    "accountType" : "string",
    "companyId" : 1,
    "description" : "string",
    "name" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.8.3. Gets all cashclearance.

GET /maxxton/v1/cashreservations/clearance
Description

Gets a page of all cashclearance, records can be filtered based on fields on cashclearance object.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
cashClearanceId:0,
reportNumber:0,
creationDate:String(date),
companyId:0,
employeeId:0,
totalValueAmount:0.0,
totalCardAmount:0.0,
startBalanceNextDay:0.0,
tillAmountNextDay:0.0,
safeWithdrawalAmount:0.0,
safeDepositAmount:0.0,
receivedAmount:0.0,
totalMutationAmount:0.0,
cashDifference:0.0,
reasonCashDifference:String,
currencyId:0)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching cashclearance

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/cashreservations/clearance
Example HTTP response
Response 200
{
  "content" : [ {
    "cashClearanceId" : 1,
    "cashDifference" : 1,
    "companyId" : 1,
    "creationDate" : "01-01-2023T11:23:45Z",
    "currencyId" : 1,
    "employeeId" : 1,
    "reasonCashDifference" : "string",
    "receivedAmount" : 1,
    "reportNumber" : 1,
    "safeDepositAmount" : 1,
    "safeWithdrawalAmount" : 1,
    "startBalanceNextDay" : 1,
    "tillAmountNextDay" : 1,
    "totalCardAmount" : 1,
    "totalMutationAmount" : 1,
    "totalValueAmount" : 1
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.8.4. Gets all companies.

GET /maxxton/v1/companies
Description

Gets a page of all companies, records can be filtered based on fields on country object.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
companyId:0,
companyNumber:String,
name:String,
description:String,
adminOrganisationId:String,
currencyId:0)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching companies

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/companies
Example HTTP response
Response 200
{
  "content" : [ {
    "adminOrganisationId" : "string",
    "companyId" : 1,
    "companyNumber" : "string",
    "currencyId" : 1,
    "description" : "string",
    "name" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.9. Contracts

Formal legal agreement between the owner and the resort

5.9.1. Creats a new Contract

POST /maxxton/v1/contracts
Description

Gets a newly created Contract

Parameters
Type Name Description Schema

Body

requestBody
required

Request Body for new contract.

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching contract.

No Content

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/contracts
Request body
{
  "code" : "string",
  "contractId" : 1,
  "contractRenewalReminder" : "01-01-2023",
  "contractTypeId" : 1,
  "endDate" : "01-01-2023",
  "name" : "string",
  "origin" : "string",
  "originId" : "string",
  "ownerId" : 1,
  "poolOwnerId" : 1,
  "rentAssurance" : 1,
  "resourceId" : 1,
  "startDate" : "01-01-2023",
  "targetAmount" : 1,
  "unitId" : 1
}
Example HTTP response
Response 200
{
  "code" : "string",
  "contractId" : 1,
  "contractRenewalReminder" : "01-01-2023",
  "contractTypeId" : 1,
  "endDate" : "01-01-2023",
  "name" : "string",
  "origin" : "string",
  "originId" : "string",
  "ownerId" : 1,
  "poolOwnerId" : 1,
  "rentAssurance" : 1,
  "resourceId" : 1,
  "startDate" : "01-01-2023",
  "targetAmount" : 1,
  "unitId" : 1
}

5.9.2. Gets a Contract by contract id

GET /maxxton/v1/contracts/{contractId}
Description

Gets a Contract associated with the contractId

Parameters
Type Name Description Schema

Path

contractId
required

Contract Id to fetch contract.

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching contract.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/contracts/{contractId}
Example HTTP response
Response 200
{
  "code" : "string",
  "contractId" : 1,
  "contractRenewalReminder" : "01-01-2023",
  "contractTypeId" : 1,
  "endDate" : "01-01-2023",
  "name" : "string",
  "origin" : "string",
  "originId" : "string",
  "ownerId" : 1,
  "poolOwnerId" : 1,
  "rentAssurance" : 1,
  "resourceId" : 1,
  "startDate" : "01-01-2023",
  "targetAmount" : 1,
  "unitId" : 1
}

5.9.3. Gets a page with Contracts

GET /maxxton/v1/contracts
Description

Gets a Page of Contracts. The records can be filtered based on contract object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
contractId:0,
code:String,
name:String,
ownerId:0,
unitId:0,
startDate:String(date),
endDate:String(date),
contractTypeId:0,
resourceId:0,
poolOwnerId:0,
origin:String,
originId:String,
rentAssurance:0.0,
contractRenewalReminder:String(date))

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching contracts.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/contracts
Example HTTP response
Response 200
{
  "content" : [ {
    "code" : "string",
    "contractId" : 1,
    "contractRenewalReminder" : "01-01-2023",
    "contractTypeId" : 1,
    "endDate" : "01-01-2023",
    "name" : "string",
    "origin" : "string",
    "originId" : "string",
    "ownerId" : 1,
    "poolOwnerId" : 1,
    "rentAssurance" : 1,
    "resourceId" : 1,
    "startDate" : "01-01-2023",
    "targetAmount" : 1,
    "unitId" : 1
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.9.4. Gets a page with contract rules

GET /maxxton/v1/contracts/types/rules
Description

Gets a Page of Contract Rules. These records can be filtered based on contract rule object. It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
contractRuleId:0,
contractTypeId:0,
archivedFrom:String(date),
arrivalDateEnd:String(date),
arrivalDateStart:String(date),
baseSumIncludingTax:true,
beneficiary:String,
calculateAbsolutePerNight:true,
calculationSource:String,
commissionOnly:true,
commissionInculdingTax:true,
commissionTaxRate:0,
departureDateStart:String(date),
departureDateEnd:String(date),
introducerInOwnObject:true,
ledgerId:0,
name:String,
ownerSpecific:true,
priority:0,
purchaseLedgerId:0,
purchaseSecondLedgerId:0,
reservationDateStart:String(date),
reservationDateEnd:String(date),
resourceType:String,
resourceTypeSelected:true,
resourceBeneficiary:true,
resourceId:0,
secondLedgerId:0,
settlementOwnerId:0,
settlementOwnerResortId:0,
stayDateFrom:String(date),
stayDateTo:String(date),
substractDistributionChannelCommission:true,
substractDistributionChannelIncludingTax:true,
taxSumInCommission:0,
time:0,
type:String,
unit:String,
value:0,
vatForPrivateOwner:true,
ownerVatRateExclude:0,
ledgerGroupId:0,
purchaseLedgerGroupId:0,
dependsOnLedgerGroup:true,
valueOnStayBasis:true)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching contract Rules.

No Content

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/contracts/types/rules
Example HTTP response
Response 200
{
  "content" : [ {
    "archivedFrom" : "01-01-2023",
    "arrivalDateEnd" : "01-01-2023",
    "arrivalDateStart" : "01-01-2023",
    "baseSumIncludingTax" : true,
    "beneficiary" : "string",
    "calculateAbsolutePerNight" : true,
    "calculationSource" : "string",
    "commissionInculdingTax" : true,
    "commissionOnly" : true,
    "commissionTaxrate" : 1,
    "contractRuleId" : 1,
    "contractTypeId" : 1,
    "departureDateEnd" : "01-01-2023T11:23:45Z",
    "departureDateStart" : "01-01-2023T11:23:45Z",
    "dependsOnLedgerGroup" : true,
    "introducerInOwnObject" : true,
    "ledgerGroupId" : 1,
    "ledgerId" : 1,
    "name" : "string",
    "ownerSpecific" : true,
    "ownerVatRateExclude" : 1,
    "owners" : [ {
      "accountNr" : "string",
      "alternateName" : "string",
      "attentionOf" : "string",
      "bicSwift" : "string",
      "birthDate" : "01-01-2023",
      "birthPlace" : "string",
      "company" : true,
      "companyIdentificationNumber" : "string",
      "companyName" : "string",
      "dac7OwnerVerified" : true,
      "emailAllowed" : true,
      "firstName" : "string",
      "fiscalTypes" : [ {
        "endDate" : "01-01-2023",
        "fiscalType" : "string",
        "fiscalVat" : "string",
        "ownerFiscalTypeId" : 1,
        "startDate" : "01-01-2023"
      } ],
      "ibanNumber" : "string",
      "languageId" : 1,
      "lastName" : "string",
      "mailAddress" : {
        "accuracy" : "string",
        "address1" : "string",
        "address2" : "string",
        "address3" : "string",
        "addressId" : 1,
        "altContactPerson" : "string",
        "alternateContactPerson" : "string",
        "boxNumber" : "string",
        "city" : "string",
        "country" : {
          "code" : "string",
          "countryId" : 1,
          "default" : true,
          "defaultLanguageId" : 1,
          "priority" : 1,
          "shortName" : "string",
          "translations" : [ { } ]
        },
        "countryId" : 1,
        "dateBegin" : "01-01-2023",
        "dateEnd" : "01-01-2023",
        "district" : "string",
        "email" : "string",
        "exposeLocation" : true,
        "fax" : "string",
        "houseNumber" : "string",
        "houseNumberSuffix" : "string",
        "latitude" : 1,
        "longitude" : 1,
        "mobilePhone" : "string",
        "mobilePhone2" : "string",
        "municipality" : "string",
        "poBox" : "string",
        "poBoxCity" : "string",
        "poBoxZipcode" : "string",
        "privatePhone" : "string",
        "stateId" : 1,
        "workPhone" : "string",
        "zipCode" : "string"
      },
      "mailAddressManagerId" : 1,
      "mailAllowed" : true,
      "middle" : "string",
      "origin" : "string",
      "originId" : "string",
      "owner" : true,
      "ownerGroupId" : 1,
      "ownerId" : 1,
      "ownerPool" : "string",
      "ownerType" : "string",
      "questionnaireUnsubscribed" : true,
      "sendMethodId" : 1,
      "sex" : "string",
      "sharedOwnerShips" : [ {
        "ownerId" : 1,
        "realOwnerId" : 1
      } ],
      "socialSecurityNumber" : "string",
      "socialSecurityNumberIssuingCountryId" : 1,
      "taxNumber" : "string",
      "taxNumberIssuingCountryId" : 1,
      "titleId" : 1
    } ],
    "priority" : 1,
    "purchaseLedgerGroupId" : 1,
    "purchaseLedgerId" : 1,
    "purchaseSecondLedgerId" : 1,
    "reservationDateEnd" : "01-01-2023",
    "reservationDateStart" : "01-01-2023",
    "resort" : [ {
      "contractRuleResortId" : 1,
      "contractruleId" : 1,
      "resortId" : 1
    } ],
    "resourceBeneficiary" : true,
    "resourceId" : 1,
    "resourceType" : "string",
    "resourceTypeSelected" : true,
    "secondLedgerId" : 1,
    "settlementOwnerId" : 1,
    "settlementOwnerResortId" : 1,
    "stayDateFrom" : "01-01-2023",
    "stayDateTo" : "01-01-2023",
    "substractDistributionChannelCommission" : true,
    "substractDistributionChannelIncludingTax" : true,
    "taxSumInCommission" : 1,
    "time" : 1,
    "type" : "string",
    "unit" : "string",
    "validity" : {
      "arrivalDateFrom" : "01-01-2023",
      "arrivalDateTo" : "01-01-2023",
      "departureDateFrom" : "01-01-2023",
      "departureDateTo" : "01-01-2023",
      "distributionChannelIds" : [ "integer" ],
      "ownerIds" : [ "integer" ],
      "reservationCategoryIds" : [ "integer" ],
      "reservationDateFrom" : "01-01-2023",
      "reservationDateTo" : "01-01-2023",
      "resortIds" : [ "integer" ],
      "stayDateFrom" : "01-01-2023",
      "stayDateTo" : "01-01-2023"
    },
    "value" : 1,
    "valueOnStayBasis" : true,
    "vatForPrivateOwner" : true
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.9.5. Gets a page with contract types

GET /maxxton/v1/contracts/types
Description

Gets a Page of Contract Types. The records can be filtered based on contract type object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
contractTypeId:0,
code:String,
remark:String,
settlementMethod:String,
settlementPct:0,
redirectionMinAmount:0,
contractKind:String,
priority:0,
round:true,
ownUsageAllowed:true,
archivedFrom:String(date),
resourceGroupId:0)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching contract Types.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/contracts/types
Example HTTP response
Response 200
{
  "content" : [ {
    "archivedFrom" : "01-01-2023",
    "code" : "string",
    "contractKind" : "string",
    "contractTypeId" : 1,
    "i18n" : [ {
      "contractTypeId" : 1,
      "language" : "string",
      "languageId" : 1,
      "name" : "string"
    } ],
    "nonRentable" : true,
    "ownUsageAllowed" : true,
    "priority" : 1,
    "redirectionMinAmount" : 1,
    "remark" : "string",
    "resourceGroupId" : 1,
    "round" : true,
    "settlementMethod" : "string",
    "settlementPct" : 1,
    "translations" : [ {
      "contractTypeId" : 1,
      "language" : "string",
      "languageId" : 1,
      "name" : "string"
    } ]
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.9.6. updates a Contract

PUT /maxxton/v1/contracts/{contractId}
Description

Updates a Contract associated with the contractId

Parameters
Type Name Description Schema

Body

requestBody
required

Request Body for update contract.

Path

contractId
required

Contract Id to fetch contract.

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching contract.

No Content

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/contracts/{contractId}
Request body
{
  "code" : "string",
  "contractId" : 1,
  "contractTypeId" : 1,
  "endDate" : "01-01-2023",
  "name" : "string",
  "origin" : "string",
  "originId" : "string",
  "ownerId" : 1,
  "poolOwnerId" : 1,
  "rentAssurance" : 1,
  "resourceId" : 1,
  "startDate" : "01-01-2023",
  "targetAmount" : 1,
  "unitId" : 1
}
Example HTTP response
Response 200
{
  "code" : "string",
  "contractId" : 1,
  "contractRenewalReminder" : "01-01-2023",
  "contractTypeId" : 1,
  "endDate" : "01-01-2023",
  "name" : "string",
  "origin" : "string",
  "originId" : "string",
  "ownerId" : 1,
  "poolOwnerId" : 1,
  "rentAssurance" : 1,
  "resourceId" : 1,
  "startDate" : "01-01-2023",
  "targetAmount" : 1,
  "unitId" : 1
}

5.10. Countries

List of countries.

5.10.1. Gets all countries.

GET /maxxton/v1/countries
Description

Gets a list of all countries, records can be filtered based on fields on country object.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
countryId:0,
priority:0)

Responses
Code Description Schema

200

The request is completed successfully without any errors

< Country
> array

500

Error occurred while fetching countries

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/countries
Example HTTP response
Response 200
[ {
  "code" : "string",
  "countryId" : 1,
  "default" : true,
  "defaultLanguageId" : 1,
  "priority" : 1,
  "shortName" : "string",
  "translations" : [ {
    "i18nCountryId" : 1,
    "language" : "string",
    "languageId" : 1,
    "longName" : "string",
    "name" : "string"
  } ]
} ]

5.10.2. Gets all states.

GET /maxxton/v1/countries/states
Description

Gets a page of all states, records can be filtered based on fields on state object.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
stateId:0,
code:String,
countryId:0,
name:String,
description:String)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching countries

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/countries/states
Example HTTP response
Response 200
{
  "content" : [ {
    "code" : "string",
    "countryId" : 1,
    "description" : "string",
    "name" : "string",
    "stateId" : 1
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.11. Currency

List of currencies

5.11.1. Gets a page with currencies

GET /maxxton/v1/currencies
Description

Gets a page with currencies.The records can be filtered based on the currency object.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
currencyId:0,
code:String,
name:String,
symbol:String,
currencyLanguage:String,
currencyCountry:String)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching currencies.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/currencies
Example HTTP response
Response 200
{
  "content" : [ {
    "code" : "string",
    "currencyCountry" : "string",
    "currencyId" : 1,
    "currencyLanguage" : "string",
    "name" : "string",
    "symbol" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.11.2. Gets the details of specific currency

GET /maxxton/v1/currencies/{currencyId}
Description

Gets details of the currency associated with a particular currencyId.

Parameters
Type Name Description Schema

Path

currencyId
required

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching details for specific currency.

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/currencies/{currencyId}
Example HTTP response
Response 200
{
  "code" : "string",
  "currencyCountry" : "string",
  "currencyId" : 1,
  "currencyLanguage" : "string",
  "name" : "string",
  "symbol" : "string"
}

5.12. Customer Status

Statuses given to customers as per customer’s reservation history

5.12.1. Gets customers' status

GET /maxxton/v1/customerstatus
Description

Gets a page with customers' status. The records can be filtered based on customerstatus object and entities in customercluster which is present in customerstatus object. It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
customerId:0)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching customers' status

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/customerstatus
Example HTTP response
Response 200
{
  "content" : [ {
    "customerClusters" : [ {
      "clusterId" : 1,
      "code" : "string",
      "description" : "string",
      "name" : "string",
      "translations" : [ {
        "description" : "string",
        "language" : "string",
        "languageId" : 1,
        "name" : "string"
      } ]
    } ],
    "customerId" : 1
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.13. Customers

Guest who can book reservations

5.13.1. Adds a new Customer

POST /maxxton/v1/customers
Description

Adds a new Customer. The details are to be added in request body.
Note: The country field in mailAddress is not allowed while adding a customer. Email id field in the customer address entity is also used as customer login

Parameters
Type Name Description Schema

Body

requestBody
required

A customer object to be added

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while creating customers

No Content

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/customers
Request body
{
  "alternateName" : "string",
  "bicSwift" : "string",
  "birthDate" : "01-01-2023",
  "companyName" : "string",
  "creationDate" : "01-01-2023T11:23:45Z",
  "customerGroupId" : 1,
  "customerId" : 1,
  "emailAllowed" : true,
  "firstName" : "string",
  "ibanNumber" : "string",
  "language" : "string",
  "languageId" : 1,
  "lastName" : "string",
  "login" : "string",
  "mailAddress" : {
    "accuracy" : "string",
    "address1" : "string",
    "address2" : "string",
    "address3" : "string",
    "addressId" : 1,
    "altContactPerson" : "string",
    "alternateContactPerson" : "string",
    "boxNumber" : "string",
    "city" : "string",
    "country" : {
      "code" : "string",
      "countryId" : 1,
      "default" : true,
      "defaultLanguageId" : 1,
      "priority" : 1,
      "shortName" : "string",
      "translations" : [ {
        "i18nCountryId" : 1,
        "language" : "string",
        "languageId" : 1,
        "longName" : "string",
        "name" : "string"
      } ]
    },
    "countryId" : 1,
    "dateBegin" : "01-01-2023",
    "dateEnd" : "01-01-2023",
    "district" : "string",
    "email" : "string",
    "exposeLocation" : true,
    "fax" : "string",
    "houseNumber" : "string",
    "houseNumberSuffix" : "string",
    "latitude" : 1,
    "longitude" : 1,
    "mobilePhone" : "string",
    "mobilePhone2" : "string",
    "municipality" : "string",
    "poBox" : "string",
    "poBoxCity" : "string",
    "poBoxZipcode" : "string",
    "privatePhone" : "string",
    "stateId" : 1,
    "workPhone" : "string",
    "zipCode" : "string"
  },
  "mailAllowed" : true,
  "middle" : "string",
  "owner" : true,
  "phoneCallAllowed" : true,
  "previousPmsId" : 1,
  "questionnaireUnsubscribed" : true,
  "sex" : "string",
  "signatureDate" : "01-01-2023",
  "socialSecurityNumber" : "string",
  "textMsgAllowed" : true,
  "titleId" : 1
}
Example HTTP response
Response 200
{
  "alternateName" : "string",
  "bicSwift" : "string",
  "birthDate" : "01-01-2023",
  "companyName" : "string",
  "creationDate" : "01-01-2023T11:23:45Z",
  "customerGroupId" : 1,
  "customerId" : 1,
  "emailAllowed" : true,
  "firstName" : "string",
  "ibanNumber" : "string",
  "language" : "string",
  "languageId" : 1,
  "lastName" : "string",
  "login" : "string",
  "mailAddress" : {
    "accuracy" : "string",
    "address1" : "string",
    "address2" : "string",
    "address3" : "string",
    "addressId" : 1,
    "altContactPerson" : "string",
    "alternateContactPerson" : "string",
    "boxNumber" : "string",
    "city" : "string",
    "country" : {
      "code" : "string",
      "countryId" : 1,
      "default" : true,
      "defaultLanguageId" : 1,
      "priority" : 1,
      "shortName" : "string",
      "translations" : [ {
        "i18nCountryId" : 1,
        "language" : "string",
        "languageId" : 1,
        "longName" : "string",
        "name" : "string"
      } ]
    },
    "countryId" : 1,
    "dateBegin" : "01-01-2023",
    "dateEnd" : "01-01-2023",
    "district" : "string",
    "email" : "string",
    "exposeLocation" : true,
    "fax" : "string",
    "houseNumber" : "string",
    "houseNumberSuffix" : "string",
    "latitude" : 1,
    "longitude" : 1,
    "mobilePhone" : "string",
    "mobilePhone2" : "string",
    "municipality" : "string",
    "poBox" : "string",
    "poBoxCity" : "string",
    "poBoxZipcode" : "string",
    "privatePhone" : "string",
    "stateId" : 1,
    "workPhone" : "string",
    "zipCode" : "string"
  },
  "mailAllowed" : true,
  "middle" : "string",
  "owner" : true,
  "phoneCallAllowed" : true,
  "previousPmsId" : 1,
  "questionnaireUnsubscribed" : true,
  "sex" : "string",
  "signatureDate" : "01-01-2023",
  "socialSecurityNumber" : "string",
  "textMsgAllowed" : true,
  "titleId" : 1
}

5.13.2. Authenticate a customer

POST /maxxton/v1/customers/login
Description

Authenticate a customer based on login credentials and return customer details if the customer credentials are authentic.

Parameters
Type Name Description Schema

Body

requestBody
required

Login credentials of the customer to be authenticated.

Responses
Code Description Schema

200

The request is completed successfully without any errors

401

Invalid credentials.

No Content

500

Error occurred while authenticating this customer

No Content

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/customers/login
Request body
{
  "login" : "string",
  "password" : "string"
}
Example HTTP response
Response 200
{
  "alternateName" : "string",
  "bicSwift" : "string",
  "birthDate" : "01-01-2023",
  "companyName" : "string",
  "creationDate" : "01-01-2023T11:23:45Z",
  "customerGroupId" : 1,
  "customerId" : 1,
  "emailAllowed" : true,
  "firstName" : "string",
  "ibanNumber" : "string",
  "language" : "string",
  "languageId" : 1,
  "lastName" : "string",
  "login" : "string",
  "mailAddress" : {
    "accuracy" : "string",
    "address1" : "string",
    "address2" : "string",
    "address3" : "string",
    "addressId" : 1,
    "altContactPerson" : "string",
    "alternateContactPerson" : "string",
    "boxNumber" : "string",
    "city" : "string",
    "country" : {
      "code" : "string",
      "countryId" : 1,
      "default" : true,
      "defaultLanguageId" : 1,
      "priority" : 1,
      "shortName" : "string",
      "translations" : [ {
        "i18nCountryId" : 1,
        "language" : "string",
        "languageId" : 1,
        "longName" : "string",
        "name" : "string"
      } ]
    },
    "countryId" : 1,
    "dateBegin" : "01-01-2023",
    "dateEnd" : "01-01-2023",
    "district" : "string",
    "email" : "string",
    "exposeLocation" : true,
    "fax" : "string",
    "houseNumber" : "string",
    "houseNumberSuffix" : "string",
    "latitude" : 1,
    "longitude" : 1,
    "mobilePhone" : "string",
    "mobilePhone2" : "string",
    "municipality" : "string",
    "poBox" : "string",
    "poBoxCity" : "string",
    "poBoxZipcode" : "string",
    "privatePhone" : "string",
    "stateId" : 1,
    "workPhone" : "string",
    "zipCode" : "string"
  },
  "mailAllowed" : true,
  "middle" : "string",
  "owner" : true,
  "passwordModifiedDate" : "01-01-2023T11:23:45Z",
  "phoneCallAllowed" : true,
  "previousPmsId" : 1,
  "questionnaireUnsubscribed" : true,
  "sex" : "string",
  "signatureDate" : "01-01-2023",
  "socialSecurityNumber" : "string",
  "textMsgAllowed" : true,
  "titleId" : 1
}

5.13.3. Create customer memo

POST /maxxton/v1/customers/{customerId}/memos
Description

Create customer memo

Parameters
Type Name Description Schema

Body

requestBody
required

Request body for customer memo.

Path

customerId
required

Customer id to fetch files associated with the customer

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

401

Invalid credentials.

No Content

500

Error occurred while creating customer memo

No Content

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/customers/{customerId}/memos
Request body
{
  "memoCategoryId" : 1,
  "onCheckin" : true,
  "onInvoice" : true,
  "sensitive" : true,
  "text" : "string"
}
Example HTTP response
Response 200
{
  "content" : "string",
  "creationDate" : "01-01-2023T11:23:45Z",
  "employeeId" : 1,
  "memoCategoryId" : 1,
  "memoId" : 1,
  "predefinedMemoId" : 1
}

5.13.4. Get a single Customer by customer id

GET /maxxton/v1/customers/{customerId}
Description

Gets the details of the customer specified to a particular id passed in the endpoint.

Parameters
Type Name Description Schema

Path

customerId
required

An Id of customer to be fetched

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

404

No customer found for given customer id.

No Content

500

Error occurred while fetching this customer

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/customers/{customerId}
Example HTTP response
Response 200
{
  "alternateName" : "string",
  "bicSwift" : "string",
  "birthDate" : "01-01-2023",
  "companyName" : "string",
  "creationDate" : "01-01-2023T11:23:45Z",
  "customerGroupId" : 1,
  "customerId" : 1,
  "emailAllowed" : true,
  "firstName" : "string",
  "ibanNumber" : "string",
  "language" : "string",
  "languageId" : 1,
  "lastName" : "string",
  "login" : "string",
  "mailAddress" : {
    "accuracy" : "string",
    "address1" : "string",
    "address2" : "string",
    "address3" : "string",
    "addressId" : 1,
    "altContactPerson" : "string",
    "alternateContactPerson" : "string",
    "boxNumber" : "string",
    "city" : "string",
    "country" : {
      "code" : "string",
      "countryId" : 1,
      "default" : true,
      "defaultLanguageId" : 1,
      "priority" : 1,
      "shortName" : "string",
      "translations" : [ {
        "i18nCountryId" : 1,
        "language" : "string",
        "languageId" : 1,
        "longName" : "string",
        "name" : "string"
      } ]
    },
    "countryId" : 1,
    "dateBegin" : "01-01-2023",
    "dateEnd" : "01-01-2023",
    "district" : "string",
    "email" : "string",
    "exposeLocation" : true,
    "fax" : "string",
    "houseNumber" : "string",
    "houseNumberSuffix" : "string",
    "latitude" : 1,
    "longitude" : 1,
    "mobilePhone" : "string",
    "mobilePhone2" : "string",
    "municipality" : "string",
    "poBox" : "string",
    "poBoxCity" : "string",
    "poBoxZipcode" : "string",
    "privatePhone" : "string",
    "stateId" : 1,
    "workPhone" : "string",
    "zipCode" : "string"
  },
  "mailAllowed" : true,
  "middle" : "string",
  "owner" : true,
  "phoneCallAllowed" : true,
  "previousPmsId" : 1,
  "questionnaireUnsubscribed" : true,
  "sex" : "string",
  "signatureDate" : "01-01-2023",
  "socialSecurityNumber" : "string",
  "textMsgAllowed" : true,
  "titleId" : 1
}

5.13.5. Get all customer titles.

GET /maxxton/v1/titles
Description

Get list of all customer titles, records can be filtered based on fields of customer title object.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
titleId:0,
code:String,
priority:0)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching customer titles

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/titles
Example HTTP response
Response 200
{
  "code" : "string",
  "priority" : 1,
  "titleId" : 1,
  "translations" : [ {
    "language" : "string",
    "languageId" : 1,
    "title" : "string"
  } ]
}

5.13.6. Get memos for a specific customer

GET /maxxton/v1/customers/{customerId}/memos
Description

Gets the memos of the customer specified to a particular id passed in the endpoint.The records can be filtered based on memo object. In order to filter creationDate the format of date passed should be: YYYY-MM-DDThh:mm:ss. It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
memoId:0,
employeeId:0,
content:String,
creationDate:String(date),
predefinedMemoId:0)

Path

customerId
required

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

404

No customer found for given customer id.

No Content

500

Error occurred while fetching memo for this customer

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/customers/{customerId}/memos
Example HTTP response
Response 200
{
  "content" : [ {
    "content" : "string",
    "creationDate" : "01-01-2023T11:23:45Z",
    "employeeId" : 1,
    "memoCategoryId" : 1,
    "memoId" : 1,
    "predefinedMemoId" : 1
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.13.7. Get status for a specific customer

GET /maxxton/v1/customers/{customerId}/customerstatus
Description

Gets the status of the customer specified to a particular id passed in the endpoint.

Parameters
Type Name Description Schema

Path

customerId
required

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

404

No customer found for given customer id.

No Content

500

Error occurred while fetching this customer

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/customers/{customerId}/customerstatus
Example HTTP response
Response 200
{
  "customerClusters" : [ {
    "clusterId" : 1,
    "code" : "string",
    "description" : "string",
    "name" : "string",
    "translations" : [ {
      "description" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string"
    } ]
  } ],
  "customerId" : 1
}
GET /maxxton/v1/customers/{customerId}/files/{fileId}
Description

Get the generated hash for specific file which has information related to file

Parameters
Type Name Description Schema

Path

customerId
required

Customer id to fetch files associated with the customer

integer (int64)

Path

fileId
required

file id to fetch a specific file

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

404

No document found for specific file id.

No Content

500

Error occured while generating hash

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/customers/{customerId}/files/{fileId}
Example HTTP response
Response 200
{
  "downloadLink" : "string"
}

5.13.9. Gets a page of customer phone calls

GET /maxxton/v1/customers/phonecalls
Description

Gets a page with customerPhonecalls. The records can be filtered based on customerPhoneCall object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
customerPhoneCallId:0,
type:String,
customerId:0,
employeeId:0,
startTime:String(date),
endTime:String(date),
phoneNumber:String,
memoCategoryId:0,
note:String,
resortId:0)

Query

employeeGroupId
optional

customer phone calls will be returned based on the employeeGroupId

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching customer phone calls

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/customers/phonecalls
Example HTTP response
Response 200
{
  "content" : [ {
    "customerId" : 1,
    "customerPhoneCallId" : 1,
    "employeeId" : 1,
    "endTime" : "01-01-2023T11:23:45Z",
    "memoCategoryId" : 1,
    "note" : "string",
    "phoneNumber" : "string",
    "resortId" : 1,
    "startTime" : "01-01-2023T11:23:45Z",
    "type" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.13.10. Gets all files

GET /maxxton/v1/customers/{customerId}/files
Description

Get a page with files associated with a customer.The records are filtered based on filebase object.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
fileId:0,
name:String,
fileName:String,
fileSize:0,
fileType:String,
uploadDate:String(date),
endDate:String(date),
shortDescription:String,
validFrom:String(date),
validTo:String(date))

Path

customerId
required

Customer id for which the files are to be fetched

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

404

No customer or files found for given customer id.

No Content

500

Error occurred while fetching files

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/customers/{customerId}/files
Example HTTP response
Response 200
{
  "content" : [ {
    "endDate" : "01-01-2023",
    "fileId" : 1,
    "fileName" : "string",
    "fileSize" : 1,
    "fileType" : "string",
    "language" : "string",
    "languageId" : 1,
    "name" : "string",
    "shortDescription" : "string",
    "uploadDate" : "01-01-2023",
    "validFrom" : "01-01-2023",
    "validTo" : "01-01-2023"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.13.11. Gets customers

GET /maxxton/v1/customers
Description

Gets a page with customers. The records can be filtered based on customer object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
customerGroupId:0,
titleId:0,
firstName:String,
middle:String,
lastName:String,
alternateName:String,
emailAllowed:true,
mailAllowed:true,
phoneCallAllowed:true,
textMsgAllowed:true,
signatureDate:String(date),
socialSecurityNumber:String,
sex:String,
languageId:0,
ibanNumber:String,
bicSwift:String,
birthDate:String(date),
companyName:String,
login:String,
previousPmsId:0,
creationDate:String(date))

Query

email
optional

Filter customer’s on email id

string

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching customers

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/customers
Example HTTP response
Response 200
{
  "content" : [ {
    "alternateName" : "string",
    "bicSwift" : "string",
    "birthDate" : "01-01-2023",
    "companyName" : "string",
    "creationDate" : "01-01-2023T11:23:45Z",
    "customerGroupId" : 1,
    "customerId" : 1,
    "emailAllowed" : true,
    "firstName" : "string",
    "ibanNumber" : "string",
    "language" : "string",
    "languageId" : 1,
    "lastName" : "string",
    "login" : "string",
    "mailAddress" : {
      "accuracy" : "string",
      "address1" : "string",
      "address2" : "string",
      "address3" : "string",
      "addressId" : 1,
      "altContactPerson" : "string",
      "alternateContactPerson" : "string",
      "boxNumber" : "string",
      "city" : "string",
      "country" : {
        "code" : "string",
        "countryId" : 1,
        "default" : true,
        "defaultLanguageId" : 1,
        "priority" : 1,
        "shortName" : "string",
        "translations" : [ {
          "i18nCountryId" : 1,
          "language" : "string",
          "languageId" : 1,
          "longName" : "string",
          "name" : "string"
        } ]
      },
      "countryId" : 1,
      "dateBegin" : "01-01-2023",
      "dateEnd" : "01-01-2023",
      "district" : "string",
      "email" : "string",
      "exposeLocation" : true,
      "fax" : "string",
      "houseNumber" : "string",
      "houseNumberSuffix" : "string",
      "latitude" : 1,
      "longitude" : 1,
      "mobilePhone" : "string",
      "mobilePhone2" : "string",
      "municipality" : "string",
      "poBox" : "string",
      "poBoxCity" : "string",
      "poBoxZipcode" : "string",
      "privatePhone" : "string",
      "stateId" : 1,
      "workPhone" : "string",
      "zipCode" : "string"
    },
    "mailAllowed" : true,
    "middle" : "string",
    "owner" : true,
    "phoneCallAllowed" : true,
    "previousPmsId" : 1,
    "questionnaireUnsubscribed" : true,
    "sex" : "string",
    "signatureDate" : "01-01-2023",
    "socialSecurityNumber" : "string",
    "textMsgAllowed" : true,
    "titleId" : 1
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.13.12. Gets history associated with customers

GET /maxxton/v1/customers/{customerId}/communications
Description

Get a page with communication call done with a client associated with a customer on reservation basis.The records are filtered based on communication object.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
customerCommunicationId:0,
sendDate:String(date),
sendingType:String,
reservationId:0,
message:String,
senderEmail:String,
subject:String)

Path

customerId
required

Customer id for which the communication calls are to be fetched

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

404

No customer or customer communication found for given customer id.

No Content

500

Error occurred while fetching customer communication calls

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/customers/{customerId}/communications
Example HTTP response
Response 200
{
  "content" : [ {
    "attachments" : [ {
      "endDate" : "01-01-2023T11:23:45Z",
      "fileId" : 1,
      "fileName" : "string",
      "fileSize" : 1,
      "fileType" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "shortDescription" : "string",
      "uploadDate" : "01-01-2023T11:23:45Z",
      "validFrom" : "01-01-2023T11:23:45Z",
      "validTo" : "01-01-2023T11:23:45Z"
    } ],
    "customerCommunicationId" : 1,
    "message" : "string",
    "report" : {
      "reportCode" : "string"
    },
    "reportCode" : "string",
    "reportType" : "string",
    "reportUrl" : [ {
      "reportType" : "string"
    } ],
    "reportUrls" : [ {
      "reportType" : "string"
    } ],
    "reservationId" : 1,
    "sendDate" : "01-01-2023T11:23:45Z",
    "senderEmail" : "string",
    "sendingType" : "string",
    "staticAttachments" : [ {
      "endDate" : "01-01-2023T11:23:45Z",
      "fileId" : 1,
      "fileName" : "string",
      "fileSize" : 1,
      "fileType" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "shortDescription" : "string",
      "uploadDate" : "01-01-2023T11:23:45Z",
      "validFrom" : "01-01-2023T11:23:45Z",
      "validTo" : "01-01-2023T11:23:45Z"
    } ],
    "subject" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.13.13. Update customer details

PUT /maxxton/v1/customers/{customerId}
Description

Update an existing customer based on given details.
Note: Some of the fields of customer entity are restricted fields based on access rights. So, such fields data will be masked as \* in GET customer endpoints, if your login client id doesn’t have access to those fields. The fields which are not masked in the response to GET customer endpoints, could only can be modified using this endpoint.

Parameters
Type Name Description Schema

Body

requestBody
required

Request body to specify the modifications needed for a customer.

Path

customerId
required

Customer id to fetch files associated with the customer

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

404

No customer found for given customer id.

No Content

500

Error occurred while updating details for this customer

No Content

Consumes
  • application/json

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/customers/{customerId}
Request body
{
  "alternateName" : "string",
  "bicSwift" : "string",
  "birthDate" : "01-01-2023",
  "emailAllowed" : true,
  "firstName" : "string",
  "ibanNumber" : "string",
  "language" : "string",
  "lastName" : "string",
  "mailAddress" : {
    "address1" : "string",
    "address2" : "string",
    "address3" : "string",
    "boxNumber" : "string",
    "city" : "string",
    "countryCode" : "string",
    "district" : "string",
    "email" : "string",
    "houseNumber" : "string",
    "houseNumberSuffix" : "string",
    "latitude" : 1,
    "longitude" : 1,
    "mobilePhone" : "string",
    "mobilePhone2" : "string",
    "municipality" : "string",
    "poBox" : "string",
    "poBoxCity" : "string",
    "poBoxZipcode" : "string",
    "privatePhone" : "string",
    "stateId" : 1,
    "workPhone" : "string",
    "zipCode" : "string"
  },
  "mailAllowed" : true,
  "middle" : "string",
  "phoneCallAllowed" : true,
  "sex" : "string",
  "textMsgAllowed" : true,
  "titleId" : 1
}
Example HTTP response
Response 200
{
  "alternateName" : "string",
  "bicSwift" : "string",
  "birthDate" : "01-01-2023",
  "companyName" : "string",
  "creationDate" : "01-01-2023T11:23:45Z",
  "customerGroupId" : 1,
  "customerId" : 1,
  "emailAllowed" : true,
  "firstName" : "string",
  "ibanNumber" : "string",
  "language" : "string",
  "languageId" : 1,
  "lastName" : "string",
  "login" : "string",
  "mailAddress" : {
    "accuracy" : "string",
    "address1" : "string",
    "address2" : "string",
    "address3" : "string",
    "addressId" : 1,
    "altContactPerson" : "string",
    "alternateContactPerson" : "string",
    "boxNumber" : "string",
    "city" : "string",
    "country" : {
      "code" : "string",
      "countryId" : 1,
      "default" : true,
      "defaultLanguageId" : 1,
      "priority" : 1,
      "shortName" : "string",
      "translations" : [ {
        "i18nCountryId" : 1,
        "language" : "string",
        "languageId" : 1,
        "longName" : "string",
        "name" : "string"
      } ]
    },
    "countryId" : 1,
    "dateBegin" : "01-01-2023",
    "dateEnd" : "01-01-2023",
    "district" : "string",
    "email" : "string",
    "exposeLocation" : true,
    "fax" : "string",
    "houseNumber" : "string",
    "houseNumberSuffix" : "string",
    "latitude" : 1,
    "longitude" : 1,
    "mobilePhone" : "string",
    "mobilePhone2" : "string",
    "municipality" : "string",
    "poBox" : "string",
    "poBoxCity" : "string",
    "poBoxZipcode" : "string",
    "privatePhone" : "string",
    "stateId" : 1,
    "workPhone" : "string",
    "zipCode" : "string"
  },
  "mailAllowed" : true,
  "middle" : "string",
  "owner" : true,
  "phoneCallAllowed" : true,
  "previousPmsId" : 1,
  "questionnaireUnsubscribed" : true,
  "sex" : "string",
  "signatureDate" : "01-01-2023",
  "socialSecurityNumber" : "string",
  "textMsgAllowed" : true,
  "titleId" : 1
}

5.13.14. retrieve Customer balance

GET /maxxton/v1/customers/{customerId}/loyalty
Description

Gets the balance of the customer specified to a particular id passed in the endpoint.

Parameters
Type Name Description Schema

Path

customerId
required

Customer id for which the Customer Loyalty balance to be fetched

integer (int64)

Query

returnTransaction
required

Transaction will be return if this is true.

boolean

Responses
Code Description Schema

200

The request is completed successfully without any errors

404

No customer found for given customer id.

No Content

500

Error occurred while fetching this customer

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/customers/{customerId}/loyalty
Example HTTP response
Response 200
{
  "activePoints" : 1,
  "customerId" : 1,
  "expiredPoints" : 1,
  "pendingPoints" : 1,
  "spentPoints" : 1,
  "transactions" : [ {
    "activationDate" : "01-01-2023",
    "customerId" : 1,
    "employeeId" : 1,
    "expirationDate" : "01-01-2023",
    "originalPoints" : 1,
    "remainingPoints" : 1,
    "remark" : "string",
    "reservationId" : 1,
    "reservedResourceId" : 1,
    "transactionDate" : "01-01-2023T11:23:45Z",
    "transactionId" : 1,
    "transactionType" : "string"
  } ]
}

5.13.15. retrieve loyalty transactions

GET /maxxton/v1/customers/loyalty/transactions
Description

Gets the loyalty transactions. The records can be filtered based on the Transaction object. It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
transactionId:0,
transactionType:String,
transactionDate:String(date),
activationDate:String(date),
expirationDate:String(date),
reservationId:0,
originalPoints:0,
remainingPoints:0,
remark:String,
employeeId:0,
customerId:0,
reservedResourceId:0)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching customer loyalty transaction

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/customers/loyalty/transactions
Example HTTP response
Response 200
{
  "content" : [ {
    "activationDate" : "01-01-2023",
    "customerId" : 1,
    "employeeId" : 1,
    "expirationDate" : "01-01-2023",
    "originalPoints" : 1,
    "remainingPoints" : 1,
    "remark" : "string",
    "reservationId" : 1,
    "reservedResourceId" : 1,
    "transactionDate" : "01-01-2023T11:23:45Z",
    "transactionId" : 1,
    "transactionType" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.13.16. updates the customer credentials

PUT /maxxton/v1/customers/{customerId}/credentials
Description

This endpoint can update password of a customer in Maxxton based on the customerId and the login field. The /maxxton/v1/customers/login can be used to check if this login is correct and can be used to authenticate a user in an external system. There is no user session management available. The password can be changed in this call. The password can not be fetched from the API because of security reasons. In case the password field is kept empty the existing value will be kept.

Parameters
Type Name Description Schema

Body

requestBody
required

Login credentials of the customer to be updated.

Path

customerId
required

Customer id to fetch files associated with the customer

integer (int64)

Responses
Code Description Schema

204

The request is completed successfully without any errors

No Content

500

Error occurred while updating this customer credentials

No Content

Consumes
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/customers/{customerId}/credentials
Request body
{
  "login" : "string",
  "password" : "string"
}

5.14. DistributionChannels

Channel through which reservations can be booked

5.14.1. Gets a page of resorts

GET /maxxton/v1/distributionchannels/{distributionChannelId}/resorts
Description

This endpoint returns the resorts applicable to specific distribution channel.

Parameters
Type Name Description Schema

Path

distributionChannelId
required

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

500

Error occurred while fetching the resorts

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/distributionchannels/{distributionChannelId}/resorts
Example HTTP response
Response 200
{
  "content" : [ {
    "archivedFrom" : "01-01-2023",
    "code" : "string",
    "i18n" : [ {
      "description" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "shortDescription" : "string"
    } ],
    "parentId" : 1,
    "resortId" : 1,
    "translations" : [ {
      "description" : "string",
      "language" : "string",
      "languageId" : 1,
      "name" : "string",
      "shortDescription" : "string"
    } ]
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.14.2. Gets a page with distribution channels

GET /maxxton/v1/distributionchannels
Description

Get a page with distribution channels. The records can be filtered based on distribution channel object.It also supports pageable.

Parameters
Type Name Description Schema

Query

filter
optional

Following fields can be used for filtering response.
For more information, check: Filtering

enum (
distributionChannelId:0,
code:String,
name:String,
representationSetParentId:0,
allotmentOnly:true,
activeStartDate:String(date),
activeEndDate:String(date),
type:String,
parentId:0,
resellerId:0,
showAgentBill:0,
brandId:0,
currencyId:0,
archivedFrom:String(date),
allotmentSetting:String)

Responses
Code Description Schema

200

The request is completed successfully without any errors

204

No distributionChannels found for given criteria.

No Content

500

Error occurred while fetching these distributionChannels

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/distributionchannels
Example HTTP response
Response 200
{
  "content" : [ {
    "activeEndDate" : "01-01-2023",
    "activeStartDate" : "01-01-2023",
    "allotmentOnly" : true,
    "allotmentSetting" : "string",
    "archivedFrom" : "01-01-2023",
    "brand" : "string",
    "brandId" : 1,
    "code" : "string",
    "communicationPermission" : "string",
    "currencyCode" : "string",
    "currencyId" : 1,
    "customerRequiredFieldsSetId" : 1,
    "distributionChannelId" : 1,
    "inheritedType" : "string",
    "invoiceAddress" : {
      "address1" : "string",
      "address2" : "string",
      "address3" : "string",
      "alternateContactPerson" : "string",
      "boxNumber" : "string",
      "city" : "string",
      "country" : {
        "code" : "string",
        "countryId" : 1,
        "default" : true,
        "translations" : [ {
          "i18nCountryId" : 1,
          "language" : "string",
          "languageId" : 1,
          "longName" : "string",
          "name" : "string"
        } ]
      },
      "countryId" : 1,
      "district" : "string",
      "email" : "string",
      "exposeLocation" : true,
      "fax" : "string",
      "houseNumber" : "string",
      "houseNumberSuffix" : "string",
      "latitude" : 1,
      "longitude" : 1,
      "mobilePhone" : "string",
      "mobilePhone2" : "string",
      "municipality" : "string",
      "poBox" : "string",
      "poBoxCity" : "string",
      "poBoxZipcode" : "string",
      "privatePhone" : "string",
      "workPhone" : "string",
      "zipCode" : "string"
    },
    "invoiceaddressManagerId" : 1,
    "mailAddress" : {
      "address1" : "string",
      "address2" : "string",
      "address3" : "string",
      "alternateContactPerson" : "string",
      "boxNumber" : "string",
      "city" : "string",
      "country" : {
        "code" : "string",
        "countryId" : 1,
        "default" : true,
        "translations" : [ {
          "i18nCountryId" : 1,
          "language" : "string",
          "languageId" : 1,
          "longName" : "string",
          "name" : "string"
        } ]
      },
      "countryId" : 1,
      "district" : "string",
      "email" : "string",
      "exposeLocation" : true,
      "fax" : "string",
      "houseNumber" : "string",
      "houseNumberSuffix" : "string",
      "latitude" : 1,
      "longitude" : 1,
      "mobilePhone" : "string",
      "mobilePhone2" : "string",
      "municipality" : "string",
      "poBox" : "string",
      "poBoxCity" : "string",
      "poBoxZipcode" : "string",
      "privatePhone" : "string",
      "workPhone" : "string",
      "zipCode" : "string"
    },
    "mailAddressManagerId" : 1,
    "name" : "string",
    "parentId" : 1,
    "representationSetParentId" : 1,
    "resellerId" : 1,
    "showAgentBill" : 1,
    "type" : "string"
  } ],
  "empty" : true,
  "first" : true,
  "last" : true,
  "number" : 1,
  "numberOfElements" : 1,
  "size" : 1,
  "sort" : {
    "empty" : true,
    "sorted" : true,
    "unsorted" : true
  },
  "totalElements" : 1,
  "totalPages" : 1
}

5.14.3. Gets a single distributionChannel

GET /maxxton/v1/distributionchannels/{distributionChannelId}
Description

This endpoint returns the specific distribution channel including mail, invoice address and currency.

Parameters
Type Name Description Schema

Path

distributionChannelId
required

integer (int64)

Responses
Code Description Schema

200

The request is completed successfully without any errors

404

No distributionChannel found for given distributionChannel id.

No Content

500

Error occurred while fetching this distributionChannel

No Content

Produces
  • application/json

Security
Type Name

oauth2

oAuth2

Example HTTP request
Request path
/maxxton/v1/distributionchannels/{distributionChannelId}