Connect your PMS to any AI agent.

An open protocol that bridges hotel property management systems with AI tools — without modifying your existing infrastructure.

Built on
MCPMCPPMS / LegacySystemHBSPAI / LLMAgentClaude · GPT · Gemini
Write operations require explicit human approval.

What HBSP™ Delivers

Three design principles that make hotel-AI integration reliable, auditable, and safe.

01

Connect

Any AI, One Adapter

One HBSP adapter connects to any MCP-compatible AI — Claude, GPT, Gemini, or any model your team prefers. Build once, run anywhere.

03

Protect

Human Approval Required

AI agents propose changes. Humans approve or reject them. No rate change, restriction, or allocation executes without an explicit sign-off.

Built for Developers

A clear specification, typed schemas, and working examples. Implement your first tool in under an hour.

HBSP Terminal — distribution module
// REQUEST → distribution.getRates { "tool": "distribution.getRates", "params": { "date_range": { "start": "2026-06-01", "end": "2026-06-07" }, "room_types": ["deluxe_king", "suite_oceanview"], "channels": ["booking_com", "direct"], "response_format": "json" } } // RESPONSE ↓ { "property_id": "hotel_playa_001", "currency": "MXN", "rates": [{ "date": "2026-06-01", "room_type": "deluxe_king", "channel": "booking_com", "rate_plan": "BAR", "amount": 3200.00 }], "pagination": { "total": 14, "returned": 2 } }
// REQUEST → distribution.getAvailability { "tool": "distribution.getAvailability", "params": { "date_range": { "start": "2026-06-01", "end": "2026-06-03" }, "room_types": ["deluxe_king"] } } // RESPONSE ↓ { "property_id": "hotel_playa_001", "availability": [{ "date": "2026-06-01", "room_type": "deluxe_king", "total_inventory": 45, "sold": 38, "available": 7, "occupancy_pct": 84.4, "channel_allocation": { "booking_com": { "allotment": 3, "available": 1 }, "expedia": { "allotment": 2, "available": 0 }, "direct": { "allotment": null, "available": 4 } } }] }
// REQUEST → distribution.proposeRateChange { "tool": "distribution.proposeRateChange", "params": { "room_type": "deluxe_king", "rate_plan": "BAR", "channels": ["booking_com"], "new_rate": 2850.00, "currency": "MXN", "reason": "Competitor analysis: -12% Jun period" } } // RESPONSE ↓ — Human approval required, never auto-executes { "proposal_id": "prop_abc123", "status": "pending_approval", "proposed_at": "2026-04-16T14:30:00Z", "expires_at": "2026-04-17T14:30:00Z", "approval_url": "https://hbsp.hotel.com/approvals/prop_abc123", "summary": "deluxe_king BAR 3,200 → 2,850 MXN (Jun 1–15)" }
8
Read Tools
getRates · getAvailability · getRestrictions · getRevenueMetrics · getRateParity · listChannels · listRoomTypes · listRatePlans
3
Write Tools
All write operations require explicit human approval via the Approval Dashboard.
2
SDK Languages
pip install hbsp · npm install @hbsp/sdk
<1h
Avg. Implementation
Per tool. Clear spec, working examples, typed schemas.

Zero changes to your existing system.

HBSP sits between your PMS and the AI layer. Your production system is never modified.

Your PMS
Existing system, untouched.
Vendor API / read-only replica
HBSP Adapter
Python or TypeScript SDK
HBSP / MCP protocol
HBSP Server
Approval logic · Audit logging
MCP protocol
AI Agent
Claude · GPT · Any MCP client
Approval Dashboard
Human review, required for all writes.
01
Non-Invasive

HBSP acts as a read-only bridge. Your PMS, database, and internal workflows remain untouched. No agent writes to production directly.

02
Modular Adoption

Start with the Distribution module. Add Reservations, Guest, Operations, and F&B incrementally. No all-or-nothing migration required.

03
Audit-First Design

Every tool call, proposal, and approval decision is logged. Minimum 90-day retention. Built to satisfy enterprise procurement requirements.

Supported PMS Adapters

Reference and community adapters for the most widely deployed PMS platforms.

Coming Soon

FNS PMS

Adapter for the FNS hotel management system. Connects FNS property data to any HBSP-compatible AI agent without modifying the core system.

REST API · TypeScript SDK
Coming Soon

Erbon PMS

Adapter for the Erbon hotel management platform. Bridges Erbon property operations with AI agents via the HBSP standard.

REST API · TypeScript SDK
In Development

ChatBook

Production dogfood adapter built by UNOZERO. Validates the HBSP specification against real hotel operations.

