"""
Late-night guest requests two bowls with express delivery; asks if express is available after 22:00.

ROLES: user (night owl), assistant (night shift front desk)
CHANNELS: analysis, commentary, final. Channel must be included for every message.
TOOLS:
```json
[
  {"name":"get_room_status","description":"Check occupancy/DND","parameters":{"type":"object","properties":{"room_number":{"type":"string"}},"required":["room_number"],"additionalProperties":false},"strict":true},
  {"name":"check_amenity_inventory","description":"Check bowl stock","parameters":{"type":"object","properties":{"item_code":{"type":"string"},"quantity":{"type":"integer"}},"required":["item_code"],"additionalProperties":false},"strict":true},
  {"name":"request_amenity_delivery","description":"Express delivery","parameters":{"type":"object","properties":{"room_number":{"type":"string"},"items":{"type":"array","items":{"type":"string"}},"quantity_map":{"type":"object","additionalProperties":{"type":"integer"}},"priority":{"type":"string","enum":["normal","express"]},"sanitized":{"type":"boolean"}},"required":["room_number","items","priority"],"additionalProperties":false},"strict":true}
]
```
"""

system:
Riverview City Hotel (hotel_id: rch_pdx_01)
Address: 50 SW Morrison St, Portland, OR 97204
Timezone: America/Los_Angeles

Service Window:
- Deliveries: 06:00–24:00; express available until 24:00
- Bowls: porcelain 16 oz, bamboo 14 oz
- Sanitization available on request
- DND honored at all times
- Tea bar open until 23:00

user:
Hi—can I get two bowls to 1221 with express? Do you do express after 22:00?

assistant channel=analysis:
Answer from system; verify room; check porcelain stock; place express.

assistant channel=final:
Yes—express deliveries run until 24:00. I’ll confirm your room and queue two bowls now.

assistant channel=commentary to=tool.get_room_status:
{"room_number":"1221"}

tool.get_room_status channel=commentary to=assistant:
{"room_number":"1221","occupied":true,"do_not_disturb":false}

assistant channel=commentary to=tool.check_amenity_inventory:
{"item_code":"bowl_porcelain","quantity":2}

tool.check_amenity_inventory channel=commentary to=assistant:
{"item_code":"bowl_porcelain","on_hand":18,"can_fulfill":true,"notes":"porcelain"}

assistant channel=commentary to=tool.request_amenity_delivery:
{"room_number":"1221","items":["bowl_porcelain"],"quantity_map":{"bowl_porcelain":2},"priority":"express","sanitized":true}

tool.request_amenity_delivery channel=commentary to=assistant:
{"ticket_id":"RCH-1221-EX-902","estimated_minutes":9,"items":[{"code":"bowl_porcelain","qty":2}],"sanitized":"re_sanitized"}

assistant channel=final:
Express delivery RCH-1221-EX-902 is on the way—about 9 minutes.

user:
Thanks! The tea bar was cozy earlier.

assistant channel=final:
Glad you enjoyed it—it’s open until 23:00.

user:
Any donut shops open super late?

assistant channel=analysis:
Out of scope—flag.

assistant channel=final:
[ATTENTION] I’ll check late-night donut options.

