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.1. Version information
Version :1.0
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.
0
Free
per1.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 |
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 |
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.
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.
-
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.
-
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.
-
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.
-
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.
-
-
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.
-
-
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.
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
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
-
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.
-
Concept
In the webhooks the following 3 concepts are available:
-
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. -
Events:
The event triggering the webhook(eg. a change in reservation status) -
Data:
The actual data structure(data fields) added to the webhook request
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:-
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
-
The webhook engine is triggered and in case the change meets the configured events the webhook will initiate a request.
-
For every change the configured data is fetched from the REST API. After that, the webhook container including all data is created
-
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
-
The webhook container including all data is pushed to the external URL configured in the webhook
-
The receiving(webhook subscriber) system can process the data further.
-
-
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 ..... } }
-
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.
-
-
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
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
Reservation
Distribution Channel
1
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 .. *
Reservation
Infotexts
0 .. *
Reservation
Memos
0 .. *
Reservation
Payments
0 .. *
Reservation
Preferences
0 .. *
Reservation
Subjects
0 .. *
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
-
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 -
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=
-
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.
-
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:
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:
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 |
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
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 |
Resource id for which rentability will be added for accommodation type |
integer (int64) |
Body |
requestBody |
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
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 |
The basePrice and totalPrice without the warrant costs bill will be returned when the value is set to true |
boolean |
Path |
resourceId |
resourceId of accommodation type for which the total price needs to be calculated |
integer (int64) |
Body |
requestBody |
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
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 |
resourceId of accommodation for which representations are to be created |
integer (int64) |
Body |
requestBody |
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
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 |
resourceId of accommodation type for which the budget needs to be created |
integer (int64) |
Body |
requestBody |
< ResourceBudgetRequest |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Responses
Code | Description | Schema |
---|---|---|
200 |
The request is completed successfully without any errors |
|
500 |
Error occurred while fetching AccommodationKind. |
No Content |
Produces
-
application/json
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
resourceId |
resourceId to fetch capacities |
integer (int64) |
Query |
returnWorkOrderTypes |
boolean |
Responses
Code | Description | Schema |
---|---|---|
200 |
The request is completed successfully without any errors |
< Capacity |
500 |
Error occurred while fetching capacities for AccommodationType. |
No Content |
Produces
-
application/json
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 |
integer (int32) |
|
Query |
includeAllPrices |
boolean |
|
Query |
rateTypeId |
integer (int64) |
|
Query |
resourceId |
integer (int64) |
|
Query |
offerCode |
string |
|
Query |
resortId |
integer (int64) |
|
Query |
arrivalDateFrom |
string (date) |
|
Query |
offerId |
integer (int64) |
|
Query |
distributionChannelId |
integer (int64) |
|
Query |
arrivalDateTo |
string (date) |
|
Query |
includeHiddenOffers |
boolean |
Responses
Code | Description | Schema |
---|---|---|
200 |
The request is completed successfully without any errors |
< ResourceAvailability |
500 |
Error occurred while fetching availability of resource |
No Content |
Produces
-
/
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
resourceId |
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
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 |
Following fields can be used for filtering response. |
enum ( |
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
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 |
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 |
Produces
-
/
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
resourceId |
Resource id for which locks are to be fetched |
integer (int64) |
Query |
unitId |
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
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 |
The identifier of the ResourceId to fetch resource occupancy |
integer (int64) |
Query |
endDate |
The identifier of the EndDate to fetch resource occupancy |
string (date) |
Query |
startDate |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
resourceId |
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
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 |
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
Produces
-
/
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 |
Following fields can be used for filtering response. |
enum ( |
Query |
endDate |
Date to filter records based on end date. Date should be added using ISO 8601 standard(yyyy-MM-dd). |
string (date) |
Query |
returnWorkOrderTypes |
boolean |
|
Query |
brand |
brand to filter records based on brand. |
string |
Query |
returnSections |
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 |
Date to filter records based on start date. Date should be added using ISO 8601 standard(yyyy-MM-dd). |
string (date) |
Query |
resourceIds |
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
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 |
resourceId to fetch accommodationtypedetail |
integer (int64) |
Query |
endDate |
Date to filter records based on end date. Date should be added using ISO 8601 standard(yyyy-MM-dd). |
string (date) |
Query |
returnWorkOrderTypes |
boolean |
|
Query |
returnSections |
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 |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
resourceId |
resourceId of accommodation for which additions are to be fetched |
integer (int64) |
Query |
type |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
resourceId |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Query |
type |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
resourceId |
Resource id for which Rates are to be fetched |
integer (int64) |
Query |
rateTypeIds |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Query |
countryCode |
Country code to filter accommodation types. |
string |
Query |
returnWorkOrderTypes |
boolean |
|
Query |
brand |
brand to filter records based on brand. |
string |
Query |
resourceIds |
< 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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
resourceId |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
resourceId |
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
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
}
5.1.25. Gets amenity links page
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 |
Following fields can be used for filtering response. |
enum ( |
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
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
}
5.1.26. Gets amenity links page for a resource
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
resourceId |
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
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 |
Resource id to fetch accommodationtype |
integer (int64) |
Query |
returnWorkOrderTypes |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
resourceId |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Responses
Code | Description | Schema |
---|---|---|
200 |
The request is completed successfully without any errors |
|
500 |
Error occurred while fetching cost prices |
No Content |
Produces
-
/
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
resourceId |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
resourceId |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
resourceId |
Resource id for which implies are to be fetched |
integer (int64) |
Query |
parentImplies |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
resourceId |
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
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 |
distributionChannelCode for which addons are to be fetched |
string |
Query |
resourceId |
Resource id for which addons are to be fetched |
integer (int64) |
Query |
reservationCategoryCode |
reservationCategoryCode for which addons are to be fetched. |
string |
Responses
Code | Description | Schema |
---|---|---|
200 |
The request is completed successfully without any errors |
< AccommodationTypePreference |
500 |
Error occurred while fetching preference fee. |
No Content |
Produces
-
/
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 |
Following fields can be used for filtering response. |
enum ( |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
resourceId |
resourceId for which target amount are to be fetched. |
integer (int64) |
Path |
accommodationtypePriorityId |
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
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 |
distributionChannelCode for which addons are to be fetched |
string |
Query |
resourceId |
Resource id for which addons are to be fetched |
integer (int64) |
Query |
advancedCalculation |
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. |
boolean |
Query |
reservationCategoryCode |
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 |
Produces
-
/
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 |
DistributionChannelCode for which implies are to be fetched |
string |
Query |
resourceId |
Resource id for which implies are to be fetched |
integer (int64) |
Query |
advancedCalculation |
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. |
boolean |
Query |
reservationCategoryCode |
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 |
Produces
-
/
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
resourceId |
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
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 |
Resource id for which resource rate will inserted |
integer (int64) |
Body |
requestBody |
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
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:
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
requestBody |
||
Query |
defaultSelection |
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 |
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 |
|
No Content |
500 |
Error occurred while fetching accommodationTypes |
No Content |
Consumes
-
application/json
Produces
-
application/json
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 |
resourceId to fetch accommodationtypedetail |
integer (int64) |
Body |
requestBody |
< DynamicFieldDataCriteria |
|
Path |
fieldId |
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
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 |
Resource id to update accommodationtype |
integer (int64) |
Body |
requestBody |
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
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 |
Following fields can be used for filtering response. |
enum ( |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
additionResourceId |
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
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 |
Following fields can be used for filtering response. |
enum ( |
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
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 |
Following fields can be used for filtering response. |
enum ( |
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
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 |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
resourceId |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
resourceId |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
resourceId |
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
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 |
resourceId to update or insert dynamic field |
integer (int64) |
Body |
requestBody |
< DynamicFieldDataCriteria |
|
Path |
fieldId |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
adminOrganisationId |
Id of the admin organisation for which revenue distribution journals has to be fetched |
integer (int64) |
Path |
revenueDistributionId |
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
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 |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
adminOrganisationId |
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
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 |
Following fields can be used for filtering response. |
enum ( |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
adminOrganisationId |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
adminOrganisationId |
Id of the admin organisation for which financial transactions journals report has to be fetched |
integer (int64) |
Path |
financialTransactionReportId |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
adminOrganisationId |
Id of the admin organisation for which owner financial transactions journals report has to be fetched |
integer (int64) |
Path |
ownerFinancialTransactionReportId |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
adminOrganisationId |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
adminOrganisationId |
Id of the admin organisation for which owner financial transactions journals report has to be fetched |
integer (int64) |
Path |
ownerFinancialTransactionReportId |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
adminOrganisationId |
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
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 |
integer (int64) |
|
Body |
requestBody |
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
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 |
Id of the admin organisation for which revenue distribution has to be updated |
integer (int64) |
Body |
requestBody |
Body to update revenue distribution |
|
Path |
revenueDistributionId |
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
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 |
Id of the admin organisation for which owner financial transactions has to be updated |
integer (int64) |
Path |
ownerFinancialTransactionId |
Id of the owner financial transaction for which owner financial transactions has to be updated |
integer (int64) |
Body |
requestBody |
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
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 |
Id of the admin organisation for which financial transactions has to be fetched |
integer (int64) |
Path |
financialTransactionReportId |
Financial transaction report id for which financial transactions has to be fetched |
integer (int64) |
Body |
requestBody |
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
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 |
Following fields can be used for filtering response. |
enum ( |
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
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 |
Following fields can be used for filtering response. |
enum ( |
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
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 |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Responses
Code | Description | Schema |
---|---|---|
200 |
The request is completed successfully without any errors |
|
500 |
Error occurred while fetching Amenities. |
No Content |
Produces
-
application/json
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 |
Following fields can be used for filtering response. |
enum ( |
Query |
returnSections |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Query |
returnSections |
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
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 |
GrantType which is used to authenticate (client_credentials etc) |
string |
Query |
scope |
scope of authorization.Contains a concern parameter to make it compatible with oauth2 standard. |
string |
Query |
client_secret |
This is the API key provided by Maxxton as part of API credentials. |
string |
Query |
client_id |
This is the maxxton login name provided by Maxxton as part of API credentials. |
string |
Query |
concern |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Responses
Code | Description | Schema |
---|---|---|
200 |
The request is completed successfully without any errors |
|
500 |
Error occurred while fetching brands. |
No Content |
Produces
-
application/json
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 |
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
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 |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Responses
Code | Description | Schema |
---|---|---|
200 |
The request is completed successfully without any errors |
|
500 |
Error occurred while fetching cashaccount |
No Content |
Produces
-
application/json
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 |
Following fields can be used for filtering response. |
enum ( |
Responses
Code | Description | Schema |
---|---|---|
200 |
The request is completed successfully without any errors |
|
500 |
Error occurred while fetching cashclearance |
No Content |
Produces
-
application/json
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 |
Following fields can be used for filtering response. |
enum ( |
Responses
Code | Description | Schema |
---|---|---|
200 |
The request is completed successfully without any errors |
|
500 |
Error occurred while fetching companies |
No Content |
Produces
-
application/json
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 |
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
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 |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Responses
Code | Description | Schema |
---|---|---|
200 |
The request is completed successfully without any errors |
|
500 |
Error occurred while fetching contracts. |
No Content |
Produces
-
application/json
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 |
Following fields can be used for filtering response. |
enum ( |
Responses
Code | Description | Schema |
---|---|---|
200 |
The request is completed successfully without any errors |
|
500 |
Error occurred while fetching contract Rules. |
No Content |
Produces
-
/
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 |
Following fields can be used for filtering response. |
enum ( |
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
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 |
Request Body for update contract. |
|
Path |
contractId |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Responses
Code | Description | Schema |
---|---|---|
200 |
The request is completed successfully without any errors |
< Country |
500 |
Error occurred while fetching countries |
No Content |
Produces
-
application/json
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 |
Following fields can be used for filtering response. |
enum ( |
Responses
Code | Description | Schema |
---|---|---|
200 |
The request is completed successfully without any errors |
|
500 |
Error occurred while fetching countries |
No Content |
Produces
-
application/json
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 |
Following fields can be used for filtering response. |
enum ( |
Responses
Code | Description | Schema |
---|---|---|
200 |
The request is completed successfully without any errors |
|
500 |
Error occurred while fetching currencies. |
No Content |
Produces
-
application/json
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 |
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
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 |
Following fields can be used for filtering response. |
enum ( |
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
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 |
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
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 |
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
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 |
Request body for customer memo. |
|
Path |
customerId |
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
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 |
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
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 |
Following fields can be used for filtering response. |
enum ( |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
customerId |
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
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 |
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
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
}
5.13.8. Get the generated hash and provides link
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 |
Customer id to fetch files associated with the customer |
integer (int64) |
Path |
fileId |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Query |
employeeGroupId |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
customerId |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Query |
email |
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
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 |
Following fields can be used for filtering response. |
enum ( |
Path |
customerId |
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
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 |
Request body to specify the modifications needed for a customer. |
|
Path |
customerId |
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
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 |
Customer id for which the Customer Loyalty balance to be fetched |
integer (int64) |
Query |
returnTransaction |
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
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 |
Following fields can be used for filtering response. |
enum ( |
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
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 |
Login credentials of the customer to be updated. |
|
Path |
customerId |
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
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 |
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
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 |
Following fields can be used for filtering response. |
enum ( |
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
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 |
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
Example HTTP request
Request path
/maxxton/v1/distributionchannels/{distributionChannelId}