Checklist
Key and settings
- A Minimo API key with
widgets,eventsandtransactional(anddomainsfor the domain popup), only on your server. See API keys and permissions. -PUT /public/v1/widgets/settingswith the origins of your production app (and of staging, if it embeds the widgets too) and your master templates.
Templates
- Confirmation, reminder and cancellation as utility templates; review request, offers and newsletters as
marketing. - Merge fields named the same in every template and in your events (
GUEST_NAME,BOOKING_DATE,BOOKING_TIME,PARTY_SIZE…). - You know each template’s numeric id (settings) and uid (sends).
Sending domains
- Your own domain verified once, so restaurants without a domain send from a subdomain of yours
(senders). - Restaurants
with their own domain connect it in the domain popup. -
replyToset to the restaurant’s mailbox, so guests’ replies reach the restaurant.
Automatic messages
- Rules for every tenant: confirmation
(immediately), reminder (before
booking_at), review request (after). - Your backend sendsbooking.created,booking.updated,booking.cancelledwith the samecancellationKeyper booking, a uniqueidempotencyKeyper event, and every date with its UTC offset.
Consent
- Decide with Minimo: consent per workspace (default) or per restaurant, before the first real restaurant. See
consent. - Send
marketingConsent(and its evidence) with the booking event when the guest ticks the box.
Brand and identity
- A tenant profile for each restaurant: name, logo, legal name, address, privacy link. The unsubscribe pages and the email footer use it. - Decide which brand fields the restaurant may change (Brand widget) and which you lock.
Widgets in your app
- A session minted every time the page opens, with only the permissions the page needs;
localefrom the restaurant’s language. -poweredBy: falseif you want no Minimo name on the widget pages.
A full test with a test restaurant
- Use a test tenant and test inboxes only (for example a disposable inbox service), never real guests. - Send a
booking.created: the confirmation arrives from the right sender, in the restaurant’s brand, without any Minimo badge. - Send abooking.cancelled: the reminder is cancelled (GET /public/v1/scheduled-sends?cancellationKey=…). - Open the unsubscribe link: the page names the restaurant. - Check the history and statistics widgets for the test restaurant.
Tell your restaurants
- Their first 3 campaigns are reviewed by Minimo, and new restaurants have a daily limit for promotional emails (protections). - Only guests who agreed can receive promotions; booking emails always go out.
FAQ
Do my restaurants need a Minimo account?
Do my restaurants need a Minimo account?
Can a restaurant see another restaurant’s data?
Can a restaurant see another restaurant’s data?
404. A guest known to two restaurants is shown to each one by email only and never modified by the other.Do the emails show the Minimo brand?
Do the emails show the Minimo brand?
poweredBy: false. Meta’s
WhatsApp setup window shows Minimo as the technology provider: Meta does not allow changing it.A restaurant has no domain. What does it send from?
A restaurant has no domain. What does it send from?
bookings@trattoriadamario.yoursaas.example, with the
restaurant’s name as sender and its own mailbox as Reply-To. No DNS work for the restaurant.What if my backend sends the same event twice?
What if my backend sends the same event twice?
idempotencyKey and answers "status": "duplicate": nothing is sent or
scheduled twice. Even without it, one rule never schedules twice for the same cancellationKey.The booking moved or was cancelled. What do I send?
The booking moved or was cancelled. What do I send?
booking.updated with the new date moves the pending reminder; booking.cancelled cancels everything still
pending. Both with the same cancellationKey as the booking.Can I keep sending emails myself instead of using rules?
Can I keep sending emails myself instead of using rules?
tenant, now or with sendAt to schedule it. The restaurant’s personalized copy
and brand are applied either way.How do I know a restaurant switched off a message?
How do I know a restaurant switched off a message?
automation.toggled from the widget, and GET /public/v1/tenants/{tenant}/automations returns the
effective rules. A send of a rule that is off is recorded as skipped / disabled_by_tenant.How do I bill my restaurants?
How do I bill my restaurants?
tenant. Count them with GET /public/v1/messages/list?tenant=…, or read totals with GET /public/v1/tenants/{tenant}/stats. The usage counts on your workspace.Which languages?
Which languages?
locale you pass). The emails are in
the language you write them in.And WhatsApp?
And WhatsApp?