Tenants
An integrator resells your Service as its own offer. It orders for its customer with a tenant key and On-Behalf-Of, sets its own price within your limits, and its markup is its own seller line on the receipt.
A tenant answers one question: who else may sell your Service, under their own name and price?
export default Brand({
domain: 'api.lawyer',
tenants: { limits: ['max_fee', 'regions', 'humans_earlier'] },
})tenants opens the tenant console at /tenants, where an integrator signs up, sets its offers and reads its own jobs. limits names what a tenant's offer may set: a fee cap, the regions it sells in, and a person earlier than your line. A tenant never removes a person your Rules reserve, and never sets the client's merits: an order that tries gets merits_not_yours. Tenants run on Team.
The tenant orders with its tenant key and names its customer in On-Behalf-Of. The job waits on the client's consent before the tenant reads anything of theirs:
$ curl -X POST https://api.lawyer/matters \
-H 'authorization: Bearer tk_live_4Rw8' -H 'On-Behalf-Of: cus_9Lm2' \
-d '{"service":"contract-review","contract":{"url":"https://deals.example/msa.pdf"},"max_usd":480}'
← 202 · mat_7Hq5 · waiting · on client · consent · $480.00 held
next hand https://api.lawyer/a/ask_7Hq5 to cus_9Lm2's signerThe tenant sells at its own price. The difference over yours is the tenant's own seller line, under the tenant's own services.dev plan and its take. Your line and its take are unchanged, and a fee the Rules put on the member's rail is the member's:
| Line | Seller | The take on it |
|---|---|---|
| The tenant's markup, $60.00 | the tenant | the tenant's plan's |
| api.lawyer's price, $420.00, less the attorney's fee | api.lawyer | yours, on the value you add |
| The attorney's fee, inside $420.00 | the attorney, on their own account | none |
A receipt names at most three sellers. The buyer reads one total and one checkout.