Placeholder photos (draft)
Four slots. Admin replaces CDN URLs without an FE deploy. Static public/ files are last-resort only.
| Slot key | Usage |
|---|---|
placeholder_room | Missing room / rate photo |
placeholder_addon | Missing add-on |
placeholder_property | Missing property hero |
placeholder_confirmation | Confirmation / receipt |
Store URLs on platform settings (Core metadata or Middleware settings). Public read: no auth.
imageUrl || placeholders.roomNever show a broken <img>. Brand-neutral BookDirect art — not a real hotel or a Google photo.
Emails use the confirmation/property slot HTTPS URL, not /public paths.
Assets: product will attach files later. Map filenames in this table when they arrive; upload via file-manager.
MelonQ admin: /admin/placeholders (draft). v1 has no winner yet.
Acceptance
- All four slots configurable
- Empty galleries never 404 on Marketplace or Booking Engine