melia-marrakech

Melia Marrakech · Go Booking Tours 4

Live preview unavailable until widget is active.

Run catalog test before opening live preview.

Run catalog test
draftPublic ref: melia-marrakechOrigins configuredCatalog test not passed

Go live

Complete the steps below before going live.

Catalog test is required before go live

Test catalog
Not ready to go live yet

Before go live

  • Catalog test not passed
  • Multiple widgets share external ref "melia-marrakech". Pass supplierAccountId to disambiguate.

Continue launch

Run a catalog test before go live

Progress67%
  1. Step 1 Allowed origins configured
  2. Step 2 Payment Integration active
  3. Step 3 Catalog test passedRun a catalog test before go live
  4. Step 4 Ready for go live
  5. Step 5 Live

Blocking issues

  • Run a catalog test before go live
  • Multiple widgets share external ref "melia-marrakech". Pass supplierAccountId to disambiguate.
  • Go live when all requirements are met

Catalog test

Runs the same catalog path as the live widget runtime.

FAILSource: UnknownProducts: 0Last run: 6/25/2026, 7:26:23 PM

Reason: Multiple widgets share external ref "melia-marrakech". Pass supplierAccountId to disambiguate.

Widget display mode
Full catalogueImmersive catalogue (auto-open)

Changing display mode affects how the widget appears on the hotel site. Booking data, pricing, and payment flow are unchanged.

Supported display modes
Legacy compatibility

Embed snippet

<div id="lobbymesh-widget"></div>
<script
  src="https://widget.staging.lobbymesh.com/embed/lobbymesh-widget.js"
  data-widget="melia-marrakech"
  data-supplier-account-id="8706e0f8-7a6f-407c-ba94-fda984457aab"
  data-api-base="https://api.staging.lobbymesh.com"
  data-target="#lobbymesh-widget"
  data-entry-mode="catalogue"
  data-display-mode="immersive"
  data-launcher-label="Book experiences"
  data-featured-count="4"
></script>

Iframe fallback

<!-- Iframe fallback (restrictive CSP hosts) -->
<div id="lobbymesh-widget-iframe" style="width:100%;min-height:100dvh"></div>
<iframe
  src="https://api.staging.lobbymesh.com/embed?widgetInstanceId=melia-marrakech&supplierAccountId=8706e0f8-7a6f-407c-ba94-fda984457aab"
  title="LobbyMesh experiences"
  sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-top-navigation-by-user-activation"
  style="width:100%;min-height:100dvh;border:0;"
  loading="lazy"
  referrerpolicy="strict-origin-when-cross-origin"
></iframe>

Config URL: https://api.staging.lobbymesh.com/api/v1/widget/config?widgetInstanceId=melia-marrakech&supplierAccountId=8706e0f8-7a6f-407c-ba94-fda984457aab

  • Display mode is configured on the widget instance (embedConfig) and mirrored in data-entry-mode.
  • Runtime bootstrap reads persisted widget config — script data-* attributes are early hints only.
  • Default display mode for new widgets is Full catalogue (entryMode: catalogue → displayMode: immersive).
  • Legacy inline widgets omit data-entry-mode and render the full in-page catalogue shell.
  • Runtime bootstrap remains origin-gated via allowed_origins on the widget instance.
  • Use POST /widgets/:id/activate after origins and provider mapping are freeze-ready.
  • Changing display mode affects hotel-site presentation only — booking data and pricing are unchanged.
  • See docs/contracts/widget-embed-mode-matrix.md for per-mode integration contract.
Configure allowed origins

Provider catalogue currency: EUR