# Apaleo MCP MCP

> Apaleo connects your AI agent directly to a modern, API-first Property Management System (PMS). You can manage hotel inventory, check live room availability, pull booking details, and reconcile guest invoices—all through natural conversation. It turns complex PMS screens into simple conversational actions.

## Overview
- **Category:** cloud-infrastructure
- **Price:** Free
- **Tags:** hotel-management, reservation-system, property-management, inventory-control, api-first

## Description

Think of this MCP as giving your AI client direct access to the operational brain of your hotel. Instead of logging into multiple backend dashboards just to find out how many Standard rooms are free or what a guest owes, you talk to it. Your agent can instantly check room availability and pull up full booking details for any stay. You don't have to guess at pricing; you get access to all rate plans and current inventory rules. The system also handles the back office stuff: retrieving detailed guest folios and listing final invoices for accounting. If your team relies on a Vinkius catalog, this connector lets your agent read everything from property configurations to sellable units calendars, making those old manual lookups obsolete.

## Tools

### list_reservations
Provides a complete, dashboard-style list of all current hotel reservations.

### check_availability
Shows how many rooms are available for sale per room type and date range.

### get_reservation
Pulls all details for one specific guest booking.

### list_properties
Lists all properties if you manage a hotel group or chain of locations.

### get_property
Retrieves specific configuration details about a single hotel property.

### list_room_types
Lists the categories of rooms available (e.g., Standard, Suite).

### list_rooms
Provides a list of every physical room within the property.

### list_rate_plans
Retrieves and lists every active pricing plan available for booking.

### list_folios
Lists detailed billing records for a guest associated with a reservation.

### list_invoices
Retrieves complete, final invoices necessary for accounting and auditing.

## Prompt Examples

**Prompt:** 
```
Show me all confirmed reservations arriving this week
```

**Response:** 
```
🧊 **Confirmed Arrivals — This Week**

1. **Maria Santos** — Junior Suite
   📅 Oct 18 → Oct 21 (3 nights)
   💰 EUR 450.00 | BAR rate

2. **Thomas Müller** — Standard Double
   📅 Oct 19 → Oct 22 (3 nights)
   💰 EUR 285.00 | Corporate rate

3. **Sophie Laurent** — Deluxe King
   📅 Oct 20 → Oct 23 (3 nights)
   💰 EUR 525.00 | Package: B&B
```

## Capabilities

### Check Live Inventory
Determine exactly how many rooms are available for sale at a specific time and room type.

### Pull Booking Details
Fetch full reservation records, including guest names, dates, and rate specifics.

### Manage Property Data
Retrieve specific details about the hotel property or list multiple properties if you run a group of hotels.

### Review Financial Records
Access and filter guest folios and final invoices for accounting and auditing purposes.

### List Rate Structures
See all active pricing plans, rules, and restrictions used across the hotel.

## Use Cases

### A guest calls asking about rates for next month.
The agent asks the AI client to check available units and rate plans. The agent uses `check_availability` combined with `list_rate_plans` to give the caller a precise quote, avoiding manual lookups.

### The accountant needs to audit last month's payments.
Instead of running multiple reports in the accounting system, the agent uses `list_invoices` and filters by date range. This provides a clean list for reconciliation, saving hours of manual data gathering.

### A manager needs to know if a new wing has been fully configured.
The manager asks the AI client to list all properties first using `list_properties`, then drill down with `get_property` to verify that the new wing's settings are active.

### Front desk needs to check a booking for an old group:
The agent uses `get_reservation` by name or date. This immediately pulls all details, allowing them to confirm room types and dates without leaving the chat interface.

## Benefits

- Checks availability instantly: You can use `check_availability` to see sellable units per room type without opening the calendar view. It's fast.
- Handles group management: If you own multiple locations, simply use `list_properties` and then target specific details with `get_property`, keeping your work centralized.
- Simplifies guest billing: Instead of digging through tabs for an account audit, calling `list_folios` gives you the necessary billing history right away.
- Quick booking checks: Need to verify a stay? Use `get_reservation` to pull all details in one go. It's cleaner than pulling up multiple records.
- Rate plan clarity: Don't get confused by pricing rules; use `list_rate_plans` to see every active rate and its restrictions.
- Comprehensive views: You can view the full front-desk status using `list_reservations`, getting a quick overview of arrivals and departures.

## How It Works

The bottom line is, you get structured hotel data delivered conversationally, no API calls needed on your end.

1. You tell your AI client what data you need. For example: 'What are the available rooms at the main property?'
2. The MCP routes that request through the Apaleo tools, gathering live inventory counts and current rate structures.
3. Your agent gets back a clean summary of the findings—like listing room types or showing confirmed reservations—without you having to click anything.

## Frequently Asked Questions

**How do I check room availability using the check_availability tool?**
You ask the agent to run `check_availability` and specify the room type and date range. It shows you exactly how many units are sellable, which is much better than just knowing 'available'.

**Is list_reservations the same as get_reservation?**
No. `list_reservations` gives you a broad dashboard view of multiple bookings at once. You use `get_reservation` when you need to deep-dive into one specific booking's complete details.

**What is the difference between list_folios and list_invoices?**
Folios (`list_folios`) are the running bills for a guest stay. Invoices (`list_invoices`) are the final, completed accounting document that gets sent out after checkout.

**Can I use get_property to check availability?**
No, `get_property` pulls general configuration details about the hotel itself. To see how many rooms are available for sale, you must use `check_availability`.

**When should I use list_properties instead of get_property?**
Use `list_properties` when you need an overview or a directory of all managed locations. This tool returns a comprehensive catalog for hotel groups, whereas `get_property` fetches specific details about one single property ID.

**How do I get a comprehensive list of available room types using list_room_types?**
Running `list_room_types` shows your entire defined inventory—Standard, Deluxe, Suite, etc. This is crucial for understanding what types of units you can sell before checking current availability or pricing.

**What information does list_rate_plans provide about pricing?**
`list_rate_plans` gives you access to all defined pricing structures, restrictions, and rules. It doesn't show current bookings; it shows the available rates and conditions that dictate how rooms can be sold.

**What is the difference between list_rooms and getting a specific reservation?**
`list_rooms` provides an inventory of every physical room unit in a property. This differs from `get_reservation`, which pulls data about a guest's stay, including their assigned unit number.

**What makes Apaleo different from other PMS?**
Apaleo is 100% API-first — every feature is accessible via REST API with OpenAPI/Swagger specs. It offers a free developer sandbox, OAuth 2.0, and a modular architecture where you pick the best tools for each function.