# Bookable practice

URL: /products/templates/bookable-practice · Id: `productTemplate:bookable-practice`

> A Bookable practice sells booked time with one person, such as coaching, tutoring or a home visit, paid per session or by pack.

A Bookable practice sells booked time with one person, such as coaching, tutoring or a home visit, paid per session or by pack.

## The business
| Line | Default |
| --- | --- |
| Earns | `usage` |
| Typical Prices | $80 to $200 per session; $400 to $900 for a pack of five |
| First revenue on | A [Demand Budget](/business/nouns/demand-budget) of $100 |
| Supply | `human`: people do the work |
| Motions | [b2c](/business/motions/b2c), [b2b](/business/motions/b2b) |
| One metric per state | Idea: [Problem interviews](/agents/founding#problem-interviews); Building: [Committed ICP members](/agents/founding#committed-icp-members); Live: [Outside paying Customers](/agents/founding#outside-paying-customers); Repeatable: [Month-3 retention](/agents/customer#month-3-retention); Scale: [Net revenue retention](/agents/customer#net-revenue-retention) |
| Seed Plays | [Community answers](/workflows/plays/community-answers), [Events and webinars](/workflows/plays/events-and-webinars), [Paid search](/workflows/plays/paid-search) |
| Compounding Plays | [Founder voice](/workflows/plays/founder-voice), [Review requests](/workflows/plays/review-requests), [Customer referrals](/workflows/plays/customer-referrals) |

| Offer | Price | Features | Limits | At its bound | On sale |
| --- | --- | --- | --- | --- | --- |
| One session (`session`) | $120 per session | None. | [Meeting.book](/business/nouns/meeting/book): 1 in all | `stop` | Always |
| Five sessions (`pack`) | $500 once | None. | [Meeting.book](/business/nouns/meeting/book): 5 in all | `stop` | Always |

An Entitlement bounded by a Limit has `kind` `limit`; one without has `kind` `feature`. The `kind` is computed, never set.

| `atBound` | A call past the Limit |
| --- | --- |
| `stop` | Refused: the Verb replies 402 `payment-required`. |

[Offer.publish](/business/nouns/offer/publish) puts each Offer on every buy surface: `checkout`, `paymentLink`, `pricingTable`, `portalEntry`, `mcpBuyTool`, `http402`.

## Adds
None.

## Wakes
- [Inbound sales](/workflows/processes/inbound-sales)
- [Delivery](/workflows/processes/delivery)
- [Support](/workflows/processes/support)

## Staffing
- [Customer Lead](/agents/customer/customer-lead)
- [Delivery Manager](/agents/operations/delivery-manager)

## Floor
None.

## Controls
- [Outcome confirmation](/systems/trust-and-governance/controls/outcome-confirmation)

## Builders
- [ServiceBuilder](/code/builders/service)
- [SalesBuilder](/code/builders/sales)

## Next
None.

## Example
Catalogmend sells a 45-minute catalog review with a human reviewer: $120 for one, or $500 for five. A store owner picks a time from the booking link and pays before the time is held. A no-show forfeits the session, as the [Offer](/business/nouns/offer) states before payment.