Hotel Bergsonne Allgäu Bookings API
The Bookings API from Hotel Bergsonne Allgäu — 1 operation(s) for bookings.
The Bookings API from Hotel Bergsonne Allgäu — 1 operation(s) for bookings.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/bergsonne-allgaeu-de:bergsonne-allgaeu-de-bookings-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Bergsonne Allgaeu De Bookings API
version: 1.3.0
contact:
name: Hotel Bergsonne Allgäu
url: https://bergsonne-allgaeu.de
email: servus@bergsonne-allgaeu.de
description: 'Operations tagged Bookings across 2 of this provider''s published API definitions: bergsonne-allgaeu-de-openapi.json, bergsonne-allgaeu-de-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://bergsonne-allgaeu.de/api/booking
description: Production Booking API
- url: https://bergsonne-allgaeu.de/api/booking/sandbox
description: 'Sandbox — separate base URL, identical paths and payloads. Test mode is forced server-side: full validation and pricing, no real reservation, bookingId is prefixed with TEST-. No credentials required.'
x-sandbox: true
security:
- {}
- oauth2:
- hotel:read
- booking:read
- agentBearer:
- hotel:read
- booking:read
tags:
- name: Bookings
paths:
/bookings:
post:
operationId: createBooking
summary: Create a hotel reservation
description: 'Creates a real reservation at Hotel Bergsonne Allgäu. Requires user confirmation. Add test:true to the body for sandbox mode (no real reservation created). To prevent duplicate bookings on retries, send an idempotency key either as the Idempotency-Key request header (preferred, header wins) or as idempotencyKey in the body; a repeated key returns the original booking with status already_created. Call via: POST /?action=bookings'
parameters:
- name: action
in: query
required: true
schema:
type: string
const: bookings
- name: Idempotency-Key
in: header
required: false
schema:
type: string
description: Unique key to make booking creation idempotent. Alternative to the idempotencyKey body field; when both are sent, the header wins.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- roomId
- rateId
- checkIn
- checkOut
- adults
- customer
properties:
roomId:
type: string
enum:
- KAPDZ
- KDZ
- KFZ
- SDZ
description: Room type abbreviation code from availability results
rateId:
type: string
description: Rate plan ID (from availability/price-quote)
checkIn:
type: string
example: '2027-01-01'
description: Check-in date (YYYY-MM-DD)
checkOut:
type: string
example: '2027-01-03'
description: Check-out date (YYYY-MM-DD)
adults:
type: integer
minimum: 1
example: 2
children:
type: integer
minimum: 0
default: 0
customer:
type: object
required:
- firstName
- lastName
- email
- phone
- country
properties:
firstName:
type: string
example: Max
lastName:
type: string
example: Mustermann
email:
type: string
format: email
example: max@example.com
phone:
type: string
example: +49 170 1234567
country:
type: string
example: DE
description: ISO country code
salutation:
type: string
example: Herr
address:
type: string
city:
type: string
zip:
type: string
remarks:
type: string
description: Special requests or notes
test:
type: boolean
default: false
description: Set to true for sandbox mode. Returns a TEST bookingId without creating a real reservation.
idempotencyKey:
type: string
description: Unique key to prevent duplicate bookings on retries.
example:
roomId: KAPDZ
rateId: DIREKTUEBERNACHTUNGS
checkIn: '2027-01-01'
checkOut: '2027-01-03'
adults: 2
customer:
firstName: Max
lastName: Mustermann
email: max@example.com
phone: +49 170 1234567
country: DE
test: true
responses:
'201':
description: Booking created successfully
headers:
RateLimit:
schema:
type: string
description: IETF rate limit state, e.g. "per-minute";limit=100;remaining=99;reset=42. Sent on every API response.
RateLimit-Policy:
schema:
type: string
description: Rate limit policy, e.g. "per-minute";q=100;w=60 (100 requests per 60 seconds per client IP). Sent on every API response.
content:
application/json:
schema:
type: object
properties:
bookingId:
type: string
roomId:
type: string
status:
type: string
enum:
- confirmed
- pending
- test_created
checkIn:
type: string
checkOut:
type: string
totalPrice:
type: object
properties:
amount:
type: number
currency:
type: string
_pricing:
type: object
properties:
currency:
type: string
taxIncluded:
type: boolean
note:
type: string
'400':
description: Validation error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
description: Rate limit exceeded (100 requests per 60 seconds per client IP)
headers:
Retry-After:
schema:
type: integer
description: Seconds until the rate limit window resets.
RateLimit:
schema:
type: string
description: Rate limit state with remaining=0.
RateLimit-Policy:
schema:
type: string
description: Rate limit policy.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2:
- booking:write
- {}
x-required-scope: booking:write
x-sandbox-flag: test
x-openai-isConsequential: true
tags:
- Bookings
servers:
- url: https://bergsonne-allgaeu.de/api/booking
description: Production Booking API
- url: https://bergsonne-allgaeu.de/api/booking/sandbox
description: 'Sandbox — separate base URL, identical paths and payloads. Test mode is forced server-side: full validation and pricing, no real reservation, bookingId is prefixed with TEST-. No credentials required.'
x-sandbox: true
components:
responses:
Unauthorized:
description: Missing or invalid credential. The WWW-Authenticate header names the required scope and points at the protected-resource metadata.
headers:
WWW-Authenticate:
schema:
type: string
example: Bearer resource_metadata="https://bergsonne-allgaeu.de/.well-known/oauth-protected-resource", scope="booking:write"
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Forbidden:
description: Credential is valid but lacks the required scope (booking:write).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
Error:
type: object
properties:
error:
type: string
code:
type: string
hint:
type: string
docs:
type: string
openapi:
type: string
securitySchemes:
oauth2:
type: oauth2
description: 'OAuth 2.1 Authorization Code with PKCE (S256). Least-privilege: request only the scopes you need. Reservation writes are performed on behalf of a named human guest and therefore require booking:write.'
flows:
authorizationCode:
authorizationUrl: https://bergsonne-allgaeu.de/.well-known/oauth-authorization-server
tokenUrl: https://bergsonne-allgaeu.de/.well-known/oauth-authorization-server
refreshUrl: https://bergsonne-allgaeu.de/.well-known/oauth-authorization-server
scopes:
hotel:read: Read hotel metadata, room types, amenities, fact sheet and bookable extras.
booking:read: Read availability, rates and price quotes.
booking:write: Create a reservation on behalf of a named human guest.
clientCredentials:
tokenUrl: https://bergsonne-allgaeu.de/.well-known/oauth-authorization-server
scopes:
hotel:read: Read hotel metadata, room types, amenities, fact sheet and bookable extras.
booking:read: Read availability, rates and price quotes.
x-pkce-code-challenge-methods:
- S256
agentBearer:
type: http
scheme: bearer
bearerFormat: JWT
description: Self-serve agent credential. POST https://bergsonne-allgaeu.de/agent/auth — anonymous, no account, no human approval. Grants the read-only scopes hotel:read and booking:read. booking:write requires the OAuth user flow.
x-self-serve-registration: https://bergsonne-allgaeu.de/agent/auth
x-scopes-granted:
- hotel:read
- booking:read
x-refined-from:
- bergsonne-allgaeu-de-openapi.json
- bergsonne-allgaeu-de-openapi.json
x-oauth-protected-resource: https://bergsonne-allgaeu.de/.well-known/oauth-protected-resource
x-authorization-server: https://bergsonne-allgaeu.de/.well-known/oauth-authorization-server
x-agent-instructions: https://bergsonne-allgaeu.de/.well-known/agent-instructions.md
x-auth-documentation: https://bergsonne-allgaeu.de/.well-known/auth.md
x-sandbox:
supported: true
mode: server-url-or-request-flag
baseUrl: https://bergsonne-allgaeu.de/api/booking/sandbox
flag: test
description: 'Either call the sandbox base URL https://bergsonne-allgaeu.de/api/booking/sandbox (test mode forced server-side) or set "test": true in the POST /bookings body against production. Same validation and pricing, no real reservation, bookingId prefixed with TEST-.'
credentialsRequired: false
documentation: https://bergsonne-allgaeu.de/developers