Field Operations Industry, chapter 17 of 26
Signing the Agreement
Closing a sale in the field: agreement and contract states, templates by state, e-signature, the rescission date, set and close, payment at the door, handoff.
The sale ends where the business begins. In a few minutes in a driveway (or on a call, or in a portal), the customer picks a plan, gives their details, signs, pays or puts a payment method on file, and picks a date for the first visit. That moment produces a legal contract, a billing relationship, a customer record, a scheduled appointment, a commission and a cancellation right with a deadline, and each of those belongs to a different part of the platform. Most of the hard problems in signing are about keeping them consistent: an agreement that's signed but has no appointment, an appointment for an agreement that was rescinded, a payment taken for a contract the customer never received.
The Agreement and Its Contracts#
Keep two records apart:
- The agreement is the commercial deal: who, where, which plan, which prices (snapshotted from Pricing & Sales Rules), billing frequency, term, payment method, add-ons, the reserved first appointment, the rep who sold it and the rep who gets credit for it.
- A contract is one document sent for signature: the service agreement, a state addendum, a termite inspection disclosure, a financing agreement. One agreement can need several, and each has its own signing status.
The agreement's state is a state machine:
| State | Meaning |
|---|---|
draft |
The rep is filling it in; nothing has been sent |
pending_signature |
Contracts are out for signature |
complete |
Every contract is final and the required ones are signed |
cancelled |
Declined, expired, rescinded, or cancelled before it completed |
Contracts have their own: created, sent, completed, declined, voided. The agreement derives its state from them: it completes when every contract is final and at least the required ones are completed; it cancels when a required contract is declined.
A few transitions deserve care:
- Revert to draft. If the customer wants to change something after contracts went out, void the sent contracts and return the agreement to draft. Never edit a contract in flight; the signed document has to match what was presented.
- Expiry. An agreement left in
pending_signatureis a hold on an appointment slot, a coupon reservation and a commission that may never happen. Expire it automatically after a fixed period from the last send (a month is a common choice), cancel it with a reason saying so, and release what it held. - Uncancel. Customers who declined sometimes call back. Uncancelling the same agreement (back to
pending_signature, same ID, new contracts) keeps the knock, the lead source and the rep's credit attached, instead of creating a second agreement that looks like a new sale.
Choosing the Paper#
The contract a customer signs depends on where they live and what they bought. States have their own required disclosures and cancellation language, some products need their own documents (termite work often requires inspection reports or specific disclosures), and pilots test new terms. Select the template by:
- State, preferring a state-specific template over the general one.
- Plan and billing frequency, because the terms of a per-visit plan differ from a prepaid annual one.
- Territory or pilot, for tests (see Pricing & Sales Rules).
Keep a per-state switch that can stop sending (or even previewing) contracts in a state, for the day legal finds a problem with the paper. Version every template, store which version each customer signed, and store the completed document itself with its hash. Two years later, in a dispute or a regulator's inquiry, "what did this customer agree to" must be answerable from your own records, not from the e-signature vendor's retention policy.
Template fields are filled from the agreement: names, addresses, prices, term, the first service date, the cancellation deadline. Map them in one place with tests, because a wrong field on a contract is a legal defect, not a typo.
E-Signature#
Under the federal ESIGN Act, a contract can't be denied legal effect just because it was signed electronically. But when a law requires information to be given to a consumer in writing (the cancellation notice, below, is exactly that), an electronic copy satisfies the requirement only if the consumer first consented to electronic records after a clear disclosure: their right to paper copies, how to withdraw consent, what hardware and software they need, and consent given in a way that shows they can actually open the electronic format. That consent screen is part of the signing flow, not a checkbox buried in terms.
Signing happens one of two ways:
- Embedded signing. The customer signs on the rep's tablet, inside your app. Your app is responsible for identifying the signer (the e-signature provider trusts you to have done it), and the signing URL is a credential: treat it as short-lived and single-use, generate it immediately before showing it, and never store it or send it anywhere.
- Remote signing. The provider emails or texts the customer a link, and they sign on their own device. Slower and more likely to stall, but the customer reads it on their own screen, which makes it the better choice when the rep isn't present (inside sales) and a defensible one at the door.
Either way, the provider tells you what happened by webhook, and webhooks get lost. Reconcile periodically: any contract still sent past its expiry gets its status fetched from the provider directly. Treat the provider's events like any other webhook: verify, deduplicate, and process idempotently.
The Cancellation Notice and Rescission Date#
A sale made at the customer's home is a door-to-door sale under the FTC's Cooling-Off Rule (at $25 or more; a sale at a temporary location such as a fair or hotel is covered at $130 or more). The rule gives the buyer until midnight of the third business day after the sale to cancel, and it dictates what the seller must do at the moment of sale:
- Give the buyer a completed, dated copy of the contract in the same language as the sales presentation, with the seller's name and address.
- Put a specific cancellation statement next to the signature line (or on the front page) in at least 10-point bold type.
- Give the buyer two copies of a "Notice of Cancellation" form, filled in with the seller's details, the transaction date and the deadline.
- Tell the buyer orally about the right to cancel.
- After a valid cancellation, within 10 business days, refund all payments and cancel any note or security interest.
The rule's business day is any calendar day except Sundays and federal holidays, so Saturdays count. A Monday sale can be cancelled until midnight Thursday; a federal holiday on the Tuesday pushes it to Friday. Some states add their own rules with longer windows or different counting for some sales, so the template system needs room for a longer window per state (see Consumer Protection).
The rescission date printed on the contract has to be computed, and it's easy to get wrong:
- In the customer's time zone. A sale at 10 p.m. in California on Monday is Tuesday in UTC. Compute from the local date at the service address (see Time), not the server's and not the company headquarters'.
- With a holiday calendar, including the dates holidays are observed when they fall on a weekend, and across year boundaries for sales at the end of December.
- Conservatively. If your counting differs from the rule's, err toward a later deadline: skipping Saturdays as well as Sundays gives the customer more time than the federal rule requires, which is allowed. A deadline that's a day too early isn't.
Store the computed deadline on the agreement. Rescissions are then a simple comparison, and the date the customer saw is the date you enforce.
Work done inside the window is at the seller's risk: the rule requires a full refund to a buyer who cancels in time, and it has narrow exceptions (a genuine emergency the buyer initiated and waives in their own handwriting, or a repair visit the buyer asked for). That's one reason many businesses default the first service date to after the window unless the customer asks for sooner, and record that they asked.
Set and Close#
In some jurisdictions a rep may knock and talk but not sign a customer (their permit is pending, or the city licenses closers separately). A set is an agreement the rep prepares but doesn't send for signature: contact, address, plan, notes and a reserved appointment, flagged so a licensed colleague (in person or by phone) can close it. The rep's capabilities come from Licenses & Permits, checked at the service address against every jurisdiction that contains it. The app shows the set-only flow when the rep can't close there, and the server enforces it again, because the tablet's view of the rep's licenses may be a day old.
Credit for a set-and-close sale is split by rule, so the agreement records both reps: who set it and who closed it.
Payment at the Door#
Most agreements put a payment method on file at signing: a card or bank account for autopay, sometimes with the initial charge taken right away. The rep's tablet is the worst possible place for card data. It's a shared device, used by one rep for hundreds of customers, and operating systems try to help by offering to save what's typed into forms. Two rules follow.
Never let card data touch your systems. Collect it in a payment form served entirely by your payment provider (their SDK's payment sheet, a hosted page or an iframe), so your app never sees the number. That's what keeps a merchant eligible for PCI DSS's shortest self-assessment, SAQ A, which requires every element of the payment page to come directly from a PCI DSS-validated third party. See Sensitive Data and Stored Credentials for storing it as a token for future charges.
Put the customer's own device in the loop when you can. Where the payment requires the customer to log in or approve something (buy-now-pay-later financing, a bank login for account linking, a wallet), show a QR code or text a link and let them complete it on their own phone, while the tablet polls for the result. It keeps the customer's credentials off the rep's device and off the rep's browser autofill, and it gives the customer a private screen for terms they're agreeing to.
Two timing decisions:
- Charge after signature, not before. Taking payment for an agreement that then fails to sign leaves a refund to process and a confused customer.
- Authorize now, capture after service when the first charge depends on the work. Authorizations expire: Stripe documents seven days for most online card authorizations and 28 days for Klarna, for example. A first service scheduled two weeks out needs either a payment method saved for a later charge, or a capture inside the window.
Bank account payments have their own rules; see ACH & Bank Transfers.
Reserving the First Appointment#
A customer who just bought pest control wants to know when the truck is coming, and the rep wants to give them a date before leaving the driveway. During the sale, the app asks scheduling for open slots at the address and places a reservation: a short hold on a specific slot, so another rep can't book it while this customer signs. Booking Appointments covers reservations in detail. For signing, three rules matter:
- Extend the hold before sending contracts. Signing and the events that follow take time, and a reservation that expires between signing and the appointment being confirmed loses the slot.
- Convert on completion, release on cancellation. When the agreement completes, the reservation becomes a confirmed appointment. When it's cancelled, rescinded or expires, the reservation is released.
- Respect the cancellation window when choosing the default date, as above.
The Handoff#
When the last required contract is signed, the agreement completes and publishes an event, and several domains act on it (see Events and Platform Architecture):
- Customer records find or create the person by email and phone, create the account and its service and mailing addresses, and attach any notes the rep captured (problem pests, a gate code, a dog in the yard) as flags the technician will see.
- Billing creates the subscription with the snapshotted prices, billing frequency and payment method; often it doesn't start charging until the first service is done (Billing Recurring Service).
- Scheduling turns the reservation into a confirmed first appointment.
- Communications sends the welcome: a copy of the agreement, the appointment, and a link to the customer portal.
Make it robust the way any fan-out has to be:
- Generate the shared IDs at the source. The selling system assigns the account ID and subscription ID when the agreement completes and puts them on the event, so every consumer creates the same records with the same keys and a retried event can't create duplicates.
- Tolerate out-of-order arrival. Scheduling may see the agreement before customer records have created the account. A consumer that needs another domain's data should retry with backoff when it's missing, not fail.
- Make every consumer idempotent, keyed on the agreement ID.
- Publish the reverse events too: cancelled, reverted to draft, rescinded, so every domain unwinds what it created.
After the Signature#
Two more things happen in the first days:
- Verification. Many door-to-door businesses call, text or survey every new customer within a day or two to confirm they understood what they bought: the plan, the price, the term, the first visit and their right to cancel. It's a sales-quality control as much as a customer-service one. It catches pressure selling while the customer can still cancel cheaply, and its results belong in the rep's stats alongside rescissions.
- Rescissions. A cancellation inside the window refunds everything, cancels the reservation, stops the subscription before it bills and reverses the rep's credit. The pin on the canvassing map should show it, so the next rep doesn't knock the same door the following week.
What This Means for the System You Build#
- Agreements and contracts as separate state machines, with the agreement derived from its contracts.
- Automatic expiry of unsigned agreements, releasing the reservation, coupons and credit they held.
- Template selection by state, plan, billing frequency and pilot, with per-state kill switches, versions and stored signed documents.
- ESIGN consumer consent captured before electronic disclosures, and embedded signing URLs generated just in time.
- Webhook processing plus reconciliation for contract status.
- A rescission deadline computed in the customer's local time with a holiday calendar, stored on the agreement.
- Set and close as capabilities from licensing, enforced on the server.
- Payment forms served by the provider, customer-device flows for anything that needs a login, charges only after signature.
- Appointment reservations extended before sending and converted on completion.
- Completion events carrying shared IDs, with idempotent, order-tolerant consumers and reverse events for every undo.
References#
Specifications
- eCFR: 16 CFR 429.1, The Cooling-Off Rule, the receipt in the language of the presentation, the 10-point bold statement, two copies of the notice, oral notice and refunds within 10 business days
- eCFR: 16 CFR 429.0, Definitions, door-to-door sales at $25 at the buyer's home or $130 elsewhere, business days excluding Sundays and federal holidays, and the emergency and requested-repair exclusions
- 15 U.S.C. 7001: Electronic Signatures in Global and National Commerce, the validity of electronic contracts and the consumer consent required before electronic records replace written ones
Reference
- FTC: Buyer's Remorse: The FTC's Cooling-Off Rule, Saturdays counting as business days, a worked example of the deadline, and what's excluded
- PCI SSC: SAQ A eligibility FAQ, payment pages delivered entirely by a PCI DSS-validated third party, by redirect or iframe
In practice
- Stripe: Place a hold on a payment method, authorization windows by card brand and the 28-day window for Klarna