Skip to main content
Skip to the work
SlotMorrowKeep appointments, reminders, no-shows, and return visits in one desk.

Appointment arithmetic

Check availability, conflicts, and reminder timing from supplied booking records.

Provide service, requested time, available slots, busy intervals, and appointment identifiers. SlotMorrow returns a slot offer or handoff, conflict IDs, and a normalized record.

Sign in and you go straight back to the SlotMorrow conversation. Work happens in chat. This page never asks for your card details or email address.

FIRST REAL RESULT

A tested booking, reminder, and cancellation loop

  1. BOOKSlot offer or handoff
  2. 24hReminder timestamp
  3. CXLCancellation draft

10:00 is busy. The next 45-minute opening is 11:00, still unconfirmed.

Haircut for 2026-08-31 at 10:00, duration 45 minutes, price USD 20. slot-10-busy overlapped the request; slot-11 is the next available opening at 11:00. conflict=true with conflicting_booking_ids=[slot-10-busy], action=offer_slot.

Slot selection requires matching service, availability, and start time. Conflict checks compare half-open UTC intervals.

Inputs cover service, requested time, slot availability, busy intervals, appointment IDs, timezone, and source.

  1. 01Earliest qualifying slot

    SlotMorrow filters supplied slots by availability, service, and start at or after the requested time, then selects the earliest.

  2. 02Half-open UTC overlap

    It checks half-open UTC interval overlap and retains conflicting booking IDs in input order.

  3. 0324-hour reminder time

    It normalizes the supplied appointment fields and calculates the reminder timestamp 24 hours before the UTC start.

Supplied records in. Slot ID or handoff out.

  • Service name, requested-after time, and slots with ID, service, availability, and start
  • Requested start and end plus busy booking IDs and intervals
  • Appointment ID, lead ID, service, UTC start and end, timezone, and source
  • The earliest matching available slot ID or a handoff when none qualifies
  • A conflict flag and the overlapping booking IDs in supplied order
  • A normalized confirmed appointment record with reminder time exactly 24 hours before start

The conflict was detected. The reply stayed a draft.

A SlotMorrow booking review that caught a busy 10:00 request and proposed the next open slot at 11:00. You get conflicts detected before replies go out, a valid alternative drafted, and nothing booked until the client agrees.

SlotMorrow booking review detecting a busy requested slot and drafting an unconfirmed alternative
A SlotMorrow booking review that caught a busy 10:00 request and proposed the next open slot at 11:00. You get conflicts detected before replies go out, a valid alternative drafted, and nothing booked until the client agrees.

SlotMorrow fills the cubby. A person still holds the keys.

SlotMorrow is an appointment desk for service teams. Collect the visit needed, compare proposed times, send reminders, fill no-show slots, and ask people back — without locking the channel.

  • pick_next_slot returns only offer_slot or handoff and never invents a slot.
  • Illegal instants raise ValueError. Busy intervals are half-open UTC.
  • No WhatsApp send, calendar write, or CRM write without a person.

It does not

  • Sending a WhatsApp message or writing to a calendar
  • Offering a slot for another service, before the requested time, or marked unavailable
  • Hiding a booking interval that overlaps the requested interval

Before acting

  • Confirm availability in the source calendar before offering a time.
  • A person reviews every customer-facing message and booking change.

Keep the day board on one desk.

Bring a booking request, review the offered cubby, and decide whether any customer-facing message should be sent.

Questions

Which slot is offered?

The earliest supplied slot that is available, matches the requested service, and starts at or after the requested-after time is returned.

What happens when no slot qualifies?

The engine returns a handoff action with no slot ID instead of inventing availability.

How are conflicts detected?

Requested and busy times are compared as half-open UTC intervals, and every overlapping booking ID is returned in the supplied order.

What is included in the appointment record?

It includes appointment and lead IDs, service, normalized UTC start and end, timezone, source, confirmed status, and a reminder timestamp exactly 24 hours before start.

SlotMorrow

Signing in opens the SlotMorrow conversation. This page uses PostHog for product analytics (anonymous, optional). See Privacy.