{
    "name": "Ruhondo Beach Resort API",
    "version": "1.0.0",
    "description": "RESTful API for hotel management system",
    "endpoints": [
        {
            "path": "\/api\/auth\/login",
            "method": "POST",
            "description": "Authenticate user and get token",
            "parameters": {
                "username": "string (required)",
                "password": "string (required)"
            }
        },
        {
            "path": "\/api\/auth\/logout",
            "method": "POST",
            "description": "Invalidate current token",
            "auth": true
        },
        {
            "path": "\/api\/auth\/me",
            "method": "GET",
            "description": "Get current user info",
            "auth": true
        },
        {
            "path": "\/api\/reservations",
            "method": "GET",
            "description": "Get list of reservations",
            "auth": true,
            "parameters": {
                "page": "integer (optional)",
                "limit": "integer (optional)",
                "status": "string (optional)",
                "date_from": "date (optional)",
                "date_to": "date (optional)"
            }
        },
        {
            "path": "\/api\/reservations\/{id}",
            "method": "GET",
            "description": "Get single reservation",
            "auth": true
        },
        {
            "path": "\/api\/reservations",
            "method": "POST",
            "description": "Create new reservation",
            "auth": true
        },
        {
            "path": "\/api\/reservations\/{id}",
            "method": "PUT",
            "description": "Update reservation",
            "auth": true
        },
        {
            "path": "\/api\/reservations\/{id}",
            "method": "DELETE",
            "description": "Cancel reservation",
            "auth": true
        },
        {
            "path": "\/api\/availability\/check",
            "method": "GET",
            "description": "Check room availability",
            "auth": true,
            "parameters": {
                "check_in": "date (required)",
                "check_out": "date (required)",
                "room_type_id": "integer (optional)",
                "adults": "integer (optional)",
                "children": "integer (optional)"
            }
        },
        {
            "path": "\/api\/availability\/rates",
            "method": "GET",
            "description": "Get rate information",
            "auth": true,
            "parameters": {
                "check_in": "date (required)",
                "check_out": "date (required)",
                "room_type_id": "integer (optional)"
            }
        },
        {
            "path": "\/api\/pos\/products",
            "method": "GET",
            "description": "Get POS products",
            "auth": true
        },
        {
            "path": "\/api\/pos\/sales",
            "method": "POST",
            "description": "Create POS sale",
            "auth": true
        },
        {
            "path": "\/api\/inventory\/stock",
            "method": "GET",
            "description": "Get inventory levels",
            "auth": true
        },
        {
            "path": "\/api\/inventory\/movements",
            "method": "POST",
            "description": "Record stock movement",
            "auth": true
        }
    ],
    "authentication": "Bearer token required for authenticated endpoints. Obtain token via \/api\/auth\/login"
}