TypeScript SDK · MCP
Hybrid B2B + B2C

We built it ourselves first.

Chatbook — UNOZERO's hotel WhatsApp AI — runs on HBSP in production. Before asking any PMS vendor to adopt the protocol, we shipped it on real hotels.

Production architecture
B2CConversational
ChatWeb / Social Media DM
Chatbook Conversational Assistant
B2BLLM / HBSP
LLM / AI Agent
MCP Streamable HTTP
HTTPS + Bearer JWT
Chatbook API
Chatbook Database
reservations.quoteStay — live response
// reservations.quoteStay
// composes listRoomTypes · getAvailability · getRates · getRestrictions

{
  "check_in"  : "2025-06-14",
  "check_out" : "2025-06-16",
  "nights"    : 2,
  "room_type" : "DLX_DBL",
  "bookable"  : true,
  "nightly_breakdown": [
    { "date": "2025-06-14", "rate": 189.00, "label": "weekday" },
    { "date": "2025-06-15", "rate": 229.00, "label": "weekend +30" }
  ],
  "total"     : 418.00,
  "currency"  : "USD",
  "restrictions": {
    "min_stay"    : 2,
    "lead_time_ok": true
  }
}
5 HBSP tools — v0.1 quotation flow
distribution.listRoomTypesdistribution.getAvailabilitydistribution.getRatesdistribution.getRestrictionsreservations.quoteStay

Zero changes to the PMS.

The adapter is a service that calls Chatbook's existing REST API as a client. The core system is untouched. This is the compliance model for any PMS vendor.

Docker sidecarBearer JWT5 tools

The compliance model for any PMS vendor.

B2B

Real-time agent responses

B2B path

Any llm agent calls HBSP server and returns availability and rate quotes to guests

n8nMCPHBSPWhatsApp
B2C

Staff-driven LLM analysis

B2C path

a user writes to the official communication channel (WhatsApp). The message is forwarded to the chatbook conversational assistant, which processes it and provides a response.

.thoon.jsonself-contained data + prompt bundle

Start in Minutes

Two official SDKs. Strong types. Clear error codes. No boilerplate.

$pip install hbsp
$npm install @hbsp/sdk
from hbsp import HBSPServer

server = HBSPServer(
    "my-hotel",
    property_id="hotel_playa_001",
    timezone="America/Cancun",
    currency="MXN",
)

# Register a read tool — no approval needed
@server.tool("distribution.getRates", schema={...})
async def get_rates(date_range, room_types=None, channels=None):
    rates = await my_pms.query_rates(date_range, room_types, channels)
    return {
        "property_id": "hotel_playa_001",
        "currency": "MXN",
        "rates": rates,
    }

server.run()  # <1h from zero to compliant
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
import { HBSP_VERSION } from "@hbsp/sdk";

const server = new McpServer({ name: "my-hotel", version: HBSP_VERSION });

server.registerTool(
  "distribution.getRates",
  {
    inputSchema: {
      date_range: z.object({
        start: z.string().regex(/^\d{4}-\d{2}-\d{2}$/),
        end:   z.string().regex(/^\d{4}-\d{2}-\d{2}$/),
      }),
      room_types: z.array(z.string()).optional(),
      channels:   z.array(z.string()).optional(),
    },
    annotations: { readOnlyHint: true, destructiveHint: false },
  },
  async ({ date_range, room_types, channels }) => {
    const rates = await queryYourPMS(date_range, room_types, channels);
    return { content: [{ type: "text", text: JSON.stringify(rates) }] };
  }
);

What's included

  • Full Type DefinitionsTypeScript types for all tools, schemas, and API responses.
  • Standardized Error HandlingHBSP error codes with structured, machine-readable messages.
  • Proposal ClassBuilt-in helpers for constructing and subApache v2.0ting write proposals.
  • Auto Capability ManifestGenerates a compliance manifest automatically from your registered tools.
  • Pagination HelpersConsistent offset/liApache v2.0 pagination across all list-type tools.
  • Apache v2.0 LicensedOpen source. No lock-in. Fork, extend, and contribute freely.

Built to Grow With You

Add one module at a time. No forced migrations.

Distribution
● Active
Rates · Availability · Restrictions · Revenue · Rate Parity
Reservations
○ Planned
Bookings · Modifications · Cancellations · Group Blocks
Guest
○ Planned
Profiles · Preferences · Loyalty · Stay History
Operations
○ Planned
Housekeeping · Maintenance · Task Management
F&B
○ Planned
Restaurant · Room Service · Catering

Ready to connect your PMS?

Open standard, Apache v2.0 licensed. No vendor lock-in.