Tasks

Tasks

A task is one unit of operational work tied to one reservation. Almost every per-stay action — generate the access code, schedule cleaning, send the check-in message, ask for a review — runs through a task.

Tasks are not created by hand. They are generated by task templates, which fire on reservation events (created, check-in, check-out, after check-out) and produce concrete task rows in the database.

In this section


Where tasks appear

Surface What you see
Pulse dashboard Today's work and scheduled auto-resolves
Operations → Tasks The full filterable list
Per-reservation detail Only the tasks for one reservation
WhatsApp Tasks routed to your role arrive as interactive button notifications

Operations Tasks


Task status

Status Meaning
not_done Default state when the task is created
scheduled The task has a scheduled fire time (auto-resolve will evaluate then)
done Completed (manually or via auto-resolve)
cancelled Cancelled (e.g. reservation was cancelled)
failed Auto-resolve attempted but action failed; surfaced for manual review

After #180, a task whose action was silently skipped goes to failed with a reason — no longer to done.


Auto-resolve in one paragraph

A task's checklist can include an auto-complete checklist item with automaticType = 'scheduled_time'. The item carries a fire time (HH:MM, e.g. "19:00") and a list of conditions. At fire time, the cron evaluates the conditions; if all are met, the task is marked done and the action runs. If any condition is not met and the item has notifyOnNotMet: true, the operator gets a WhatsApp notification at fire time. Full details in Auto-resolve.


  • #214 — auto-resolve cards show the scheduled fire time.
  • #180 — silent-skip semantics; auto-resolve no longer marks tasks done when send was skipped.
  • #181 — admin-photo notification flood eliminated.
  • #171assign_cleaner task action respects the May-16 unassignment fix.
  • #173 — loading-state UX convention for tasks list.
Source: the FlatsBratislava operator manual.