Pre-Register Reservation

4 min. readlast update: 12.05.2024

Pre-Register Reservation Endpoint

Overview

The Pre-Register Reservation endpoint allows clients to create a pre-booking for a reservation. This can include setting up guest details, selecting booking dates, and configuring extra services or options. Using this endpoint, the system will reserve the specified accommodation details temporarily, returning pricing and unit information.

Endpoint

POST /api/pre-register-reservation

Request Body Parameters

The request payload requires details about the booking, including the accommodation unit, guest information, stay dates, and any optional services. The model for the request is structured as follows:

BookingModel Fields

Field Type Required Description
transactionId string No Unique identifier for the transaction. If omitted, a new transaction ID will be generated.
houseID integer Yes ID of the house to be booked.
startDate string Yes Start date of the booking in ISO 8601 format.
endDate string Yes End date of the booking in ISO 8601 format.
child0002 integer No Number of children aged 0-2 years.
child0304 integer No Number of children aged 3-4 years.
child0512 integer No Number of children aged 5-12 years.
child1317 integer No Number of children aged 13-17 years.
adults integer No Number of adults.
animalNr integer No Number of animals/pets.
countryCode string No Country code of the guest.
language string No Preferred language for communication. Options: ENDENL, etc.
firstname string No Guest’s first name.
insertion string No Additional name insertion (if applicable).
lastName string Yes Guest’s last name.
address string Yes Address of the guest.
houseNr string Yes House number of the address.
zipCode string Yes Postal code of the address.
city string Yes City of the address.
email string Yes Email of the guest.
phoneNumber string Yes Phone number of the guest.
mobilePhone string No Mobile phone number of the guest.
faxNumber string No Fax number of the guest.
birthDate string Yes Birthdate of the guest in ISO 8601 format.
cancelInsurance boolean No Indicates if cancellation insurance is selected.
extraStruct Array[BookingExtraStruct] No List of extra services or options.
remark string No Additional remarks for the booking.
gender string No Gender of the guest. Options: MFC.
houseUnitId integer No Specific unit ID within the house (if applicable).
voucherCode string No Promotional or discount voucher code.
reasonOfStay integer No Reason code for the stay (e.g., business, leisure).

BookingExtraStruct

Field Type Required Description
extraId integer No ID of the extra service.
extraNumber integer No Quantity of the extra service.
extraDays integer No Number of days for the extra service.
days Array[string] No Specific dates for the extra service in ISO 8601 format.

Response Body Parameters

Upon success, the endpoint returns details about the pre-booking, including pricing and payment options.

PreBookingResult Fields

Field Type Description
transactionId string The unique transaction ID for the pre-booking.
priceSpecifications Array[PriceItemSpecification] List of pricing details, broken down by item or service.
paymentBookingType string Type of booking payment. Options: NormalEarlyBookingLastMinute.
fullPayAmount number Total amount to pay for the booking.
firstPayAmount number Initial deposit required.
cancellationFundPossible boolean Indicates if a cancellation fund is available.
cancellationFund number Amount for cancellation coverage, if applicable.
houseUnits Array[HouseUnitInfo] Information about available units for this booking.

PriceItemSpecification

Field Type Description
itemName string Name of the item/service.
itemValue string Value or cost of the item/service.
extrainfo string Additional information about the item/service.
group string Payment group. Options: PayInAdvanceDepositPayAtLocationTotal.
isHeader boolean Indicates if this is a header item.
itemType string Type of item. Options: NormalDiscount.

HouseUnitInfo

Field Type Description
id integer ID of the house unit.
allowPets boolean Indicates if pets are allowed.
number string Unit number within the house.
preferenceIds Array[integer] IDs of specific preferences for the unit.

Example Request

{
  "transactionId": "string",
  "houseID": 123,
  "startDate": "2024-11-14T21:02:25.069Z",
  "endDate": "2024-11-20T21:02:25.069Z",
  "adults": 2,
  "countryCode": "NL",
  "language": "EN",
  "firstname": "John",
  "lastName": "Doe",
  "address": "Main Street",
  "houseNr": "10",
  "zipCode": "12345",
  "city": "Amsterdam",
  "email": "john.doe@example.com",
  "phoneNumber": "+123456789",
  "birthDate": "1985-07-20T21:02:25.069Z"
}

Example Response

{
  "transactionId": "string",
  "priceSpecifications": [
    {
      "itemName": "Accommodation",
      "itemValue": "300",
      "extrainfo": "Special offer",
      "group": "Total",
      "isHeader": true,
      "itemType": "Normal"
    }
  ],
  "paymentBookingType": "Normal",
  "fullPayAmount": 300,
  "firstPayAmount": 100,
  "cancellationFundPossible": true,
  "cancellationFund": 10,
  "houseUnits": [
    {
      "id": 1,
      "allowPets": true,
      "number": "101",
      "preferenceIds": [5, 7]
    }
  ]
}

Error Handling

  • 400 Bad Request: Invalid input data (e.g., missing required fields).
  • 404 Not Found: House or unit ID does not exist.
  • 500 Internal Server Error: Server error occurred.
Was this article helpful?