# Hotel Distribution API and Connectivity Platform

> Bangladesh hotel distribution API with real-time ARI sync, instant booking confirmation, and in-house integration team building to our API or yours.

- **Canonical URL:** https://www.rnrrooms.com/technology
- **Markdown Source:** https://www.rnrrooms.com/technology.md

## Reliability Targets

| Measure | Target | Conditions |
| :--- | :--- | :--- |
| Platform uptime | 99.9% | Excluding scheduled maintenance windows, communicated in advance. |
| Availability search | < 1 s | Typical response time for standard queries. |
| Booking confirmation | Instant | When inventory is live. Exceptions fall back to 24/7 ops. |
| Critical incident ack | 30 min | Acknowledged by email and WhatsApp to every affected partner. |

## Booking Lifecycle Narrative

- **09:00 — Cox's Bazar (A hotel updates a rate):** The revenue manager changes tomorrow's rate in their channel manager (SiteMinder, CloudBeds, RateTiger, ByteBeds). No extra extranet needed.
- **09:00:01 (RNR syncs it in real time):** Our platform receives the ARI update over the channel-manager connection and propagates it across the network.
- **14:30 — Rotterdam (A buyer searches and books):** A tour operator's system searches live availability with contracted net rates. Booking confirmation is instant.
- **14:30:02 (The hotel gets the reservation):** The booking lands back through the hotel's channel manager with a voucher. No pending confirmation limbo.
- **02:00 — Dhaka (A guest issue at 2am):** Flight delayed, guest arriving late? Our Dhaka operations team is awake, local, and empowered to resolve it.
- **Checkout (The hotel is paid):** Hotels are paid at checkout under the settlement terms agreed before go-live, with a clear statement for reconciliation.

## Connectivity Options

- **Channel Manager (Hotels):** Connect via ByteBeds, SiteMinder, CloudBeds, or RateTiger — real-time sync, zero new tools.
- **API Connectivity (Buyers):** Integrate over REST — ours or theirs, built by our in-house team.
- **Partner Portal (Buyers & Hotels):** Extranet access for partners who prefer a UI over an integration.
- **DMC Model (Tour Operators):** Full ground handling — accommodation plus services — for operators who want one counterpart.

## Security Practices & Architecture Principles

- **Cloud-Native & Distributed:** Built on managed cloud infrastructure with zero single points of failure.
- **Encrypted in Transit:** All API and web traffic is served strictly over TLS.
- **Scoped Access:** API keys and extranet accounts are scoped to partner, environment, and required endpoints.
- **Secrets Rotation:** Credentials and connection secrets are rotated on a defined schedule.
- **Always Observable:** Every booking is traceable end to end for instant anomaly reconstruction.

## REST API Lifecycle & Endpoint Preview

### Search (GET /v1/availability?city=DAC&checkin=2026-09-14&checkout=2026-09-16&pax=2)
Availability comes back from the live channel-manager connection, priced at the contracted net rate.

```json
{
  "query": {
    "city": "DAC",
    "checkin": "2026-09-14",
    "checkout": "2026-09-16",
    "nights": 2,
    "pax": 2
  },
  "offers": [
    {
      "offer_id": "of_9Fx2Ka7Qd",
      "hotel": "Riverside Grand, Dhaka",
      "room": "Deluxe Twin",
      "board": "BB",
      "net": { "amount": "74.00", "currency": "USD" },
      "cancellation": "free_until_2026-09-12T18:00:00+06:00",
      "source": "channel_manager",
      "status": "instant_confirm"
    },
    {
      "offer_id": "of_3Bn8Lp1Wc",
      "hotel": "Gulshan Court, Dhaka",
      "room": "Executive King",
      "board": "RO",
      "net": { "amount": "58.50", "currency": "USD" },
      "cancellation": "non_refundable",
      "source": "channel_manager",
      "status": "instant_confirm"
    }
  ]
}
```

### Book (POST /v1/bookings)
The offer is held against live inventory, so confirmation is immediate rather than on request.

```json
{
  "booking_id": "bk_71Hs4Vt0Rz",
  "reference": "TO-88431",
  "hotel": "Riverside Grand, Dhaka",
  "room": "Deluxe Twin",
  "checkin": "2026-09-14",
  "checkout": "2026-09-16",
  "net": { "amount": "74.00", "currency": "USD" },
  "status": "confirmed",
  "confirmation": "instant",
  "hotel_settlement": "at_guest_checkout"
}
```

### Voucher (GET /v1/bookings/bk_71Hs4Vt0Rz/voucher)
The same reservation is readable back from the hotel side, which is what makes a booking traceable end to end.

```json
{
  "booking_id": "bk_71Hs4Vt0Rz",
  "voucher_no": "RNR-2026-88431",
  "hotel": {
    "name": "Riverside Grand, Dhaka",
    "confirmed_at_property": true,
    "property_reference": "RG-4471"
  },
  "support": {
    "hours": "24/7",
    "handled_by": "RNR operations, Dhaka"
  },
  "documents": { "pdf": "/v1/bookings/bk_71Hs4Vt0Rz/voucher.pdf" }
}
```

### Rate moved (POST /v1/bookings)
When the property changes a rate mid-flow the offer is rejected rather than silently repriced. Errors are typed and carry the corrected offer.

```json
{
  "error": {
    "type": "offer_superseded",
    "message": "The property changed this rate after the offer was issued.",
    "offer_id": "of_3Bn8Lp1Wc",
    "retryable": true
  },
  "replacement_offer": {
    "offer_id": "of_5Qz7Mr4Jd",
    "net": { "amount": "61.00", "currency": "USD" },
    "status": "instant_confirm"
  }
}
```
