# Zones API Documentation

Base URL for all routes: `/api/zones`

**Headers Required (All Routes):**
`Authorization: Bearer <your_jwt_token>`

---

## 1. Zone Management Routes (Admin protected)

These routes handle the configuration of service zones within the restaurant.

### `GET /api/zones`
Fetches all available zones, ordered alphabetically by name.

*   **Request Body:** None
*   **Response (200 OK):**
    ```json
    {
      "success": true,
      "data": [
        {
          "id": 1,
          "zone_name": "Main Hall",
          "color_code": "#00a6ce"
        },
        {
          "id": 2,
          "zone_name": "Patio",
          "color_code": "#e33232"
        }
      ]
    }
    ```

### `POST /api/zones`
Creates a new service zone.

*   **Request Body:**
    ```json
    {
      "zone_name": "Patio",
      "color_code": "#e33232" // optional, defaults to #00a6ce
    }
    ```
*   **Response (201 Created):**
    ```json
    {
      "success": true,
      "message": "Zone created successfully.",
      "data": {
        "id": 3,
        "zone_name": "Patio",
        "color_code": "#e33232"
      }
    }
    ```

### `PUT /api/zones/:id`
Updates an existing zone's details.

*   **URL Params:** `id` (int)
*   **Request Body:**
    ```json
    {
      "zone_name": "Pool Side",
      "color_code": "#000000"
    }
    ```
*   **Response (200 OK):**
    ```json
    {
      "success": true,
      "message": "Zone updated successfully."
    }
    ```

### `DELETE /api/zones/:id`
Removes a zone.

*   **URL Params:** `id` (int)
*   **Request Body:** None
*   **Response (200 OK):**
    ```json
    {
      "success": true,
      "message": "Zone deleted successfully."
    }
    ```
