A confirmed visit is already somebody's job.

Confirming creates the work order in the same transaction — not in a worker that might get to it. The brief is a snapshot taken at that moment, so an edit made on Thursday never rewrites what the technician read on Wednesday morning.

The gap between “booked” and “assigned” is where work goes missing.

In most stacks a confirmed appointment and the work it implies are two events, joined by a queue. Between them there is a window — as wide as a restart or a failure — in which a customer has been promised a visit that is nobody's responsibility.

Lavenity closes it by making both one fact. A confirmation writes the appointment and the job together, and a unique index, not a check in the code, is what makes a repeated confirmation return the job you already have.

What the technician leaves with, and what the customer gets

A brief that cannot drift

Service, address, access, equipment and every qualification answer, frozen at confirmation. Alongside it, the notes your dispatcher writes in their own words.

Work orderDispatched

JOB-0117

Wed 15 · 09:00

Technician brief

Service

Boiler service

90 min

Address

Lindenstr. 14, 10969

Zone 109

Access

Key at the bakery, ground floor

Confirmed

Equipment

Vaillant ecoTEC plus

2019

Frozen at confirmation — later edits do not rewrite it

A confirmation that cannot quietly not arrive

Outbound confirmations are durable runs with attempts and a visible state. A failed send is a state you can see and retry, not a message that silently never happened.

ConfirmationsDurable queue
  • Visit confirmed, Wed 09:00EmailDelivered
  • Visit confirmed, Wed 09:00WhatsAppAttempt 2
  • Reminder, 24 h beforeEmailScheduled

Survives a restart. Retries until it lands.

  • Numbered out loud

    JOB-0117 — because people say the number to each other on the phone.

  • Cancels without collateral

    Cancelling a visit withdraws work nobody started and leaves work already underway alone.

  • Linked both ways

    The job knows its request and appointment; the customer's confirmation links back to both.

  • An event to build on

    Every created job publishes a domain event — the seam future connectors read.

From confirmed to completed

The work order is the object the rest of the business talks about — dispatch, the van, the invoice — so it is created the moment the promise is made.

  1. 01

    Confirmation creates the job

    One transaction writes the appointment, the work order and the brief. A second confirmation returns the same job rather than a second one.

  2. 02

    Dispatch and status

    Created, dispatched, in progress, completed, cancelled — a short lifecycle, kept short on purpose so it stays honest.

  3. 03

    The result feeds the funnel

    Completed jobs are the last stage of the report, which is what makes enquiry volume mean something.

This is a work order, not an ERP.

The job carries what someone needs to do the visit and what the business needs to count it. Stock, payroll and invoicing belong to the systems you already run — which is why every job publishes an event instead of trying to become one of them.

  • The brief it started with

    A snapshot of the request as it stood when the visit was promised.

  • A confirmation that landed

    Delivery state per channel, with retries and a visible failure if it did not.

  • A place in the funnel

    The last stage of the report that turns conversations into countable work.

Send people out with the whole story

Every confirmed visit arrives as a job with the address, the access, the machine and the answers.