Skip to content

MelonQ platform separation (draft) ​

Hotel-owner product on MelonQ. Guest product on BookDirect. Separate apps, cookies, deploys.

v1 Extranet stays /extranet on frontend-bookdirect-user-app until redirects exist.

SurfaceDraft hostv1
Partner platformhttps://platform.melonq.com/extranet
Onboardinghttps://onboarding.bookdirect.melonq.com/extranet/onboarding
Partner sign inhttps://melonq.com/signinCore login in the same Next app
Marketplacehttps://bookdirect.ngsame
Booking Engine{HotelName}.com-bookdirect.comDirect Booking

Checklist ​

ConcernMarketplaceMelonQ
Auth cookieGuest sessionNEXT_PUBLIC_PARTNER_SESSION_COOKIE_NAME (or MelonQ name)
Auth APICore guest JWTCore partner JWT — same users table OK, different clients
RolesGUESTPROPERTY_OWNER, staff, MelonQ admin
Amenities pickerLocal slugsSame tick list
Email Flexi signup—MelonQ onboarding/signin, not /extranet

Do not share session cookies across .ng and .melonq.com without an explicit SSO design.

  1. Guest manage-stay URLs stay on Marketplace
  2. Hotel Accept/Reject token confirm stays on Middleware / booking host
  3. Partner APIs require partner JWT. Browse key stays public for Marketplace only

Migration ​

  1. Stand up MelonQ against Middleware
  2. Move onboarding → onboarding.bookdirect.melonq.com
  3. Move ops → platform.melonq.com
  4. 301 bookdirect.ng/extranet/*
  5. Remove extranet route group from the Marketplace deploy

Update the activation matrix winner column only when hosts are frozen and this draft is promoted.

API-first. Middleware Backend wins over Core Backend when both exist.