Why two timings instead of one

A pre-check-in waiver shouldn't be due the moment a guest books for next month — it should be due 2 days before they actually arrive. But you also don't want it to magically appear 2 days before with no time for them to act on it. You want it created as soon as the booking is confirmed and due at the right moment.

Every checklist now has two separate timing controls:

  1. Auto-creates at — when ArrivHQ generates the checklist run
  2. Due at — when the run actually shows up on Today and starts counting toward overdue

The editor

Open any checklist in the editor. The Timing section now has two rows:

Auto-creates at  [Reservation booked  ▾]   After  [ 0 ] hours
Due at           [Check-in            ▾]   Before [48 ] hours

Both rows accept the same three anchor events:

  • Reservation booked — anchors to the moment the reservation is created
  • Check-in — anchors to the guest's check-in date
  • Check-out — anchors to the guest's check-out date

The hour offset can be Before (the run is due/created N hours before the anchor) or After.

Common patterns

Pre-check-in waiver

You want guests to sign 2 days before arrival, but the run should exist as soon as they book so they have time.

Auto-creates at  Reservation booked   After 0 hours
Due at           Check-in             Before 48 hours

Access codes

You generate fresh codes the day before guests arrive. The run should appear early enough that you don't forget.

Auto-creates at  Check-in             Before 24 hours
Due at           Check-in             Before 24 hours

Turnover

Created the moment a guest checks out. Due 6 hours later — enough time to drive over but not so late it slips overnight.

Auto-creates at  Check-out            After 0 hours
Due at           Check-out            After 6 hours

Property inspection (manual)

A monthly inspection that you trigger yourself, no reservation context.

Trigger:  Manual

(Manual checklists don't use the timing rows — you create them ad-hoc.)

Editor defaults by type

When you pick a Type for a new checklist, ArrivHQ seeds sensible defaults:

TypeAuto-creates atDue at
Reservation bookedReservation booked, +0hReservation booked, +0h
Pre check-inReservation booked, +0hCheck-in, -48h
Check-inCheck-in, +0hCheck-in, +0h
Pre check-outCheck-in, +0hCheck-out, -24h
Check-outCheck-out, +0hCheck-out, +0h
TurnoverCheck-out, +0hCheck-out, +6h

You can override any of these — the type is just the default seed, not a lock.

How due dates affect Today, Upcoming, and Overdue

SectionRule
TodayRuns whose Due at is within the next 24 hours
UpcomingRuns whose Due at is more than 24 hours from now
OverdueRuns past their Due at and not yet complete

So a run that auto-creates today but is due 2 days from now waits in Upcoming until it's actually time. No more spam.

Backward compatibility

If you don't touch the new "Due at" row, your existing checklists keep their old behavior — the run is due at the same moment it's created. Nothing changes until you opt in by setting a different Due at event or offset.

Frequently asked

Can I have a checklist auto-create on one event and be due relative to something completely different? Yes. Set "Auto-creates at" to one event and "Due at" to another. The two rows are fully independent.

What if my Due-at is in the past at the moment the run is created? The run shows up as Overdue immediately. Useful for retroactive cases, but usually a sign that the offset should be smaller. Adjust before saving.

Does this affect recurring checklists? Recurring checklists use the schedule's own time-of-day. The Due-at controls in this article apply to checklists triggered by reservation events.

My pre-check-in checklist used to fire 24 hours before check-in. Now it fires when the reservation is booked. Why? Because we changed the default to give guests more time. If you preferred the old timing, set "Auto-creates at" → Check-in, Before 24 hours.