Skip to content

Update store hours, store details and holiday closures

Use this page when a store changes its opening hours, phone number, email or address, or when the stores close for a public holiday.

On this site, store details and hours are typed in one place, the Store Finder record for each store. The theme reads those records on every page and builds the home page store carousel, the contact page, the contact modal, the store list on product pages and the information Google reads about each store. Holiday closures live in a separate setting, Operating_Exceptions, which applies to all four stores at once.

None of this is how stock Maropost works. The Store Finder custom fields carry the opening hours, and the theme expects them in an exact format. A wrong value usually doesn’t produce an error. The site just shows the stores as closed, or shows the wrong hours.

The four stores

Every part of the theme identifies a store by its Store Finder id, a number. It never uses the store name or the suburb.

Store idStoreLocation page slug (custom field 5)
1Altapac Kotarakotara
2Altapac Maitlandmaitland
3Altapac Artarmonartarmon
4Altapac Burwoodburwood

The slugs are the values on the live site on 21 October 2026.

Change a store’s opening hours

Each store record has five custom fields, the most the Store Finder allows. Fields 1 to 4 are Short Text fields. The theme reads them by position (misc1 to misc5), so the order matters more than the name.

Custom fieldField name in cPanelWhat to typeExample
1weekdays openMonday to Friday opening time, 24-hour HH:MM08:00
2weekdays closeMonday to Friday closing time, 24-hour HH:MM17:00
3Saturday openSaturday opening time, 24-hour HH:MM08:00
4Saturday closeSaturday closing time, 24-hour HH:MM14:00
5(the location-page slug)The last part of the store’s /locations/ page addresskotara

There is no Sunday field. Every store shows as closed on Sunday, and that can’t be changed from cPanel. There is also no way to give one weekday different hours from the others.

  1. In cPanel, go to Products > Store Finder and open the store you’re changing.

  2. In the custom fields, type the new times in 24-hour HH:MM form. Use a colon and a leading zero, for example 07:30 and 17:00. Don’t type 7.30, 7:30am or 5pm.

  3. To close a store on Saturdays, clear both Saturday fields. Clear both, not just one.

  4. Save the record.

  5. Check the result. Open the home page and the contact page, and confirm the store shows the new times. Then open the store’s /locations/ page and check the hours line there.

  6. Search the rest of the site for the old hours typed as plain text. See Store details typed into page content below.

Each field holds at most 50 characters, whatever its type. cPanel doesn’t show the limit, and it cuts anything longer without a warning. The theme stores nothing longer than a time or a slug in them, so this only bites if someone tries to use a field for notes.

Change a store’s name, address, phone or email

These are the standard Store Finder fields, not custom fields. Edit them in the store’s record and save. The change appears everywhere the theme prints store details, and in any store detail tags in page content.

  • Enter the phone in the form you want customers to see. The theme prints it as typed.
  • The Store Finder saves the suburb in capitals, and that can’t be changed. The home page carousel, contact page and contact modal display it with only the first letter in capitals.
  • The latitude and longitude place the store on the contact page map and decide which store is “nearest” on product pages. If you change the address, check the map pin on the contact page afterwards.
  • The site lists the stores in name order. Renaming a store can change its position in the home page carousel, the contact page and the contact modal.

Close the stores for a public holiday

Holiday closures are in the custom config Operating_Exceptions. Its value is a list of dates wrapped in curly braces. This is the start of the live value on 21 October 2026:

{
'2026-04-03': 'Good Friday',
'2026-04-04': 'Easter Saturday',
'2026-06-08': 'King\'s Birthday',
'2026-12-25': 'Christmas Day',
'2027-01-01': 'New Year\'s Day',
}
  1. In cPanel, go to Custom links > Custom Configs and open Operating_Exceptions.

  2. Add one line per closed day, inside the braces, in this form:

    '2027-12-29': 'Additional Day',

    The date is year, month, day with leading zeros, YYYY-MM-DD. Put it in single quotes, then a colon, then the holiday name in single quotes, then a comma.

  3. If the holiday name contains an apostrophe, put a backslash before it, as in 'King\'s Birthday'.

  4. Leave the opening { and the closing } in place. If you remove every date, leave the value as {}. Never leave it empty.

  5. Save, then do the check in step 6 straight away.

  6. Open any product page that has a Pick up tab and look at the store list. If it shows store names such as “Altapac Kotara”, the value is fine. If it shows “Store 1”, “Store 2” and so on, the value is broken. Undo your change and compare it with the format above. This check works at any time of day.

