Admin Customer Service Guide
Last Updated: 2025-11-18 Version: 1.0
Overview
This guide provides comprehensive procedures for handling customer service operations including communications, issue resolution, cancellations, and customer relationship management.
Table of Contents
- Customer Communication
- Handling Cancellations
- No-Show Management
- Issue Resolution
- Customer Waivers
- Messaging & Notifications
- Best Practices
Customer Communication
Overview
Effective customer communication tools and procedures for maintaining positive customer relationships.
Communication Channels
-
Automated Emails
- Booking confirmations
- Payment receipts
- Reminders (pre-arrival)
- Cancellation confirmations
- Refund notifications
-
Manual Communications
- Admin-initiated emails
- SMS notifications
- Phone calls (documented via notes)
-
In-System Messaging
- Booking notes (internal)
- Customer-facing messages
- Alert notifications
Sending Manual Communications
API Endpoint
POST /api/v1/admin/messaging/send
Request Body
{
"recipientType": "customer",
"recipientId": "customer_123",
"channel": "email",
"templateId": "booking_reminder",
"variables": {
"customerName": "John Smith",
"bookingReference": "REF-2025-045",
"startTime": "2025-11-25T14:00:00Z",
"siteName": "HQ Facility"
},
"priority": "normal",
"trackDelivery": true
}
Communication Types
| Template ID | Purpose | When to Use |
|---|---|---|
booking_reminder | Pre-arrival reminder | 24-48 hours before booking |
booking_update | Booking change notification | When booking details change |
special_offer | Promotional message | Marketing campaigns |
follow_up | Post-visit follow-up | After booking completion |
issue_resolution | Problem resolution | After resolving customer issue |
Message Tracking
Check Delivery Status:
GET /api/v1/admin/messaging/:messageId/status
Response:
{
"messageId": "msg_123",
"status": "delivered",
"channel": "email",
"sentAt": "2025-11-18T10:30:00Z",
"deliveredAt": "2025-11-18T10:30:15Z",
"openedAt": "2025-11-18T11:45:00Z",
"clickedAt": null
}
Communication Best Practices
- Personalize: Always use customer's name and booking details
- Be Timely: Send reminders and updates at appropriate times
- Be Clear: Use simple, direct language
- Be Professional: Maintain friendly but professional tone
- Track: Monitor delivery and engagement metrics
- Document: Add note to booking when manual communication sent
Handling Cancellations
Overview
Procedures for processing customer-initiated and admin-initiated cancellations.
Cancellation Workflow
1. Receive cancellation request
↓
2. Verify booking details
↓
3. Check cancellation policy
↓
4. Calculate refund amount
↓
5. Process cancellation
↓
6. Process refund (if applicable)
↓
7. Send confirmation
↓
8. Document in notes
API Endpoints
Process Cancellation:
POST /api/v1/admin/bookings/:bookingId/cancel
Request:
{
"reason": "customer_request",
"cancellationNotes": "Customer had family emergency",
"refundPolicy": "standard",
"overridePolicy": false,
"notifyCustomer": true
}
Response:
{
"bookingId": "booking_123",
"status": "cancelled",
"refundAmount": 120.0,
"refundRequestId": "refund_req_456",
"cancellationFee": 0.0,
"cancelledAt": "2025-11-18T10:30:00Z",
"cancelledBy": "admin_sarah",
"warnings": []
}
Cancellation Reasons
| Reason Code | Description | Typical Refund |
|---|---|---|
customer_request | Customer-initiated | Per policy |
admin_initiated | Admin cancelled | Full |
capacity_issue | Overbooking/capacity | Full |
equipment_failure | Operational issue | Full |
weather | Weather-related | Full |
customer_no_show | Customer didn't arrive | None |
duplicate | Duplicate booking | Full |
Cancellation Policies
Standard Policy
- More than 48 hours: Full refund
- 24-48 hours: 50% refund
- Less than 24 hours: No refund
- No-show: No refund
Flexible Policy
- More than 24 hours: Full refund
- Less than 24 hours: 50% refund
- No-show: No refund
Strict Policy
- More than 72 hours: Full refund minus processing fee
- Less than 72 hours: No refund
- No-show: No refund
Override Scenarios
You can override the standard policy in these situations:
-
Emergency Situations
- Medical emergencies
- Family emergencies
- Natural disasters
-
Operational Issues
- Equipment failure on your end
- Staff scheduling issues
- Facility problems
-
Customer Service Recovery
- Previous poor experience
- Service failure
- Goodwill gesture
-
Business Decisions
- VIP customers
- Bulk booking adjustments
- Special circumstances
Override Requires:
admin:cancellations:overridepermission- Documented reason in cancellation notes
Multi-Slot Cancellations
For bookings spanning multiple time slots:
Full Cancellation:
{
"cancelAll": true,
"reason": "customer_request"
}
Partial Cancellation:
{
"cancelAll": false,
"slotsToCanel": ["slot_123", "slot_456"],
"reason": "reduced_party_size"
}
Post-Cancellation Actions
- Release Capacity: Slot automatically returned to inventory
- Process Refund: If applicable (see Financial Operations guide)
- Send Confirmation: Email customer with cancellation details
- Update Notes: Document reason and any special circumstances
- Follow Up: Consider follow-up for future rebooking
No-Show Management
Overview
Handling customers who don't arrive for their booking.
No-Show Workflow
1. Confirm customer did not arrive
↓
2. Wait grace period (typically 15 minutes)
↓
3. Attempt to contact customer
↓
4. Mark as no-show in system
↓
5. Apply no-show policy
↓
6. Document circumstances
↓
7. Follow up with customer
API Endpoint
POST /api/v1/admin/bookings/:bookingId/no-show
Request:
{
"noShowTime": "2025-11-25T14:15:00Z",
"contactAttempts": [
{
"method": "phone",
"timestamp": "2025-11-25T14:05:00Z",
"result": "no_answer"
},
{
"method": "sms",
"timestamp": "2025-11-25T14:10:00Z",
"result": "sent"
}
],
"notes": "Customer did not arrive, attempted phone and SMS contact with no response",
"applyNoShowFee": true,
"blockFutureBookings": false
}
No-Show Policies
Standard Policy
- First No-Show: Warning, no penalty
- Second No-Show: 50% no-show fee
- Third No-Show: Full booking amount charged
- Fourth No-Show: Account restriction
Strict Policy
- First No-Show: 50% no-show fee
- Second No-Show: Full amount + temporary block
- Third No-Show: Permanent account restriction
Grace Period Guidelines
| Product Type | Recommended Grace Period |
|---|---|
| Standard Sessions | 15 minutes |
| Premium/VIP | 30 minutes |
| Large Groups | 20 minutes |
| Time-Sensitive Events | 10 minutes |
Contact Procedures
- Phone Call: Try primary phone number
- SMS: Send text message
- Email: Send immediate email
- Wait: Grace period before marking no-show
Late Arrivals
If customer arrives during grace period:
- Welcome Them: Be friendly and professional
- Assess Time: Determine if full session possible
- Adjust Session: Modify end time if needed
- Document: Add note about late arrival
- Consider: Whether to charge late fee (if policy allows)
Follow-Up Procedures
Next Day Follow-Up:
Subject: We Missed You Yesterday
Hi [Customer Name],
We noticed you weren't able to make your booking yesterday at [Time] for [Product]. We understand that unexpected things happen.
If you'd like to reschedule, we'd be happy to help you find a new time. Please reply to this email or call us at [Phone].
We look forward to seeing you soon!
[Your Team]
No-Show Fee Processing
Apply Fee:
POST /api/v1/admin/bookings/:bookingId/apply-fee
Request:
{
"feeType": "no_show",
"amount": 50.0,
"reason": "Second no-show within 30 days",
"notifyCustomer": true
}
Issue Resolution
Overview
Systematic approach to resolving customer complaints and issues.
Issue Categories
| Category | Examples | Priority | Response Time |
|---|---|---|---|
safety | Injury, unsafe conditions | Critical | Immediate |
service_quality | Staff behavior, cleanliness | High | 1 hour |
billing | Incorrect charges | High | 2 hours |
booking_error | Wrong time, lost booking | High | 1 hour |
equipment | Broken equipment | Medium | 4 hours |
experience | Didn't meet expectations | Medium | 24 hours |
general | General feedback | Low | 48 hours |
Issue Resolution Workflow
1. Log the issue
↓
2. Classify priority
↓
3. Acknowledge to customer
↓
4. Investigate
↓
5. Determine solution
↓
6. Implement solution
↓
7. Notify customer
↓
8. Follow up
↓
9. Close issue
Logging Issues
Create Issue:
POST /api/v1/admin/issues
Request:
{
"bookingId": "booking_123",
"category": "service_quality",
"priority": "high",
"summary": "Customer complained about wait time",
"description": "Customer had to wait 20 minutes past scheduled time due to previous session running late",
"reportedBy": "customer",
"reportedAt": "2025-11-18T15:30:00Z",
"contactInfo": {
"name": "John Smith",
"email": "john@example.com",
"phone": "+1234567890"
}
}
Standard Resolutions
Service Quality Issues
- Immediate Apology: Acknowledge the problem
- Investigation: Talk to staff involved
- Compensation: Discount, comp booking, or refund
- Training: Address with staff if needed
- Follow-Up: Ensure customer satisfied
Billing Issues
- Review Charges: Check booking and payment records
- Explain Breakdown: Show itemized charges
- Correct Errors: Adjust if mistake found
- Process Refund: If overcharged
- Document: Update billing records
Booking Errors
- Verify Details: Confirm what customer expected
- Check System: Review what was actually booked
- Find Solution: Reschedule or refund
- Compensate: Consider goodwill discount
- Prevent: Update processes to prevent recurrence
Resolution Templates
Apology Template
Hi [Customer Name],
I sincerely apologize for [specific issue]. This is not the experience we want our customers to have.
[Specific explanation if appropriate]
To make this right, I'd like to [specific offer/solution].
Please let me know if this works for you, or if there's anything else I can do.
Thank you for bringing this to our attention.
Best regards,
[Your Name]
[Your Title]
Compensation Guidelines
| Issue Severity | Compensation Range |
|---|---|
| Minor inconvenience | 10-20% discount on future |
| Moderate problem | 25-50% refund or credit |
| Major issue | Full refund |
| Safety/critical | Full refund + additional |
Escalation Procedures
When to Escalate:
- Safety concerns
- Legal threats
- Requests exceeding your authority
- Customer demanding manager
- Unresolved after 24 hours
Escalation Path:
- Front-line staff → Shift supervisor
- Shift supervisor → Facility manager
- Facility manager → Regional manager
- Regional manager → Corporate
Documenting Resolutions
Update Issue:
PATCH /api/v1/admin/issues/:issueId
Request:
{
"status": "resolved",
"resolution": "Provided full refund of $120 and offered 20% discount on next booking",
"compensationAmount": 120.0,
"resolvedBy": "admin_sarah",
"resolvedAt": "2025-11-18T16:45:00Z",
"customerSatisfaction": "satisfied",
"followUpRequired": false
}
Customer Waivers
Overview
Managing liability waivers and participant agreements.
Waiver Types
-
Standard Liability Waiver
- Required for all participants
- Covers general activity risks
- Valid for one year
-
Minor Waiver
- Required for participants under 18
- Signed by parent/guardian
- Special provisions for minors
-
Photo/Video Release
- Optional marketing consent
- Can be declined
- Separate from liability waiver
-
Medical Waiver
- For participants with medical conditions
- Requires disclosure
- May require doctor approval
Waiver Workflow
1. Customer books activity
↓
2. Waiver sent automatically
↓
3. Customer signs electronically
↓
4. System verifies signature
↓
5. Waiver stored securely
↓
6. Booking allowed to proceed
API Endpoints
Get Waiver Status:
GET /api/v1/admin/waivers/booking/:bookingId
Response:
{
"bookingId": "booking_123",
"requiredWaivers": [
{
"type": "liability",
"status": "signed",
"signedBy": "John Smith",
"signedAt": "2025-11-18T10:00:00Z",
"documentUrl": "https://storage.example.com/waivers/w_123.pdf"
},
{
"type": "minor",
"status": "pending",
"participant": "Jane Smith (age 12)",
"reminderSent": "2025-11-18T09:00:00Z"
}
],
"allWaiversComplete": false,
"canProceed": false
}
Manually Mark Waiver:
POST /api/v1/admin/waivers/manual
Request:
{
"bookingId": "booking_123",
"waiverType": "liability",
"participantName": "John Smith",
"signedInPerson": true,
"signedBy": "admin_sarah",
"notes": "Customer signed paper waiver at facility",
"paperWaiverReference": "PAPER-2025-123"
}
Incomplete Waiver Handling
If waivers incomplete at check-in:
- Check Status: Verify which waivers missing
- Offer On-Site: Provide tablet/paper waiver
- Wait for Completion: Don't start activity until complete
- Manual Override: Only with manager approval for special cases
- Document: Note reason for any override
Waiver Reminder System
Send Reminder:
POST /api/v1/admin/waivers/:waiverRequestId/remind
Automatic Reminders:
- 7 days before booking
- 48 hours before booking
- 24 hours before booking
- Day of booking (if still unsigned)
Waiver Storage
- Retention Period: 7 years (or per local regulations)
- Format: PDF with digital signature
- Security: Encrypted at rest
- Access: Restricted to authorized admin users
- Backup: Regular automated backups
Messaging & Notifications
Overview
Proactive communication through automated and manual messaging.
Automated Notifications
| Notification Type | Trigger | Timing | Channel |
|---|---|---|---|
| Booking Confirmation | Booking created | Immediate | |
| Payment Receipt | Payment received | Immediate | |
| Waiver Reminder | Waiver not signed | 7, 2, 1 days before | |
| Pre-Arrival Reminder | Upcoming booking | 24 hours before | Email/SMS |
| Arrival Confirmation | Day of booking | Morning of | SMS |
| Post-Visit Follow-Up | After completion | 24 hours after | |
| Feedback Request | After completion | 3 days after |
Notification Preferences
Customers can customize notification preferences:
Update Preferences:
PATCH /api/v1/admin/customers/:customerId/preferences
Request:
{
"emailNotifications": {
"bookingConfirmation": true,
"reminders": true,
"marketing": false,
"followUp": true
},
"smsNotifications": {
"reminders": true,
"arrivalConfirmation": false
},
"language": "en",
"timezone": "America/New_York"
}
Bulk Messaging
Send to Multiple Customers:
POST /api/v1/admin/messaging/bulk
Request:
{
"recipientFilter": {
"bookingDateFrom": "2025-11-25",
"bookingDateTo": "2025-11-25",
"siteId": "site_hq"
},
"message": {
"subject": "Important Update for Tomorrow's Visit",
"body": "We wanted to let you know...",
"channel": "email"
},
"sendAt": "2025-11-24T18:00:00Z"
}
Notification Analytics
View Metrics:
GET /api/v1/admin/messaging/analytics
Response:
{
"period": "last_30_days",
"emailMetrics": {
"sent": 1250,
"delivered": 1230,
"opened": 890,
"clicked": 340,
"bounced": 20,
"openRate": 0.72,
"clickRate": 0.27
},
"smsMetrics": {
"sent": 450,
"delivered": 448,
"deliveryRate": 0.996
},
"topTemplates": [
{
"template": "booking_reminder",
"sent": 400,
"openRate": 0.85
}
]
}
Best Practices
Communication
- Respond Quickly: Aim for same-day response to all inquiries
- Be Personal: Use customer's name and booking details
- Stay Positive: Maintain friendly, helpful tone even under pressure
- Follow Through: Do what you say you'll do
- Document Everything: Log all significant interactions
Cancellation Handling
- Show Empathy: Understand customer's situation
- Explain Policy: Clearly communicate cancellation terms
- Offer Alternatives: Suggest rescheduling before refund
- Process Quickly: Complete refunds within 24 hours
- Learn: Track cancellation reasons to identify patterns
No-Show Prevention
- Send Reminders: Multiple touchpoints before booking
- Confirm Arrival: Day-of confirmation
- Easy Rescheduling: Make it easy to change plans
- Build Relationship: Engage customers between visits
- Flexible Policies: Consider more lenient policies
Issue Resolution
- Listen First: Let customer fully explain the problem
- Acknowledge: Validate their feelings
- Apologize: Even if not your fault
- Solve Quickly: Don't delay resolution
- Go Extra Mile: Exceed expectations when possible
- Learn: Use issues to improve operations
Waiver Management
- Early Reminder: Send waivers immediately after booking
- Make Easy: Simple, mobile-friendly process
- Verify Completion: Check before day of visit
- Have Backup: Always have paper waivers available
- Train Staff: Ensure all staff can handle waiver issues
Common Scenarios
Scenario 1: Last-Minute Cancellation
Customer: "I need to cancel my booking tomorrow, can I get a refund?"
Response:
- Check booking details and cancellation policy
- "I understand things come up. Your booking is scheduled for tomorrow at 2 PM, and our standard policy provides a 50% refund for cancellations within 24 hours."
- "However, if you'd like to reschedule instead, we can move it to any available time in the next 90 days at no charge."
- If they insist on cancellation: Process refund, send confirmation, add note
- If they reschedule: Find new time, update booking, send confirmation
Scenario 2: Angry Customer
Customer: "I've been waiting 30 minutes! This is unacceptable!"
Response:
- Stay calm and professional
- "I sincerely apologize for the wait. This is not the experience we want you to have."
- Investigate the delay
- "The previous session ran over due to [reason]. We're getting you started right now."
- Offer compensation: "I'd like to extend your session by 15 minutes and give you 20% off your next visit."
- Document the incident and follow up later
Scenario 3: Disputed Charge
Customer: "I was charged twice!"
Response:
- "Let me look into that right away."
- Pull up payment records
- If duplicate: "You're right, I see two charges. I'm processing a refund for the duplicate charge now. It should appear in 3-5 business days."
- If authorization hold: "I see what happened. One charge is an authorization hold that will drop off in 24 hours. Only the other charge will actually process."
- Send detailed email explanation
- Follow up to confirm refund received