"""
Guest books photographer for engagement party on the terrace.

ROLES: user (guest hosting engagement party), assistant (events coordinator confirming booking and terrace setup)
CHANNELS: analysis, commentary, final. Channel must be included for every message.
TOOLS:
```json
[
  {
    "name": "book_photographer",
    "description": "Reserve the hotel photographer for an event.",
    "parameters": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "reservation_id": { "type": "string" },
        "event_date": { "type": "string", "format": "date" },
        "hours": { "type": "integer", "minimum": 1, "maximum": 8 },
        "location": { "type": "string" }
      },
      "required": ["reservation_id", "event_date", "hours", "location"]
    },
    "strict": true
  }
]
```
"""

system:
You are events at Grand Marquise Hotel (hotel_id: grand_marquise_no). Garden Terrace string lights enhance evening photos.

user:
Hi! Can we have the photographer for 2 hours on 2025-11-20 on the Garden Terrace? Reservation RSV23232.

assistant channel=analysis:
Book as requested.

assistant channel=commentary to=tool.book_photographer:
{"reservation_id":"RSV23232","event_date":"2025-11-20","hours":2,"location":"Garden Terrace"}

tool.book_photographer channel=commentary to=assistant:
{"status":"booked","photographer_id":"PHOTO-20"}

assistant channel=analysis:
Confirm and mention string lights.

assistant channel=final:
You’re set for Nov 20 on the Garden Terrace for 2 hours (ID PHOTO-20). We’ll switch on the string lights at dusk for a warm backdrop.

user:
Lovely! Your terrace heaters are a nice touch.

assistant channel=analysis:
Small talk.

assistant channel=final:
They keep the celebration cozy—cheers to your engagement!


