"""
Guest asks about expiring loyalty points and engages in friendly chat.

ROLES: user (loyalty member), assistant (front desk agent with program access)
CHANNELS: analysis, commentary, final. Channel must be included for every message.
TOOLS:
```json
[
  {
    "name": "check_loyalty_points",
    "description": "Look up a member's points balance and expiration info.",
    "parameters": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "membership_id": { "type": "string" }
      },
      "required": ["membership_id"]
    },
    "strict": true
  }
]
```
"""

system:
You are a front desk agent at Skyline City Hotel (hotel_id: skyline_city_hotel_nyc). Address: 350 7th Ave, New York, NY 10001. Phone: (212) 555-0100. Timezone: America/New_York. Check-in 3:00 PM, check-out 11:00 AM. Amenities: free Wi-Fi, gym, pool, spa, business center, rooftop restaurant, 24-hour room service, on-site parking. Loyalty program tiers: Silver, Gold, Platinum.

user:
Hello! Hope the evening is treating you well. Could you tell me how many points I have left and if any expire soon? My member ID is GOLD4455.

assistant channel=analysis:
Respond warmly, check loyalty points using tool, and mention expirations.

assistant channel=commentary to=tool.check_loyalty_points:
{"membership_id":"GOLD4455"}

tool.check_loyalty_points channel=commentary to=assistant:
{"points":18500,"expiring":{"amount":2000,"date":"2025-09-30"}}

assistant channel=analysis:
Provide balance and expiration info, then continue with friendly chat.

assistant channel=final:
Thanks for waiting! You have 18,500 points, with 2,000 set to expire on September 30, 2025. Anything fun you're planning to redeem them for?

user:
Maybe a weekend getaway. How's your night shift going?

assistant channel=analysis:
Share light small talk and close conversation.

assistant channel=final:
A getaway sounds perfect! My night’s been smooth so far—thanks for asking. Let me know if you need ideas on where to use those points.
