Contents
- Domma CMS User Manual
- 1. Using the CMS
- 2. Tutorials
- 3. Components
- 4. API Reference
- 5. Tools
- Tools
- Advent Calendar
- Anagram
- Analytics Pro
- Backup Pro
- Bingo
- Blog
- Blog Pro
- Booking
- Booking Pro
- Calendar
- Campaigns Pro
- Cards
- Card credits
- Contacts Pro
- Crossword
- Daily Word
- Dashboard Pro
- Data Transfer
- Docs
- Docs Pro
- Email Pro
- Feedback
- Garage
- Group Four
- Hangman
- Higher or Lower
- Invoices
- Jigsaw
- Job Board
- Mail Reader
- Map Guess
- Memory Pairs
- Messages
- MongoDB Adapter
- Onboard Pro
- Personality Quiz
- Picture Reveal
- Predictions
- Prize Wheel
- Quiz
- Scraper
- Scraper Pro
- Scratch Card
- Security
- Security Pro
- SEO Pro
- Sheets
- Shopping Cart
- Shopping Cart Pro
- Sliding Puzzle
- Social Media Pro
- Support
- Surveys
- Sweepstake
- Theme Roller
- Timeline
- Treasure Hunt
- Waypoint Pro
- Word Search
Advent Calendar
Updated by Darryl Waterhouse on 3 November 2026 · 7 min read
Put a calendar of doors on any page, with one door opening each day. Use it as an advent calendar in December, or as a countdown to a launch, an event or a big day. Behind each door you can put a message, a picture, a link, a link to another Game, or a code for your shop. Advent Calendar is a Pro Tool, and can be gifted to a site.
What it does
- 1 to 31 doors, 24 by default. Door 1 opens on the day you choose, door 2 the day after, and so on. Each door opens at midnight, site time.
- Behind each door:
- A heading - "Door 5" unless you give it one.
- A message - written in Markdown:
**bold**,_italics_, lists,[a link](https://...)and small headings. - A picture - choose one from Media.
- A link - a button to a page on your site (
/shop) or another site, with your own words on it. - A link to another Game - send visitors to the page where you put a quiz, crossword, word search or any other Game. It shows as the main button.
- A code:
- A code everyone shares - the same code for every visitor, such as ADVENT10.
- A unique code each, from my list - paste your own codes; each visitor gets the next one, and no code is ever given twice.
- A single-use Shop discount code each - with the Shopping Cart Pro Tool, a new code is made in your Shop for each visitor who opens the door: a percentage or an amount off, an optional minimum spend, how many days it lasts, and at most how many to make. It shows in Shop > Discounts and works once. Without Shopping Cart Pro the door still opens, without a code.
- A door can be left empty: it still opens, with "Happy day" and its number.
- No peeking. The page only knows the door numbers and their days. What is behind a door stays on the server until its day, so nobody can look ahead by reading the page.
- Codes are limited per visitor and per connection. A visitor who opens a door again sees the same code. With names on, a code is given once per name per door. And each internet connection gets at most a few of a door's unique codes a day (3 unless you change Codes per connection in the cog), whatever key or name a visitor uses - so nobody can empty a door by coming back in private windows. Two visitors opening a door at the same moment can never both take the last code.
Getting started
- Switch Advent Calendar on in Tools.
- Open Tools > Games > Advent Calendar and choose New calendar.
- Give it a title, choose the day door 1 opens and how many doors there are. The editor shows the day the last door opens.
- Fill the doors: pick a door number (or click a door in the Preview) and type what is behind it. Filled doors are marked.
- Press Preview as day N and try it on any day (see below).
- Set the status to Open and save.
- Put it on any page:
[advent-calendar id="our-advent-calendar" /]
The id is the calendar's Short name, shown with its shortcode in the editor and the list.
Settings for each calendar
- Status - only an open calendar lets visitors open doors. A draft is not shown at all. A closed calendar still shows each visitor the doors they opened, but no more open.
- Door 1 opens on and Doors - the days the calendar covers. Fewer doors cut the last ones off when you save.
- Opens and Closes - optional times. Before the opening time and after the closing time no door opens.
- Introduction - shown above the doors.
- Door order - in order (1, 2, 3...), or shuffled so visitors hunt for the day's number like a real advent calendar. Shuffle again gives another order (it changes where the doors sit, not what is behind them).
- Door shape - classic doors, baubles or gift tags.
- Colours - one of your theme's colours, or mixed. The doors use the site theme's own colours, so they follow the theme and its dark mode.
- Visitors:
- Just open the doors (no name) - the browser gets a key of its own the first time it opens a door, and comes back to the doors it opened. Another browser, or a private window, is a new visitor - so for codes that matter, ask for a name (the editor warns you on such doors).
- Type a name first - visitors type a first name before opening doors. Names are checked (no rude words), and the name shows on the Opens screen. A unique code is given once per name per door, even from another browser.
- Missed doors stay openable (catch up) - on by default: a visitor who missed a day can open that door later. Off: each door only opens on its own day, and a missed one stays shut.
- Animations - the doors pop in and swing open. Visitors who asked for less motion (on their device, or with the site's Reduce motion switch) see them open straight away.
A hidden field catches robots, and each visitor can open at most 30 doors a minute and join at most 10 times a minute.
Preview as day N
Preview as day N (on each calendar in the list, and on the editor's banner) shows the real calendar, exactly as it is on a page, as it would be on the day you choose. Move the slider (or the arrows) to any day: the server decides which doors open, with your catch-up rule, just as it does for visitors. Opening a door here records nothing and uses no codes - a unique or Shop code shows as a made-up TEST code. Shut the doors again starts the preview afresh. It shows the calendar as you last saved it, even a draft or a closed one; with unsaved changes the button says Save and preview.
Opens
Opens shows how the calendar is doing:
- Visitors, Doors opened, Codes given and opens Today.
- Door by door - how many opened each door, how many codes it gave and how many are left. Today's door is marked.
- Every open, newest first - the door, the visitor (their name when the calendar asks for one), and the code they were given. A Shop code shows whether it has been used at checkout.
- Download CSV saves every open for your records.
- Deleting an open lets that visitor open the door again. Its code is not put back.
Settings (the cog)
These apply to every calendar:
- Codes running low at - when a door's list of codes (or its limit of Shop codes) has this many or fewer left, the sidebar shows it and the admins get a notice.
- Codes per connection - the most unique codes (from a list, or Shop codes) one internet connection gets from a door each day. A family or an office shares one connection, so 2 or 3 is a good level. The connection is kept only as a scrambled code, never the address itself.
- Daily summary from - the hour the daily summary is sent (see Notifications).
- A new calendar starts with - the number of doors, whether missed doors stay openable, and whether visitors type a name.
Topping up codes
When a door's codes run out, visitors still open it and see the message, without a code. To top up, open the calendar, choose the door, and paste more codes into its box (codes already given out are never added again). Clear the codes left removes the unused codes from a door when you save. For a Shop code door, raise At most or leave it empty for no limit.
The sidebar
The sidebar shows how many doors on your open calendars are running low on codes (or have run out), so you know to top them up. Hover it for the list. With plenty of codes everywhere there is no badge.
Notifications
- Advent Calendar daily summary - once a day for each open calendar: how many opened yesterday's door, the codes given, and which door opens today. Off unless you switch it on in your notification settings.
- Advent Calendar codes running low - a door's codes are running low, or have run out.
Export and import
- Export (a calendar's menu, or the editor's banner) saves one calendar as a file; Export all saves every calendar.
- Import adds the calendars in a file as drafts, beside the ones you have.
- A file carries the calendar and what is behind its doors - never who opened them, never the codes already handed out, and never the unique codes waiting in a list (a file gets passed around, and a code in it could be used by anyone). Paste the codes again after importing. A code everyone shares is part of the door, so it travels.
Gifting
Advent Calendar can be given to a site as a gift, for good or for a number of days, as well as bought.