Meridian handbook
ReferenceConfiguration

promotions.yaml

Every key of config/sites/<key>/promotions.yaml (engine-dmo): paid promotion slots with their types, capacity, booking length, lead time, eligible tiers and prices, and the promoted label.

engine-dmo

This feature is part of the DMO bundle (engine-dmo).

config/sites/<key>/promotions.yaml declares the paid promotion slots on a site and the label every promoted placement carries.

label: { en-GB: Promoted }
slots:
  - key: home-feature
    name: { en-GB: Home page feature }
    types: [event, listing]
    capacity: 2
    days: { min: 7, max: 28 }
    lead_time: 3d
    tiers: { min: silver }
    price: { amount: "90.00", currency: GBP, per: week }

engine-dmo dev slot add declares a slot with its id. See Promotions.

KeyTypeDefaultMeaning
labelmap of stringRequiredThe label every promoted placement shows, per locale, such as Promoted
slotslist of objects[]Places on the site a promotion can appear
slots[].capacityintegerHow many promotions it shows at once
slots[].daysobjectThe shortest and longest booking, { min, max }, in days
slots[].days.maxintegerSee the row above
slots[].days.minintegerSee the row above
slots[].idstringWritten for youThe element’s stable id. Written by engine-dmo check --fix; never write or change it by hand
slots[].keystringRequiredThe slot’s key, which templates name
slots[].landingslist of stringWith scope: landing, the landing families it appears on
slots[].lead_timestringHow far ahead a booking must start, such as 3d
slots[].namemap of stringIts name per locale, shown to staff and members
slots[].priceobjectThe price: amount (a quoted decimal), currency and per (day, week or placement)
slots[].price.amountanySee the row above
slots[].price.currencystringThe site’s currencySee the row above
slots[].price.perday, placement, weekSee the row above
slots[].priceslist of objects[]Prices that differ by landing place or category, each with amount, places and categories
slots[].prices[].amountanySee the row above
slots[].prices[].categorieslist of stringSee the row above
slots[].prices[].placeslist of stringSee the row above
slots[].scopelanding, sitesitesite (one slot for the site) or landing (a slot on each landing page)
slots[].tiersanyEvery tierThe membership tiers that may book it: a list of keys, or { min: <tier> }
slots[].typeslist of stringRequiredThe content types it can promote