# Booking List

Retrieve a paginated list of bookings for your property. You can filter by status, guest, or stay date ranges.

#### Endpoint

```http
GET /api/v1/client/bookings
```

#### Query Parameters

<table><thead><tr><th width="120">Parameter</th><th width="100">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>page</code></td><td>integer</td><td>The page number to retrieve (default: 1).</td></tr><tr><td><code>limit</code></td><td>integer</td><td>Number of results per page (default: 10).</td></tr><tr><td><code>status</code></td><td>string</td><td>Filter by booking status (e.g., <code>confirmed</code>, <code>cancelled</code>, <code>paid</code>).</td></tr><tr><td><code>guest_id</code></td><td>string</td><td>Filter by Guest UUID.</td></tr><tr><td><code>start_date</code></td><td>string</td><td>Filter bookings with stay dates on or after this date (YYYY-MM-DD).</td></tr><tr><td><code>end_date</code></td><td>string</td><td>Filter bookings with stay dates on or before this date (YYYY-MM-DD).</td></tr></tbody></table>

***

#### Example Request

```bash
curl "/api/v1/client/bookings?status=confirmed&limit=2" \
  -H "X-API-Key: <your_api_key>"
```

#### Example Response (200 OK)

```json
{
  "results": [
    {
      "id": "e7b7f6bb-6c0c-4e2c-9b3e-9c6f2a1c0a77",
      "status": "confirmed",
      "total": 52000,
      "created": "2025-10-01T10:00:00Z",
      "updated": "2025-10-02T11:05:13Z",
      "paidDays": 2,
      "description": "Premium Room choice",
      "guest": {
        "id": "7f99c230-8f64-4ecb-8804-d9ea5496bf63",
        "first_name": "John",
        "last_name": "Doe",
        "email": "john.doe@example.com",
        "phone": "+123456789"
      },
      "stay_dates": [
        {
          "date": "2025-12-19",
          "amount": 26000,
          "room": "7b9e2f12-34cd-4e89-bf45-4a18f5a8a1f0",
          "bed": "bb9c708a-2695-435f-a1eb-1bf61381ad77"
        },
        {
          "date": "2025-12-20",
          "amount": 26000,
          "room": "7b9e2f12-34cd-4e89-bf45-4a18f5a8a1f0",
          "bed": "bb9c708a-2695-435f-a1eb-1bf61381ad77"
        }
      ]
    }
  ],
  "total_count": 1,
  "total_pages": 1,
  "current_page": 1
}
```

> **Note on Amounts**: All amount fields (`total`, `stay_dates[].amount`) are returned as **integers in minor units** (e.g., 52000 represents 520.00 in your local currency).