What a closure date changes, and what it doesn’t:

  • On that date, all four stores show “closed” in the contact modal, the Call button stays grey, and product pages say “Ready at” instead of “Ready today at”.
  • It closes all four stores. There is no way to close one store for a day. Clearing that store’s hour fields closes it every week until you put them back.
  • It doesn’t change the hours printed on the home page, contact page, contact modal or location pages. Those still show the normal weekly hours.
  • It doesn’t change the opening hours Google reads, which always show the normal week.
  • The holiday name isn’t shown anywhere on the site. It’s only there to tell staff what each date is.
  • The list runs out. On 21 October 2026 the last date is 28 December 2027. Add the next year’s holidays before then.

Where the store data appears

PlaceWhat it shows from the Store FinderAffected by holiday closures
Home page store carouselName linked to the location page, address, weekday and Saturday hours as typed, e.g. 08:00 - 17:00. The background is the logo image in the store’s Store Finder recordNo
Contact page, “Visit Our Showrooms”Map from latitude and longitude, name, address, phone, email, hours as typed, “Find Out More” link to the location pageNo
Contact modal, on every pageEach store’s name, address, hours as typed, phone and email, plus “open now” or “closed” for each storeYes
Contact modal Call buttonTurns on when at least one store is open. It always dials the company phone number, not a store’s own numberYes
Product pages, Pick up tabStore names linked to location pages, distance from the customer’s postcode, and “Ready today at” when the nearest store with stock is openYes
Store details in page contentWhatever tags staff have put in the content. See the next sectionNo
Information for Google, in every page’s codeName, address, phone, email, map position, weekday and Saturday hours, and the location page addressNo

The header and footer bars don’t show store hours. The phone number in the footer is the company number from a separate setting, not a Store Finder value.

The contact page also has hand-built parts that don’t come from the Store Finder. These are the four store tabs (“Kotara Showroom” and so on) and their enquiry forms. A developer has to change those.

Store details typed into page content

The location pages used to have hours typed in by hand, and they drifted from the real hours. Now you can put a tag in any CMS page that fills in a store’s detail from its Store Finder record when the page loads.

Edit the page content in the editor’s source view and wrap the value in a span with two attributes:

<span data-store-field="phone" data-store-id="3">02 8999 8878</span>

The cPanel editor keeps these attributes when you save, but sorts them into alphabetical order, so expect data-store-field first.

  • data-store-id is the store number from the table at the top of this page, 1 to 4. A slug like kotara doesn’t work.
  • data-store-field is one of the values in the table below.
  • The text inside the tag is the fallback. It shows until the page has loaded, and it stays if anything goes wrong. Always type the current value.
data-store-fieldWhat it showsExample output
nameStore nameAltapac Artarmon
phonePhone, as typed in the record02 8999 8878
emailEmailartarmon@altapac.com
addressStreet, suburb, state and postcode. The suburb comes out in capitalsUnit 13/87 Reserve Rd, ARTARMON NSW 2064
weekdaysMonday to Friday hours7:30am – 5pm
saturdaySaturday hours9am – 3pm
sundayAlways “Closed”Closed

The hours fields come out in 12-hour form, like “8am – 5pm”, or “Closed” if the fields are empty. That differs from the home page, contact page and contact modal, which print the times exactly as typed, like 08:00 - 17:00.

On a link, the tag changes where the link goes and leaves its text alone. This lets an icon button or a “Call the Kotara store” link always dial the right number:

<a data-store-field="phone" data-store-id="1" href="tel:0249414444">Call the Kotara store</a>
  • phone on a link sets it to dial the store’s number.
  • email on a link sets it to email the store.
  • name, address and the hours fields do nothing on a link.
  • To show the number as the link text as well, put a span tag inside the link.

As of the 2026-10-20 content pull, 12 pages use these tags: the four location pages and the Artarmon and Burwood sub-pages (bullbars, canopies, roof racks, towbars). All 12 use them for weekday and Saturday hours, and all except Maitland also use one for the store phone number. Other pages still have store details typed as plain text. For example, the service pages list store phone numbers as plain links, and the Window Tinting page states workshop hours in a sentence. Those don’t update from the Store Finder. Search for them when hours or numbers change.

