Appearance
Appointments Module
The Appointments module allows you to manage appointment types, time slots, and customer bookings. This comprehensive guide covers all appointment management features.
Table of Contents
- Overview
- Accessing Appointments
- Appointment Types
- Time Slot Management
- Creating Appointments
- Managing Appointments
- Appointment Status
- Frontend Booking System
- Email Notifications
- Best Practices
Overview
Features
- ✅ Create appointment types
- ✅ Automatic and custom time slot generation
- ✅ Appointment booking management
- ✅ Status tracking (Pending, Confirmed, Completed, etc.)
- ✅ Calendar integration
- ✅ Email notifications and reminders
- ✅ Frontend booking system
- ✅ Customer appointment portal
Admin Routes
- Appointment List:
/admin/appointments - Appointment Types:
/admin/appointment-types - Create Type:
/admin/appointment-types/create - Time Slots:
/admin/time-slots
Frontend Routes
- Appointments Page:
/appointments - Book Appointment:
/appointments/book/{slug} - My Appointments:
/my-appointments(authenticated) - Appointment Details:
/appointments/{slug}
Accessing Appointments
From Admin Panel
- Log in to admin panel
- Navigate to Business → Appointments
- Or go directly to:
/admin/appointments
Permissions Required
- View Appointments:
view appointmentspermission - Create Appointments:
create appointmentspermission - Edit Appointments:
edit appointmentspermission - Manage Appointment Types:
manage appointment typespermission
Appointment Types
Creating Appointment Types
Route: /admin/appointment-types/create
Step 1: Basic Information
Type Name:
- Name of appointment type
- Required field
- Example:
Consultation,Follow-up,Initial Assessment
Slug:
- Auto-generated from name
- Can be edited manually
- Must be unique
- Used in booking URL
Description:
- Brief description
- Shown to customers
- Explain what the appointment is for
Step 2: Duration
Duration (Minutes):
- How long appointment lasts
- Required field
- Examples:
30minutes60minutes (1 hour)90minutes (1.5 hours)
Buffer Time (Optional):
- Time between appointments
- Prevents back-to-back bookings
- Example:
15minutes buffer
Step 3: Pricing
Price:
- Appointment price
- Use decimal format (e.g.,
50.00) - Can be free (
0.00) - Currency set in settings
Pricing Display:
- Show/hide price
- "Free" for $0
- Custom pricing text
Step 4: Availability Settings
Maximum Bookings per Slot:
- How many appointments per time slot
- Default:
1(one-on-one) - Can allow multiple (group sessions)
Advance Booking:
- How far in advance customers can book
- Example:
30days ahead - Prevents too-early bookings
Same-Day Booking:
- Allow same-day bookings
- Toggle on/off
- Useful for urgent appointments
Step 5: Status
Active Status:
- Active: Available for booking
- Inactive: Not available
- Toggle to enable/disable
Step 6: Save Type
- Save: Create appointment type
- Save & Generate Slots: Create type and generate time slots
Managing Appointment Types
Edit Type
- Go to Appointment Types list
- Click Edit on type
- Make changes
- Click Update
Delete Type
- Click Delete on type
- Confirm deletion
- Warning: Related appointments preserved
- Type removed
Toggle Status
Route: /admin/appointment-types/{type}/toggle-status
- Click Toggle Status button
- Status changes immediately
- Active ↔ Inactive
Time Slot Management
Automatic Slot Generation
Route: /admin/appointment-types/{type}/generate-slots
Generate Slots
- Go to appointment type
- Click Generate Time Slots
- Configure:
- Start Date: When slots begin
- End Date: When slots end
- Days of Week: Which days
- Start Time: First slot time
- End Time: Last slot time
- Interval: Time between slots
- Click Generate
- Slots created automatically
Example:
- Monday to Friday
- 9:00 AM to 5:00 PM
- 30-minute intervals
- Creates: 9:00, 9:30, 10:00, 10:30, etc.
Custom Slot Generation
Route: /admin/appointment-types/{type}/generate-custom-slots
- Click Generate Custom Slots
- Manually set:
- Specific dates
- Specific times
- Custom intervals
- Create slots individually
- More control over availability
Managing Time Slots
View Available Slots
Route: /admin/appointment-types/{type}/slots
- Go to appointment type
- View all time slots
- See:
- Date and time
- Availability status
- Booked appointments
- Available slots
Delete Time Slots
Route: /admin/time-slots/{slot}/destroy
- Click Delete on slot
- Confirm deletion
- Slot removed
- Future appointments unaffected
Bulk Delete Slots
Route: /admin/time-slots/bulk-delete
- Select multiple slots
- Click Bulk Delete
- Confirm deletion
- All selected slots removed
Creating Appointments
From Admin Panel
Route: /admin/appointments/create
Step 1: Select Appointment Type
- Choose appointment type
- Type details shown:
- Duration
- Price
- Description
Step 2: Select Time Slot
- Choose date
- View available slots
- Select time slot
- Slot details shown
Step 3: Customer Information
Customer Selection:
- Existing Customer: Select from list
- New Customer: Enter details
Required Information:
- First Name
- Last Name
- Email Address
- Phone Number (optional)
Step 4: Additional Details
Notes:
- Internal notes
- Customer requirements
- Special instructions
Status:
- Set initial status
- Default: Pending
Step 5: Save Appointment
- Create: Save appointment
- Create & Send Confirmation: Save and email customer
From Frontend
Customers can book appointments via frontend booking form (see Frontend Booking System).
Managing Appointments
Appointment List View
Access at: /admin/appointments
List Features
Search:
- Search by customer name
- Search by email
- Search by appointment type
Filters:
- Type: Filter by appointment type
- Status: Pending/Confirmed/Completed/etc.
- Date Range: Filter by date
- Customer: Filter by customer
Sorting:
- By Date (Upcoming/Recent)
- By Customer Name
- By Type
- By Status
Displayed Information
- Customer: Customer name
- Type: Appointment type
- Date & Time: Appointment schedule
- Status: Current status
- Duration: Appointment length
- Price: Appointment cost
Appointment Actions
View Details
- Click on appointment
- View full details:
- Customer information
- Appointment type
- Date and time
- Status
- Notes
- History
Confirm Appointment
Route: /admin/appointments/{appointment}/confirm
- Click Confirm button
- Status changes to Confirmed
- Customer notified via email (if enabled)
- Calendar updated
Complete Appointment
Route: /admin/appointments/{appointment}/complete
- Click Complete button
- Status changes to Completed
- Appointment marked as done
- Can add completion notes
Mark as No-Show
Route: /admin/appointments/{appointment}/mark-no-show
- Click Mark as No-Show
- Status changes to No-Show
- Customer may be charged (if configured)
- Slot can be reused
Resend Confirmation
Route: /admin/appointments/{appointment}/resend-confirmation
- Click Resend Confirmation
- Confirmation email sent
- Useful if customer didn't receive
Cancel Appointment
- Click Cancel button
- Status changes to Cancelled
- Customer notified (if enabled)
- Slot becomes available
Bulk Operations
Bulk Delete
Route: /admin/appointments/bulk-destroy
- Select multiple appointments
- Click Bulk Actions → Delete
- Confirm deletion
- All selected removed
Bulk Action
Route: /admin/appointments/bulk-action
- Select appointments
- Click Bulk Actions
- Choose action:
- Change Status
- Send Reminder
- Export
- Apply to all selected
Appointment Status
Status Types
Pending
- Initial Status: When first created
- Meaning: Awaiting confirmation
- Action: Admin should confirm
Confirmed
- Meaning: Appointment confirmed
- Meaning: Customer expects to attend
- Action: Send reminder before appointment
Completed
- Meaning: Appointment finished
- Action: Add completion notes
- Next: Follow-up if needed
Cancelled
- Meaning: Appointment cancelled
- Reason: Customer or admin cancelled
- Action: Slot available for rebooking
No-Show
- Meaning: Customer didn't attend
- Action: May charge customer (if configured)
- Note: Track for customer history
Status Workflow
Typical Flow:
- Pending → Created
- Confirmed → Admin confirms
- Completed → Appointment done OR
- Cancelled → Cancelled before appointment OR
- No-Show → Customer didn't attend
Frontend Booking System
Appointments Page
URL: /appointments
Features:
- List of available appointment types
- Type descriptions
- Pricing information
- Duration
- "Book Now" buttons
Book Appointment Form
URL: /appointments/book/{slug}
Booking Process
Select Appointment Type:
- Customer chooses type
- Sees type details
Select Date:
- Calendar view
- Available dates highlighted
- Past dates disabled
Select Time:
- Available time slots shown
- Based on selected date
- Real-time availability
Customer Information:
- Name
- Phone
- Additional notes (optional)
Confirm Booking:
- Review details
- Submit booking
- Receive confirmation
Available Slots API
Route: /appointments/{type}/slots
- Returns available time slots
- Filters by date
- Shows only available slots
- Updates in real-time
My Appointments
URL: /my-appointments (authenticated)
Features:
- Customer's appointments
- Upcoming appointments
- Past appointments
- Appointment details
- Cancel option
Appointment Details
URL: /appointments/{slug}
Features:
- Appointment information
- Date and time
- Location (if applicable)
- Status
- Cancel option
- Reschedule option (if enabled)
Appointment Confirmation
URL: /appointments/confirmation/{appointment}
- Booking confirmation page
- Appointment details
- Next steps
- Calendar add option
Email Notifications
Notification Types
Appointment Confirmation
Sent When:
- Customer books appointment
- Admin confirms appointment
Includes:
- Appointment details
- Date and time
- Location (if applicable)
- Cancellation instructions
Appointment Reminder
Sent When:
- 24 hours before appointment
- 1 hour before appointment (optional)
Includes:
- Appointment reminder
- Date and time
- Preparation instructions
Appointment Cancellation
Sent When:
- Appointment is cancelled
- By customer or admin
Includes:
- Cancellation confirmation
- Reason (if provided)
- Reschedule option
Configuring Notifications
- Go to Settings → Email Settings
- Configure SMTP (see Email Settings)
- Enable appointment notifications
- Set reminder times
Best Practices
Appointment Type Setup
Clear Descriptions:
- Explain appointment purpose
- Set expectations
- Include duration
- Show pricing
Realistic Durations:
- Allow enough time
- Include buffer time
- Consider preparation
- Plan for questions
Pricing Strategy:
- Clear pricing
- Show value
- Offer packages
- Transparent costs
Time Slot Management
Regular Updates:
- Update availability regularly
- Block unavailable times
- Add extra slots when needed
- Remove old slots
Buffer Time:
- Use buffer between appointments
- Prevents running late
- Allows preparation
- Better customer experience
Advance Booking:
- Set reasonable advance limit
- Prevent too-early bookings
- Allow same-day if needed
- Balance availability
Appointment Management
Quick Confirmation:
- Confirm appointments promptly
- Set expectations
- Send reminders
- Follow up
Status Tracking:
- Keep status updated
- Mark completed
- Track no-shows
- Follow up on cancellations
Customer Communication:
- Send confirmations
- Send reminders
- Notify of changes
- Follow up
Troubleshooting
Slots Not Generating
Solutions:
- Check appointment type settings
- Verify date range
- Check time settings
- Ensure type is active
Booking Not Working
Solutions:
- Verify appointment type is active
- Check available slots exist
- Verify frontend form
- Check email settings
Notifications Not Sending
Solutions:
- Check email configuration
- Verify SMTP settings
- Check spam folder
- Test email functionality
Related Documentation
Last Updated: [Date will be updated during final review]