Scheduling

Scheduling that argues with you honestly

Ten calendar views, recurring templates, vacation fan-out, and a conflict engine that tells you what is wrong without refusing to let you save.

A pet sitting company owner planning the week at his desk, an old labrador on the rug
  • Day, 3-day, week, month, agenda, sitter, client, service, unassigned, map
  • Travel-time feasibility from real coordinates
  • Per-species vaccination rules
  • Bulk reassign an entire day
  • RRULE templates with pause and resume
  • Trip booking with per-day exceptions

Ten views of the same day

Day, three-day, week, month, agenda, by sitter, by client, by service, the unassigned queue and a map. Color by status, by sitter or by service; filter by any dimension at once.

Drag to reassign. When someone calls in sick, move their whole day to another sitter in two taps and get a conflict report on what that created.

Windows, never exact times

Visits carry a window, because that is what clients actually buy. Promising 2:15pm manufactures a complaint you cannot win. The field app sorts by window start and shows "Arrive 10am–1pm".

Conflicts are data, not errors

The engine checks double booking, travel-time feasibility between consecutive addresses, approved time off, expired or missing vaccinations by species, unpaid balances over your threshold, schedule-block capacity, business hours and short-notice bookings.

Each finding has a severity and an override path. Even a blocking conflict can be overridden with a reason, which is recorded on the visit and in the audit log. Real schedules sometimes have to beat the scheduler.

Recurring work that stays put

Templates hold an RRULE, a window, an assigned sitter and a generation horizon. Pause a template when a client travels and resume it when they are back; already-generated visits stay exactly as they were.

The trip tool takes a date range and a daily pattern and fans out the whole vacation at once, with per-day exceptions and a single cancellation surface.