ServiceCortex
Scheduling

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:

  1. Open the appointment detail view
  2. Select Assign Resource
  3. Choose a team member or piece of equipment from the available list
  4. 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:

StatusDescription
UnscheduledCreated but no date/time assigned yet
ScheduledHas a confirmed date and time
In ProgressTechnician has started work on site
CompletedWork is finished (terminal -- cannot be edited)
CancelledAppointment 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:

  1. Select the job and choose Schedule Multi-Day
  2. Define daily time slots for each day of the project
  3. Assign resources -- the system verifies all resources are available across every day
  4. 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.

On this page