Delivering content
Recipes
Complete model sets you can build as they are. Each one has been shaped around what a retail team actually needs to publish.
Product catalogue
Three models working together. Category groups things, Product holds the detail, and Collection lets merchandisers group products across categories for a seasonal edit.
Category
API slug: category
textName required
textSlug required
textareaDescription
mediaBanner image
relationParent category
For nested navigation
numberSort order
Product
API slug: product
textName required
textSKU required
textSlug required
richtextDescription
textareaShort description
numberRRP
media_multipleGallery
mediaSize guide
relationCategory
relation_multipleRelated products
booleanFeatured
dateLaunch date
Collection
API slug: collection
textName required
"Autumn essentials"
textSlug required
richtextIntro copy
mediaHero image
relation_multipleProducts
Keep stock and live pricing in your commerce platform. Match on SKU at render time. Your CMS holds the words and pictures, which change weekly; your commerce platform holds the numbers, which change hourly.
Seasonal campaign pages
One flexible model that lets the marketing team assemble a landing page without a developer. Each entry is a section; your frontend renders them in order.
Page section
API slug: page-section
textPage key required
"black-friday", "summer-sale"
textSection ID required
"hero", "offer-grid", "terms"
numberOrder
Position on the page
textHeading
textareaSubheading
richtextBody
mediaBackground image
textCTA label
textCTA URL
relation_multipleFeatured products
GET /api/uk-store/content/model/page-section?per_page=100 // then, in your frontend: const sections = data .filter(entry => entry.data.page_key === 'black-friday') .sort((a, b) => a.data.order - b.data.order);
Combine this with scheduling and the whole campaign appears and retires on its own.
Store locator
Physical locations, opening hours and the details customers ring up to ask about.
Store
API slug: store
textName required
textSlug required
textareaAddress
textPostcode
textLatitude
Stored as text for precision
textLongitude
textPhone
richtextOpening hours
mediaStorefront photo
booleanClick and collect
There is no dedicated location field type, so hold coordinates as text and parse them in your frontend. Text avoids the rounding you can get from a numeric field.
Editorial and buying guides
Content marketing that links back into the catalogue — the pattern behind most "how to choose a…" pages.
Author
API slug: author
textName required
textareaBio
mediaAvatar
Article
API slug: article
textTitle required
textSlug required
richtextBody
textareaExcerpt
mediaHero image
relationAuthor
relation_multipleFeatured products
Shoppable links back to the catalogue
datePublish date
Building these quickly
Create referenced models first — Category before Product, Author before Article — so the relation fields have something to point at. Once one space is set up the way you want it, clone it rather than rebuilding the model for your next brand or region.