The location-page slug (custom field 5)

Custom field 5 holds the end of the store’s location page address. kotara points to /locations/kotara. The theme uses it for:

  • the store name links on the home page carousel, the contact page and product pages
  • the contact page “Find Out More” button
  • the store’s web address in the information Google reads
  • the Store Finder’s own page for each store, such as /d/altapac-kotara/1, which redirects to the location page

If the slug has a typo, all those links go to a page that doesn’t exist, and the Store Finder page redirects there too. If it’s empty, the links fall back to the Store Finder page, and product pages show the store name without a link.

Type the slug only, in lower case, with no slashes and without /locations/.

Common mistakes

MistakeWhat happensWhere you’d notice
Hours typed as 8am, 8.00 or 5pmThe store always shows closed. The site prints the bad text as typed, and Google gets invalid hoursContact modal says “closed” during trading hours
Only one of the two Saturday fields clearedSaturday shows as closed, but pages print half a time range such as 09:00 - Home page carousel, contact page
Weekday open or close field clearedWeekdays show closed, and Google loses both the weekday and the Saturday hours for that storeContact modal, and nothing visible for Google
" or \ typed in any store fieldNo store data loads on any pageProduct page Pick up tab shows “Store 1” to “Store 4”
Operating_Exceptions left empty, or a quote, brace or comma missingNo store data loads, and every store shows closedSame as above
Apostrophe in a holiday name without a backslashSame as aboveSame as above
Closure date typed as 25/12/2026 or 2026-12-5The date never matches, so the stores show open on the holidayOnly on the day
Operating_Hours edited instead of the Store FinderNothing changesHours on the site stay the same
Store detail tag with data-store-id="kotara"The tag keeps its fallback text, which goes staleOnly when the hours change
Hours changed in the Store Finder but not in plain text elsewherePages disagree with each otherService and Learn pages

When you need a developer

  • Adding or removing a store. A new record appears in most places by itself, but product page stock needs a developer to link the store to its warehouse. Google’s description, photo and rating for each store, and the contact page tabs and forms, are also built by hand in the theme.
  • Sunday hours, or different hours on different weekdays. There are no fields for these, and all five custom store fields are already in use.
  • Closing one store for a day. Closures are site-wide only.

A Store Finder change doesn’t show on the site until the cache is cleared. To check the new value before then, add ?nc= and any random text to the end of the address to load a fresh copy.

For developers

Theme files this page is based on

Altapac-ReDev, branch development, checked 2026-10-21:

  • src/templates/footers/includes/scripts.template.html builds the #altapac-stores JSON block from [%list type:'store_location'%] and the storeHours global with [@CONFIG:Operating_Exceptions@] interpolated unquoted.
  • src/js/storeHours.js has loadStoreData, isStoreOpen, getStoreConfig, formatStoreHours and hydrateStoreFields. DEFAULT_STORE_ID is "1", but no caller relies on it.
  • src/templates/footers/includes/contactModal.template.html shows the per-store status and the any-store-open Call button, which uses [@config:COMPANY_PHONE@].
  • src/templates/products/includes/availability.template.html has the STORES[] warehouse-to-store join: 4 and 9 map to store 1, 7 to 2, 11 to 3 and 16 to 4. It also has the Pick up panel.
  • src/templates/headers/includes/structured_data/structured_data.template.html builds the LocalBusiness nodes. Hours are guarded on misc1 and misc2, with Saturday nested inside. SEO copy is keyed by store_id.
  • src/templates/headers/includes/head.template.html sets the stockist canonical from misc5.
  • src/templates/stockists/template.html handles the misc5 redirect.
  • src/templates/cms/home.template.html and src/templates/cms/contact.template.html are the list-tag loops.
  • docs/map/store-data/StoreData.md, docs/map/store-data/issues.md, docs/records/2026-09-15-store-finder-store-data/spec.md and docs/probes/RESULTS.md (Store Finder probe, which records the 50-character cap and the field definitions).
  • .claude/skills/base-templating/references/value-formats.md covers the Operating_Exceptions format.

Content usage of data-store-field is in Altapac-Content under pages/locations/ (2026-10-20 pull). The editor’s attribute sorting is recorded in Altapac-Content CLAUDE.md. The suburb-in-capitals rule, the misc5 creation date and the carousel logo are in docs/map/store-data/issues.md.