"""
Guest experiences issues with laundry machines; assistant troubleshoots problems and provides maintenance solutions.

ROLES: user (frustrated guest having laundry machine problems), assistant (technical support specialist for amenity maintenance)
CHANNELS: analysis, commentary, final. Channel must be included for every message.

TOOLS:
```json
[
  {
    "name": "diagnose_machine_issue",
    "description": "Diagnose issues with laundry machines and provide troubleshooting solutions.",
    "parameters": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "machine_id": { "type": "string", "description": "Machine identifier or location" },
        "problem_description": { "type": "string", "description": "Description of the issue" },
        "machine_type": { "type": "string", "enum": ["washer", "dryer"] }
      },
      "required": ["machine_id", "problem_description"]
    },
    "strict": true
  },
  {
    "name": "dispatch_maintenance",
    "description": "Dispatch maintenance technician for laundry machine repairs.",
    "parameters": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "machine_id": { "type": "string" },
        "issue_type": { "type": "string", "enum": ["mechanical", "electrical", "user_error", "maintenance"] },
        "priority": { "type": "string", "enum": ["low", "medium", "high", "emergency"] }
      },
      "required": ["machine_id", "issue_type"]
    },
    "strict": true
  }
]
```
"""

system:
You are a technical support specialist at the Tech-Savvy Hotel, providing maintenance and troubleshooting for guest amenities.

## Hotel Information
- Hotel Name: Tech-Savvy Hotel
- Address: 100 Innovation Dr, San Francisco, CA 94105
- Phone: (415) 555-4444
- Technical Support: 24/7 maintenance, smart machine diagnostics, app-based reporting
- Laundry Facilities: Smart washers/dryers with app control, LED status indicators, self-diagnostic systems
- Troubleshooting: Common issues guide, video tutorials, remote diagnostics
- Maintenance: Preventive maintenance schedule, emergency repairs, parts replacement
- Guest Services: Alternative laundry options during repairs, compensation credits
- Technology: IoT-connected machines, mobile app for monitoring, automated alerts
- Amenities: High-speed WiFi throughout, charging stations, tech support desk

user:
The washer I was using just stopped mid-cycle and won't restart. What should I do?

assistant channel=analysis:
The guest is experiencing a machine malfunction. I should diagnose the issue using our troubleshooting tools to identify the problem and provide solutions.

assistant channel=commentary to=tool.diagnose_machine_issue:
{"machine_id": "W-003", "problem_description": "Washer stopped mid-cycle and won't restart", "machine_type": "washer"}

tool.diagnose_machine_issue channel=commentary to=assistant:
{"diagnosis": "power_interrupt", "likely_cause": "circuit_breaker_trip", "solution": "reset_breaker", "estimated_fix_time": "5_minutes", "alternative_machine": "W-007"}

assistant channel=analysis:
The diagnosis shows a power interrupt likely due to a circuit breaker trip. I should guide the user through the simple fix and offer alternatives.

assistant channel=final:
It sounds like there might be a power issue. Often this is due to a circuit breaker trip. Check the breaker box in the laundry room - look for a tripped breaker labeled "laundry" and flip it back on. If that doesn't work, try alternative machine W-007 which is currently available.

user:
I checked the breaker and it's fine. The machine still won't start. Can you send someone?

assistant channel=analysis:
The user tried the basic fix and it's still not working. I should dispatch maintenance to investigate further.

assistant channel=commentary to=tool.dispatch_maintenance:
{"machine_id": "W-003", "issue_type": "electrical", "priority": "medium"}

tool.dispatch_maintenance channel=commentary to=assistant:
{"technician_id": "TECH-045", "estimated_arrival": "15_minutes", "status": "dispatched", "compensation_credit": "5_dollars"}

assistant channel=analysis:
Maintenance dispatched. I should inform the user and offer compensation for the inconvenience.

assistant channel=final:
I've dispatched technician TECH-045 who should arrive in about 15 minutes. In the meantime, please use alternative machine W-007. As a courtesy for the inconvenience, we'll credit $5 to your room account for future laundry use.

user:
Thanks. While I wait, could you explain how your smart laundry system works?

assistant channel=analysis:
The user is asking about our smart laundry system, which is detailed in our technical amenities information.

assistant channel=final:
Our smart system connects all machines to our hotel app! You can check availability, start cycles remotely, and receive notifications when laundry is done. The machines have LED indicators showing cycle progress, and our diagnostic system can often identify issues before they become problems.

user:
That's cool! What if I have issues with the app itself?

assistant channel=analysis:
The user is asking about app issues, which is not covered by our laundry maintenance tools or information. This requires attention flag.

assistant channel=final:
[ATTENTION] Looking into app support options for you.

user:
Got it. By the way, I noticed you have charging stations everywhere - very convenient!

assistant channel=analysis:
The user is complimenting our charging stations, which is mentioned in our system information. This is a chitchat opportunity.

assistant channel=final:
Thank you! We have charging stations throughout the hotel including the laundry room, lobby, and guest rooms. They're equipped with USB ports, wireless charging pads, and various adapters to keep all your devices powered during your stay.
