Skip to main content

What the restaurant sees

The brand widget: logo, color and legal details on the left, a live preview of the booking confirmation on the right Shown in Italian. The widget follows the session locale. The restaurant can set:
  • Logo: upload a PNG, JPG, WEBP or GIF up to 1 MB (stored by Minimo, served over https) or paste an https link.
  • Color: a hex color, with a readability check. Used for the title band and the buttons of your standard messages.
  • Name and legal details: business name, legal name (data controller), address, privacy policy link.
  • Contacts and social links: phone, email, website and the six social links of the footer (Facebook, Instagram, LinkedIn, X, YouTube, TikTok). Only the ones filled in show.
A live preview shows one of your standard messages as the restaurant’s guests will get it, rendered exactly like a real send, with sample guest data. Save applies the brand to the next emails; ticking “Also apply the color to the messages I already personalized” recolors its existing copies too.

Mount it

The Brand widget is not in the default permissions, because the restaurant can change the logo, colors and the identity line of every email. Ask for it explicitly, and lock the fields you want to keep:
  • brand.locked: any of displayName, legalName, logoUrl, brandColor, address, phone, email, website, privacyUrl, socials (the six links). A locked field is read-only in the widget (“Set by your management app”) and a save that changes it answers 422 BRAND_FIELD_LOCKED.
  • Events: ready with tenant; brand.saved with tenant, fields (the fields the restaurant changed) and appliedTo (personalized messages recolored).

Tenant profile

Everything the widget saves lives on the tenant profile, which you read and write too. Minimo uses it for the restaurant’s emails (logo, color, footer, identity line) and for its unsubscribe and preferences pages (name, logo, color, data controller).
  • Permission widgets. GET /public/v1/tenants/{tenant} reads it (404 if none).
  • Only the fields you send are written, null clears one.
  • URLs must be public https (422 INVALID_TENANT_PROFILE, INVALID_TENANT_URL); social links must be on their own network. brandColor is hex and not near-white (422 INVALID_BRAND_COLOR). Phone and email are checked (422 INVALID_TENANT_CONTACT).
  • editedByTenant lists the fields the restaurant changed itself in the widget.
  • Every widget session also refreshes the profile from tenantName, locale and these variables: RESTAURANT_NAME, LOGO_URL, BRAND_COLOR, RESTAURANT_ADDRESS, RESTAURANT_PHONE, RESTAURANT_EMAIL, LEGAL_NAME, PRIVACY_URL, WEBSITE_URL, FACEBOOK_URL, INSTAGRAM_URL, LINKEDIN_URL, X_URL, YOUTUBE_URL, TIKTOK_URL (invalid values are skipped).

Who wins

The simplest setup: let the restaurant own its brand in the widget, lock only what your app must control (often legalName and privacyUrl), and stop passing brand values on each send.

What changes in the emails

  • Your standard messages sent for the restaurant (master + tenant) use its color for the title band and the buttons, its logo and its footer. {BRAND_COLOR} and {BRAND_TEXT_COLOR} (readable text on it) are available as merge values in custom HTML.
  • New personalized copies and new campaigns start in the restaurant’s color. Copies it already personalized keep their colors, unless it ticks “apply to the messages I already personalized” when saving.
  • The unsubscribe and preferences pages of the restaurant show its name, logo and color.
  • The emails never carry a Minimo badge. Fonts follow your workspace’s branding kit.