"""
Guest books photographer to capture a surprise proposal on the rooftop.

ROLES: user (guest planning surprise proposal), assistant (events coordinator arranging discrete photography)
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). Rooftop Garden has skyline views; sunset timing popular.

user:
Hi! I’m planning a surprise proposal on 2025-09-30 at the Rooftop Garden. Could I book the photographer for 2 hours? Reservation RSV34343.

assistant channel=analysis:
Book 2 hours on requested date.

assistant channel=commentary to=tool.book_photographer:
{"reservation_id":"RSV34343","event_date":"2025-09-30","hours":2,"location":"Rooftop Garden"}

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

assistant channel=analysis:
Confirm and offer sunset suggestion.

assistant channel=final:
Your photographer is reserved for Sept 30 on the Rooftop Garden for 2 hours (ID PHOTO-16). If you’re aiming for sunset, we can stage the reveal fifteen minutes before—shall we coordinate timing cues?

user:
Yes, please. Also, the rooftop plants look beautiful.

assistant channel=analysis:
Small talk.

assistant channel=final:
Our horticulture team will love that feedback—congrats in advance!


