Module Reference

Tour

Guided walkthroughs over the running app, written by each Module for its own screens and editable without a deploy.

Tour plays guided walkthroughs over the running app. A flow walks one job ("Take a booking") one screen at a time, and each step spotlights one element on the page. Other Modules write the flows for their own screens (Booking, Customers, POS, Staff and others), so a flow exists only while both Tour and the Module it belongs to are on. Staff start flows from Guided tour in the admin's Help menu. People with tour:manage can reword, hide and reorder steps, write their own flows and choose where the launcher sits, from the running app and without a deploy. Tour has no flows of its own.

What it handles

  • Only the flows a person can use. A flow for a screen a person's role can't open isn't listed for them, flows come in the language of the page, and a signed-in customer can't read the back office's tour. Tested: "Tour: flows"
  • Edits that stay inside the app. An editor can reword a step in Thai without changing the English, or hide a step and restore it later, and every edit is audited. A step address that points off the app is refused, and staff without tour:manage are refused every edit. Tested: "Tour: runtime edits"
  • Sample data for a demo. A flow can play on sample data. Starting it creates the data with a sample prefix on every name, and leaving removes exactly those rows. Two starts at once by one presenter make one set, a failed start cleans up after itself, only the presenter can remove their data, and a demo left open for 12 hours has its data removed on its own. Tested: "Tour: sample worlds"
  • Broken flows caught before the app runs. A flow put in the wrong place in a Module, a step that points at something other than an anchor name, or sample data used off the flow's home screen fails when the app is composed instead of in front of staff. Tested: "Tour: flow slices"

What you build on top

  • Flows for your screens. Add data-tour anchors to the elements a step points at, then a flow with tour.flow from your app or Module. Anchors are public: renaming one breaks every step that points at it. See your app's AGENTS.md § "Guided tour" and Extend a Module.
  • Who may edit. Only Admin starts with tour:manage. Every staff member can play flows.
  • In code. Your coding agent imports Tour only through its public API: index.ts and server/index.ts in apps/web/src/modules/tour/. See Build on a Module.

Limits

  • A step can point only at an element with a data-tour anchor. Pick target refuses an element without one.

Facts

Pages

WherePath
Admin/admin/tour

Permissions

Admin holds every key. The other roles listed hold it when the app first gets the Module; after that, roles are yours to change under Settings → Roles & Permissions.

PermissionWhat it allowsOrganization roles that start with it
tour:manageEdit the guided tour: reword, hide, reorder and retarget steps, author flows, and set each surface's launcher.Admin

Data

  • Tables: tour_override, tour_flow, tour_surface, tour_run

Slots

Places other Modules and your app code can add to. See Extend a Module.

  • tour.flow

Tested workflows

  • Tour: flow slices
  • Tour: flows
  • Tour: runtime edits
  • Tour: sample worlds