Create a direct booking
create_bookingCreate a hotel reservation at Hotel Bergsonne Allgäu. Call search_availability and get_price_quote for the same dates and room first: a stay that cannot be priced is rejected with NOT_AVAILABLE or INVALID_RATE, never confirmed at 0.00 EUR. roomId must be a room type abbreviation code from search_availability results (e.g. KAPDZ, KDZ, KFZ, SDZ). Requires dates, guest count, and complete customer details (name, email, phone, country). City tax (Kurtaxe) is already included in rates — do not add it. Optional addons use addonId from get_addons catalog. Set test: true for a sandbox dry run that validates everything without creating a reservation. Payment is requested after the booking was submitted via a secure payment link and is due no later than 7 days before arrival; cash is not accepted.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| test | No | Sandbox dry run. When true, all validations (availability, rate, guest data) run and nothing is reserved, no payment link is sent. | |
| addons | No | Optional add-on extras. Use addonId from get_addons catalog. Prices are resolved server-side. | |
| adults | Yes | Number of adults (>= 1) | |
| rateId | Yes | Rate ID from availability results | |
| roomId | Yes | Room type abbreviation code from search_availability results (e.g. KAPDZ, KDZ, KFZ, SDZ) | |
| checkIn | Yes | Arrival date | |
| checkOut | Yes | Departure date | |
| children | No | Number of children (default 0) | |
| customer | Yes | Booker details | |
| idempotencyKey | No | Client-generated key. Retrying with the same key returns the original result instead of creating a second reservation. | |
| additionalGuests | No | Additional guest names |