Scheduling Jobs
Scheduling appointments and assigning resources to jobs
Appointments are the scheduled visits that make up a job. A single job can have one appointment or many -- for example, a renovation project might have separate appointments for demolition, electrical work, and finishing. Each appointment has its own time slot, assigned team members, and status, giving you granular control over every visit.
Creating an appointment
From the job detail view, click Add Appointment. You can set the following details:
| Field | Description |
|---|---|
| Scheduled start | The date and time the appointment begins. |
| Scheduled end | The date and time the appointment ends. |
| Window start/end | An optional arrival window shown to the client (e.g. "between 9am and 12pm"). |
| All day | Mark the appointment as a full-day event with no specific time. |
| Billable | Whether this appointment counts toward invoicing. Enabled by default. |
If you leave the start time blank, the appointment is created in the Unscheduled status and appears in your scheduling backlog until a time is assigned.
Appointment statuses
Appointments move through a defined lifecycle:
| Status | Description |
|---|---|
| Unscheduled | The appointment exists but has no date or time assigned. It sits in the scheduling backlog. |
| Reserved | A time slot is held for the client but not yet confirmed. Reserved slots expire automatically if not confirmed within the reservation window. |
| Scheduled | The appointment has a confirmed date and time. |
| In Progress | A team member has started work. The appointment was either started manually or transitioned automatically. |
| Completed | The work is finished. Completed appointments cannot be edited or deleted. |
Status transitions are enforced by domain rules. For example, you cannot skip from Unscheduled directly to Completed, and you cannot reschedule an appointment that is already in progress.
Assigning team members
Every appointment can have one or more team members (resources) assigned to it. To assign members:
- Open the appointment detail view.
- Click Assign Member and select a team member from the list.
- Optionally mark one member as the primary assignee. The primary member is shown as the lead on calendar views and client-facing communications.
You can also use Bulk Assign to add multiple members at once. The first member in a bulk assignment is automatically designated as primary.
Conflict detection
When you assign a member, ServiceCortex checks for scheduling conflicts with their other appointments. If a conflict is detected, a warning is shown but the assignment is still allowed -- some businesses intentionally double-book team members for overlapping jobs.
Finding available members
Use the Find Available feature to see which team members are free during the appointment's time slot. The system filters out members who already have conflicting appointments and shows their capabilities so you can match the right skills to the job.
Scheduling suggestions
ServiceCortex can suggest optimal time slots for new appointments. When creating or rescheduling an appointment, click Suggest Times to see recommendations based on:
- Team member availability and existing schedules
- Travel time from the previous appointment to the property
- Your configured working hours and scheduling preferences
You can adjust scheduling defaults in Settings > Schedule Settings, including working hours, minimum lead time, and how far ahead the system looks for available slots.
Multi-day appointments
For jobs that span multiple consecutive days, use the Multi-Day option when creating appointments. This creates a linked series of appointments with one per day, all sharing the same team members and grouped together visually on the calendar.
Each appointment in the series tracks its own status independently, so you can complete Day 1 while Day 2 is still in progress.
Rescheduling
To reschedule an appointment, open it and change the scheduled start and end times. Appointments in the following statuses can be rescheduled:
- Unscheduled -- assigning a time automatically transitions the status to Scheduled.
- Reserved -- the reservation is updated with the new time.
- Scheduled -- the appointment moves to the new slot.
Appointments that are In Progress or Completed cannot be rescheduled.
Completing an appointment
When work is finished, click Complete on the appointment. Depending on your workspace settings, you may need to satisfy completion requirements before the appointment can be marked as done:
| Requirement | Description |
|---|---|
| Time entry | At least one time entry with a duration greater than zero. |
| Before photos | One or more photos taken before work began. |
| After photos | One or more photos taken after work is finished. |
| Customer signature | A signature captured from the client on-site. |
| Forms complete | All linked forms/documents must be in a completed state. |
These requirements can be configured globally in your schedule settings or per service type.
When the last appointment on a job is completed, the job is automatically marked as done. If the job has invoice reminders enabled, its status changes to Requires Invoicing so your back-office team knows to generate an invoice.
Cancelling an appointment
Click Cancel to remove an appointment. Cancelling deletes the appointment record and emits a notification event so assigned team members are informed. Completed appointments cannot be cancelled.
What's next
- Set up recurring jobs for repeating appointments.
- Manage your team resources and their availability.
- View the calendar to see all appointments at a glance.