> ## Documentation Index
> Fetch the complete documentation index at: https://docs.minimo.it/llms.txt
> Use this file to discover all available pages before exploring further.

# Go-live checklist and FAQ

> What to set up before your first real restaurant, and answers to the questions SaaS teams ask most

## Checklist

**1. Key and settings**

* A Minimo API key with `widgets`, `events` and `transactional` (and `domains` for the domain popup), only on your
  server. See [API keys and permissions](https://docs.minimo.it/guides/embedded-overview.md#api-keys-and-permissions). - `PUT
      /public/v1/widgets/settings` with the origins of your production app (and of staging, if it embeds the widgets too)
  and your master templates.

**2. 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).

**3. Sending domains**

* Your own domain verified once, so restaurants without a domain send from a subdomain of yours
  ([senders](https://docs.minimo.it/guides/embedded-senders-and-sending.md#customers-without-a-domain-a-subdomain-of-yours)). - Restaurants
  with their own domain connect it in the [domain popup](https://docs.minimo.it/guides/embedded-domain-connect.md). - `replyTo` set to the
  restaurant's mailbox, so guests' replies reach the restaurant.

**4. Automatic messages**

* [Rules](https://docs.minimo.it/guides/embedded-automations.md#1-define-the-rules-once-for-every-tenant) for every tenant: confirmation
  (immediately), reminder (before `booking_at`), review request (after). - Your backend sends `booking.created`,
  `booking.updated`, `booking.cancelled` with the same `cancellationKey` per booking, a unique `idempotencyKey` per
  event, and every date **with its UTC offset**.

**5. Consent**

* Decide with Minimo: consent per workspace (default) or per restaurant, before the first real restaurant. See
  [consent](https://docs.minimo.it/guides/embedded-consent.md). - Send `marketingConsent` (and its evidence) with the booking event when the
  guest ticks the box.

**6. Brand and identity**

* A [tenant profile](https://docs.minimo.it/guides/embedded-widget-brand.md#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.

**7. Widgets in your app**

* A session minted every time the page opens, with only the permissions the page needs; `locale` from the
  restaurant's language. - `poweredBy: false` if you want no Minimo name on the widget pages.

**8. 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 a `booking.cancelled`: the reminder is cancelled (`GET /public/v1/scheduled-sends?cancellationKey=…`).
* Open the unsubscribe link: the page names the restaurant. - Check the [history](https://docs.minimo.it/guides/embedded-widget-history.md)
  and [statistics](https://docs.minimo.it/guides/embedded-widget-statistics.md) widgets for the test restaurant.

**9. Tell your restaurants**

* Their first 3 campaigns are reviewed by Minimo, and new restaurants have a daily limit for promotional emails
  ([protections](https://docs.minimo.it/guides/embedded-protections.md)). - Only guests who agreed can receive promotions; booking emails
  always go out.

## FAQ

> [accordion] Do my restaurants need a Minimo account?
>
> No. They work inside your app through the widgets. Only your SaaS has a Minimo workspace.

> [accordion] Can a restaurant see another restaurant’s data?
>
> No. Every widget session is pinned to one tenant: templates, contacts, sends and statistics of other tenants answer
> `404`. A guest known to two restaurants is shown to each one by email only and never modified by the other.

> [accordion] Do the emails show the Minimo brand?
>
> Never. The widget pages show a small "Email by Minimo" line, which you remove with `poweredBy: false`. Meta's
> WhatsApp setup window shows Minimo as the technology provider: Meta does not allow changing it.

> [accordion] A restaurant has no domain. What does it send from?
>
> From a subdomain of your verified domain, for example `bookings@trattoriadamario.yoursaas.example`, with the
> restaurant's name as sender and its own mailbox as Reply-To. No DNS work for the restaurant.

> [accordion] What if my backend sends the same event twice?
>
> The second one is recognised by its `idempotencyKey` and answers `"status": "duplicate"`: nothing is sent or
> scheduled twice. Even without it, one rule never schedules twice for the same `cancellationKey`.

> [accordion] 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.

> [accordion] Can I keep sending emails myself instead of using rules?
>
> Yes. Send the master template with `tenant`, now or with `sendAt` to schedule it. The restaurant's personalized copy
> and brand are applied either way.

> [accordion] How do I know a restaurant switched off a message?
>
> Your page gets `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`.

> [accordion] How do I bill my restaurants?
>
> Every send carries its `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.

> [accordion] Which languages?
>
> English and Italian for the widgets, the editor and the unsubscribe pages (the `locale` you pass). The emails are in
> the language you write them in.

> [accordion] And WhatsApp?
>
> Restaurants can connect their own number with the WhatsApp widget once Minimo enables it for your workspace. Sending
> from that number is the next step, see [What is coming](https://docs.minimo.it/guides/embedded-overview.md#what-is-coming).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.