Local & Industries · 7 min read · September 26, 2026 · Hafsa Tariq, gaash.ai
Late nights and holidays: a pharmacy's hours, published before anyone asks
Someone who needs a pharmacy after ten, or on a public holiday, has two questions: are you open, and if not, who is. Your page answers the first with hours for each day and each holiday, posted weeks ahead, and the second by pointing to the official on-duty list where you operate. For a medical emergency it says one thing: call emergency services.
Before the hours: where a medical emergency goes
The after-hours page opens with one line, above everything else on it: "If this is a medical emergency, call [the emergency number where you are] now." The same line goes on the contact page and on the recording the pharmacy's phone plays after closing. It does not try to say what counts as an emergency. That judgment belongs to the person who answers the emergency number, not to a web page.
Nothing clinical follows it. The page lists no symptoms, says nothing about what to take or how much, and offers no advice for the night. A question about a medicine goes to a pharmacist, by phone during the hours the page states, or to a doctor. What the page does carry is everything about the pharmacy itself: when it is open, where to turn when it is not, and what can be done at the door after hours.
Every day's hours, then every holiday's, by date
Write the week as a table, with a column for each set of hours the pharmacy keeps. When the pharmacy sits inside a store, the counter's closing time and the store's are two different facts, and a drive-through window adds a third. A late question about a prescription is a question about the counter, so the counter gets its own column even in a week when it matches the store.
| Day | Pharmacy counter | Store | Drive-through window |
|---|---|---|---|
| Monday to Friday | [8 a.m. to 10 p.m.] | [7 a.m. to midnight] | [8 a.m. to 10 p.m.] |
| Saturday | [9 a.m. to 1 a.m. Sunday] | [8 a.m. to 1 a.m. Sunday] | [9 a.m. to 6 p.m.] |
| Sunday | [10 a.m. to 6 p.m.] | [9 a.m. to 9 p.m.] | Closed |
| [The next public holiday, with its date] | [10 a.m. to 4 p.m.] | [9 a.m. to 5 p.m.] | Closed |
Holidays go in by date, not by name alone, because a holiday moves around the week and its hours replace the usual ones for that day. Post the year's holidays in one list as soon as your hours for them are settled. In the [three] weeks before each one, put a line at the top of the homepage ("On [holiday], [date], the pharmacy counter is open [hours]."), and take it down the day after. A dated line is freshness a reader can check. Re-dating an unchanged page is not: Google's guidance on people-first content counts that among its warning signs.
Where a closing time falls after midnight, write it as part of the night it belongs to. "Saturday, 9 a.m. to 1 a.m." reads as one late Saturday, and Google's local business documentation writes hours past midnight in the markup the same way, as a single entry for the day the night starts.
On-duty nights, stated as the pharmacy's own dates
Where pharmacies in your area take turns covering nights, weekends or holidays, the page states your part as your own facts: the dates you are on duty, the hours, and how to reach you on those nights. It does not state the rule behind the arrangement, who sets it or what it requires of anyone. Those differ by jurisdiction, and the body that runs the arrangement describes it.
The wording can be as plain as this: "[Pharmacy name] is the on-duty pharmacy for [area] on [dates], from [time] to [time]. On those nights, ring the bell at [the night window] or call [number]. On other nights, [the official on-duty list for your area] names the pharmacy that is open."
The last sentence carries the link. Point to the official list for your area, the one your jurisdiction or the body running the arrangement publishes, rather than naming another pharmacy yourself: the list is the copy that is kept current, and your page would repeat another business's dates. Where no such arrangement exists, the page says what you do instead: "[Pharmacy name] is not open overnight. For a medical emergency, call [the emergency number]."
Publish the dates as soon as you have them, and change the page the day a date changes. An on-duty date that is right on the official list and wrong on your own page leaves a reader holding two answers at the worst hour to have to choose between them.
What happens at the door after hours, and what waits for morning
The after-hours part of the page states what the pharmacy does once the counter has closed, or on a night it is on duty, in your own terms. Every line below is a template: your practice fills it, and the pharmacist in charge decides what it says.
| If someone needs to | What your pharmacy does after [closing time] | How |
|---|---|---|
| Collect a prescription that is already filled | [Hands it out at the night window until (time)], or [holds it until opening] | [Ring the bell and bring (what you ask for)] |
| Hand in a new prescription | [Takes it on on-duty nights], or [takes it from (time) the next morning] | [At the window, or through (the channel you use)] |
| Talk to a pharmacist | [A pharmacist answers (number) until (time)] | [By phone; at the window on on-duty nights] |
| Buy something from the shelves | [A short range at the window], or [nothing until opening] | [At the window] |
| Get a delivery | [None after (time); later orders go out (the next day)] | [The delivery page] |
Say what waits for the morning as plainly as what does not. "New prescriptions are taken from [8 a.m.]" answers the question someone would otherwise drive over to ask, and it is one sentence an answer can repeat. What the table leaves out matters too: it makes no statement about which medicines can be supplied at night or on whose say-so, because that is the rule, and the rule is not the pharmacy's to state.
Special hours on the Business Profile, and the same dates in the markup
On a Business Profile, holiday and on-duty hours are special hours, which Google's guidelines allow "for particular days, like holidays or special events", beside your regular customer-facing hours. Enter each date there on the day it goes on your site. A pharmacy inside a supermarket has a profile of its own under the same guidelines, so its special hours are the counter's, not the store's. The name stays the one on the sign, and "open late" or "24 hours" goes in the hours and the text instead.
The profile is not a side issue. Google's page on AI features lists up-to-date Business Profile information among its practices for AI Overviews and AI Mode, and a holiday is a day the profile falls behind the site unless someone enters it.
In the JSON-LD, each special date is one more openingHoursSpecification with validFrom and validThrough set to that date, the form Google's local business documentation gives for seasonal hours, and opens and closes both "00:00" for a day you are closed. An on-duty night that runs past midnight is a single entry whose closing time is earlier than its opening time, a range that runs into the next day by the definition of schema.org's OpeningHoursSpecification. The node, LocalBusiness schema in its pharmacy form, is typed ["Pharmacy", "LocalBusiness"], for the reason the overview for pharmacies gives.
{
"@context": "https://schema.org",
"@type": ["Pharmacy", "LocalBusiness"],
"@id": "https://www.example.com/#pharmacy",
"name": "[Pharmacy name, as on the sign]",
"url": "https://www.example.com/",
"telephone": "[the pharmacy's own number]",
"address": {
"@type": "PostalAddress",
"streetAddress": "[street and number]",
"addressLocality": "[town]",
"addressRegion": "[state, province or emirate]",
"postalCode": "[postal code]",
"addressCountry": "[two-letter country code]"
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "[08:00]",
"closes": "[22:00]"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "[09:00]",
"closes": "[01:00]"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Sunday",
"opens": "[10:00]",
"closes": "[18:00]"
},
{
"@type": "OpeningHoursSpecification",
"opens": "00:00",
"closes": "00:00",
"validFrom": "[a holiday you close, YYYY-MM-DD]",
"validThrough": "[the same date]"
},
{
"@type": "OpeningHoursSpecification",
"opens": "[08:00]",
"closes": "[03:00]",
"validFrom": "[an on-duty date, YYYY-MM-DD]",
"validThrough": "[the same date]"
}
]
}Every value has to be the one on the visible page, and the special dates have to agree with the profile's, entered the same day. To see what answers say about those hours, put a late line and a holiday line into your panel with the hour and the date written in, and record whether the hours each answer gave were right on the day it ran, as measuring a pharmacy need by need sets out.
Common questions
We close at nine, but a pharmacist answers the phone until eleven. What do we publish?
Both, as two facts. The door closes at nine: those are the opening hours on the page, the profile and the markup. The phone line runs until eleven: a sentence on the page with the number and its hours, and, in schema.org's terms, a ContactPoint with its own hoursAvailable. Folding the two together tells someone the door is open when only the phone is.
The on-duty dates for next year are not set yet. What goes on the page now?
The dates you have, and a line saying when the next set is expected: "Our on-duty dates for [year] will be posted here in [month]." Keep the link to the official list beside it for every night in between. Add the new dates on the day you receive them, to the page, the profile and the markup together.
Our pharmacy is open 24 hours. Is there anything to add?
Say what changes at night, if anything does: the counter moving to a window, the shelves closing, deliveries stopping. State it by hour. In the markup, Google's local business documentation writes round-the-clock hours as opens "00:00" and closes "23:59" for each day, and a holiday with different hours still gets its own dated entry, matched on the profile.
Sources
No figures are quoted on this page. The rules on hours, names and special hours are Google's and the hours properties are schema.org's, each linked where it is stated. Nothing here states any jurisdiction's rules on on-duty service or night supply, and every hour, date and term is a bracketed template.
Sources: Google Business Profile guidelines · Google, local business structured data · Google, AI features and your website · Google Search Central, creating helpful, people-first content · schema.org, OpeningHoursSpecification · schema.org, MedicalBusiness and its subtypes
Read on