How does the AI integration work?
The MCP server speaks JSON-RPC 2.0 and makes i-Reserve usable for external AI agents: chatbots, voice agents and other automated clients can look up availability and, with the right verification, change or cancel bookings.
Authentication
An AI agent authenticates with the same license-wide API key as the regular REST API - there is no separate per-agent key system. See How does an API key work? for how to create and manage that key. Required right: menu_config_api.
Channels
There is a distinction between the MCP channel (an external agent or your own AI widget) and internal use by i-Reserve itself. Every booking records which channel it was created or changed through.
What an agent may always do, without verification
Without the customer's identity being established, an agent may: look up availability and objects, search and subscribe to events, search for or create a customer, create a new booking, retrieve the cancellation policy, and - where configured - hand off to a colleague.
Confidence levels
| Level | Evidence | Example allowed action |
|---|---|---|
| L0 | none | availability and policy questions |
| L1 | channel match (caller ID / link click) | summarising the customer's own booking |
| L2 | one-time code (OTP) by SMS or email | rescheduling, changing participants |
| L3 | OTP + something only known from the booking (e.g. booking number) | cancelling with a refund |
Caller ID or clicking a link can be spoofed, so it only counts as L1: it merely determines which number or address a verification code is sent to, and grants no extra rights by itself.
Verification flow
To change or cancel a booking, the agent first requests a one-time code. The customer receives that code themselves by SMS or email and passes it to the agent. i-Reserve then issues a short-lived token tied to the booking - the agent never sees the code itself.
Changes and cancellations: always two steps
A change or cancellation is never applied in one go. i-Reserve first calculates, without obligation, what the change means (new date, any price difference, or the refund amount). Only after the customer explicitly confirms is the change actually applied. Submitting the same confirmation again does not apply the change twice.
Abuse protection
The agent responds identically to an unknown contact detail as to a known one, so no information leaks about who is or isn't a customer. There is also built-in protection against unusual spikes in cancellations.
Logging
Tool calls record which action was performed and through which agent, so it can be traced afterwards.
Read more
Configuring cancellation terms
The cancellation terms the agent looks up above are configured at: Configuring cancellation refund tiers.





