# API & External Integrations

The Calian platform provides clean internal and external integration endpoints for payments, notifications, future mobile applications, and channel managers.

---

## 1. REST API Endpoints Overview

| Method | Endpoint | Description | Auth Required |
| :--- | :--- | :--- | :--- |
| `GET` | `/api/v1/rooms/availability` | Check room availability and rates | None (Public / Rate-limited) |
| `POST` | `/api/v1/bookings/hold` | Create temporary 15-minute booking hold | None (Public / Session) |
| `POST` | `/api/payments/pesapal/ipn` | Pesapal 3.0 IPN callback listener | Pesapal Signature Verification |
| `GET` | `/api/v1/guest/stay-status` | In-house guest stay & folio query | Guest Session Token |
| `POST` | `/api/v1/guest/requests` | In-house guest service request submission | Guest Session Token |
| `GET` | `/api/v1/staff/housekeeping/tasks`| Mobile housekeeping task list | Staff Bearer Token |
| `POST` | `/api/v1/staff/housekeeping/update`| Attendant updates room status | Staff Bearer Token |

---

## 2. Channel Manager & OTA Integration Readiness
The system data model is decoupled from the direct booking UI:
- `PhysicalRoom` and `RatePlan` entities expose normalized JSON sync methods.
- Ready for 2-way OTA XML/JSON sync (Rates, Availability, Bookings, Cancellations) via future channel manager adapters (SiteMinder, Cloudbeds, D-EDGE).
