Managing Appointments
Create, schedule, and manage field service appointments with team assignments, status tracking, and customer notifications.
Overview
Appointments are the core scheduling unit in ServiceCortex. Every appointment is linked to a job and represents a specific visit to a customer's property. You can schedule single-day visits, multi-day projects, and recurring appointments -- all while assigning the right team members and equipment.
Creating an Appointment
To create an appointment, navigate to a job and select Add Appointment. Each appointment requires:
- Job -- The parent job this appointment belongs to
- Scheduled Start / End -- The date and time window for the visit
- Arrival Window (optional) -- A broader window (e.g., 9 AM - 12 PM) communicated to the customer, separate from the exact scheduled time
You can also set these optional fields when creating:
- All Day -- Mark the appointment as an all-day event with no specific start/end time
- Billable -- Whether this visit counts toward invoicing (enabled by default)
- Customer Notes -- Visible to the customer in emails and the client portal
- Internal Notes -- Private notes visible only to your team
- Travel Time -- Estimated travel time before and after the appointment, used by the scheduling engine to prevent overlapping bookings
Assigning Team Members and Resources
Each appointment can have one or more assigned team members and equipment resources. The first resource assigned is automatically marked as the primary assignee.
To assign resources:
- Open the appointment detail view
- Select Assign Resource
- Choose a team member or piece of equipment from the available list
- Optionally mark a resource as Primary to designate the lead technician
ServiceCortex checks for scheduling conflicts when you assign a resource. If a team member already has an overlapping appointment, you will see a warning -- though the system allows double-booking when business needs require it.
You can also use Bulk Assign to add multiple resources at once, which is useful for jobs that require a crew.
Smart Scheduling Suggestions
When choosing a time slot, use the Scheduling Suggestions feature. The system ranks available team members by evaluating:
- Service capabilities -- Whether the technician can perform all required services on the job
- Work hours -- Whether the proposed time falls within the team member's configured schedule
- Conflicts -- Existing appointments that would overlap, including travel buffer time
- Certificates -- Whether required certifications are valid, expired, or expiring soon
- Travel time -- Estimated drive time from the technician's previous appointment or base location, calculated via Google Routes
- Hourly rate -- Used to estimate appointment duration based on job pricing
Each suggestion receives a score from 0 to 100 to help you make the best assignment decision.
Appointment Statuses
Every appointment moves through a defined lifecycle:
| Status | Description |
|---|---|
| Unscheduled | Created but no date/time assigned yet |
| Scheduled | Has a confirmed date and time |
| In Progress | Technician has started work on site |
| Completed | Work is finished (terminal -- cannot be edited) |
| Cancelled | Appointment was cancelled (terminal -- cannot be edited) |
Status transitions follow strict rules. For example, you can only start an appointment that is currently Scheduled, and you cannot reschedule an appointment that is In Progress or in a terminal state. When you set a scheduled time on an Unscheduled appointment, it automatically transitions to Scheduled.
Rescheduling and Cancelling
To reschedule an appointment, update the scheduled start and end times from the appointment detail or by dragging it on the calendar. Rescheduling is available for Unscheduled and Scheduled appointments. If you reschedule an Unscheduled appointment, its status automatically changes to Scheduled.
To unschedule an appointment, clear its times to revert it back to Unscheduled status. This removes the scheduled start, end, and any reservation expiry.
To cancel an appointment, provide an optional cancellation reason. Cancellation is available for any non-terminal status. The system records who cancelled it and when.
Completed appointments cannot be deleted to preserve the audit trail. All other statuses allow deletion.
Multi-Day Appointments
For larger jobs that span multiple days, use Multi-Day Appointments. This creates a linked series of appointments grouped together:
- Select the job and choose Schedule Multi-Day
- Define daily time slots for each day of the project
- Assign resources -- the system verifies all resources are available across every day
- ServiceCortex checks for conflicts across the full series before creating any appointments
Each appointment in the series tracks its sequence number and total count, so your team always knows where they are in a multi-day project.
Customer Notifications
ServiceCortex sends automated emails at key points in the appointment lifecycle:
- Confirmation email -- Sent when the appointment is scheduled, includes an .ics calendar file the customer can add to their calendar
- Reservation email -- For tentative bookings, includes a link for the customer to confirm their time slot via the client portal
- Reminder email -- Sent before the appointment with date, time, and property details
You can preview each email before sending and include a custom message. All emails include the property address, appointment date and time (or arrival window), and a link to the customer portal.