Templates

School Closure Robocall and Text Scripts

The closure message almost never fails on wording. It fails because it answered the question everyone already knew the answer to — are we closed — and left out athletics, childcare and whether staff report. Then the front office takes four hundred calls before nine o'clock about a message that was technically correct.

Last reviewed 2026-08-04 ยท Kastr is pre-launch; we publish dated status rather than logos.

The seven decisions a closure message must resolve, and what happens when it does not
DecisionFill inWords it costsIf you omit it
BusesNot running / running on snow routes / running normally6–12Parents wait at stops in the weather you closed for
After-school care and childcareCancelled / open at [SITE] / open for enrolled families only8–14Working parents make the wrong plan at 05:45
Athletics and activitiesAll cancelled / evening events proceed / decision by [TIME]7–12Coaches and athletic directors field it individually
MealsNo service / grab-and-go at [SITES] from [TIME]8–16Families relying on school meals get no substitute
Staff reportingBy category: 12-month, essential, instructional8–15Two hundred staff text their principal
Make-up dayBuilt into calendar / added at [DATE] / decided later6–12Speculation, and a second message you did not plan
Remote learningNone — day is off / asynchronous work posted by [TIME]7–14Half the staff post work and half do not

Seven decisions at an average of ten words is seventy words, which is about twenty-eight seconds of speech. That fits inside a 60-second call with room for the identification and the repeat. It does not fit in one SMS segment, which is why the text carries the closure and points at a page, and the call carries the seven.

The core closure script, and its text and Spanish twins

Voice, 58 seconds. This is [NAME], [TITLE] at [DISTRICT]. All [DISTRICT] schools are closed today, [DAY], [DATE], because of [REASON]. There is no bus service. All after-school activities, athletics and evening events are cancelled. The [PROGRAMME] childcare programme is closed. Grab-and-go meals are available at [SITES] between [TIME] and [TIME]. Twelve-month staff should [INSTRUCTION]; instructional staff should [INSTRUCTION]. There is no remote learning today — this is a full day off. Again, all [DISTRICT] schools are closed today, [DATE]. Updates will be at [WEB ADDRESS]. Thank you.

SMS, 121 characters in English. [DIST]: All schools CLOSED today [DATE] — [REASON]. No buses, no activities, no childcare. Details: [URL]

Spanish voice. Le habla [NOMBRE], [PUESTO] del distrito escolar [DISTRITO]. Todas las escuelas del distrito están cerradas hoy, [DÍA] [FECHA], debido a [MOTIVO]. No habrá transporte escolar. Se cancelan todas las actividades después de clases, los deportes y los eventos de la noche. El programa de cuidado infantil [PROGRAMA] está cerrado. Habrá comidas para llevar en [LUGARES] de [HORA] a [HORA]. Repito: todas las escuelas están cerradas hoy, [FECHA]. Gracias.

Spanish SMS. [DISTRITO]: Todas las escuelas están CERRADAS hoy [FECHA] por [MOTIVO]. No hay transporte ni actividades. Información: [URL]

Note what the Spanish call does that the English one does not: it says distrito escolar in full at the start. Families who receive district calls in Spanish are more likely to be receiving them on a shared or work mobile, and the extra second of identification is worth more than it costs.

The other eleven closure variants

  • Overnight snow, decision made the night before. The only closure you can send at a civilised hour. Send it at 20:00 rather than 21:30, and say explicitly that the decision is final and there will be no morning message — otherwise half the district sets an alarm to check.
  • Morning ice. The genuinely hard one, because the roads at 04:30 and the roads at 07:00 are different roads. If you cannot decide, say when you will: "we will send a final decision by 05:30" is a real message and it stops the phone calls.
  • Mid-day early release. Two messages. First: release time, and that bus times will follow. Second, within thirty minutes: bus departure times and after-school status. One message trying to do both is what fills the car line.
  • Heat, no air conditioning. Say which buildings, because heat closures are frequently partial — and this is where Kastr's lack of school-level targeting bites hardest, since a district-wide send about three buildings is worse than no send.
  • Water main break or boil-water order. Students may still be in the building. Lead with whether they are and whether anyone needs collecting, then the water status.
  • Power outage. Same shape. "Students are safe and supervised" is the first sentence; "do not come to the school yet" is the second.
  • Wildfire smoke or air quality. Name the index value and the threshold in district policy. Air-quality closures are the ones families most often dispute, and a number defuses it.
  • Hazmat or external incident. Defer to the incident commander on every fact. Say what the district is doing, not what happened.
  • Multi-day extended closure. Set a daily message time and keep it, even on days with nothing to report. Silence during an extended closure is read as chaos.
  • Staff-only closure. Send to families anyway. Families notice an empty parking lot and speculate.
  • Closure reversal — school is open after all. Rare and awful. Lead with the correction, give a hard deadline for arrival, and say plainly that no student will be marked tardy.

What time to send, and what the 05:00 send actually rests on

The three candidate windows, and the constraints that decide between them:

  • 05:00. Before the earliest bus driver call-out deadline and before the earliest parent leaves for work. It is also before the federal 08:00 calling-hour boundary, which is the reason this needs a deliberate decision rather than a habit.
  • 05:30. The most common district practice. Still ahead of most first-tier bus runs, and thirty minutes more road information than 05:00 buys you.
  • 06:15. Too late in a tiered district. Your first-tier high school buses are already rolling and your first-shift parents have left.

The 05:00 or 05:30 send rests on the emergency-purpose reasoning: a message whose purpose is the health and safety of the recipients, sent because a delay in sending it would defeat that purpose. A closure caused by hazardous road conditions fits that reasoning comfortably. A closure caused by a scheduled boiler replacement does not, and should be sent the evening before at a normal hour. Full treatment on quiet hours for school notifications.

Kastr's quiet hours default to 21:00–07:00 and are bypassed only by an explicitly emergency-flagged send, which is gated on a capability rather than available to every account. That is a deliberate friction: it means the 05:00 send is a decision somebody made and a record somebody left, rather than a default.

Sending it, and the honest limits

Practical sequence for a 05:15 closure:

  1. Draft in the composer from a saved template. Check the live cost-and-reach estimate before adding voice — on a 12,000-family district, adding a voice leg is the largest single cost decision in the send.
  2. Read the translation preview. DeepL renders the draft in your configured languages before you commit, and a closure message with a mistranslated bus instruction is worse than an English-only one.
  3. Send the test to yourself. It arrives prefixed [TEST] and it is the last chance to notice that a placeholder never got filled.
  4. Flag as emergency only if the closure genuinely is one, then send SMS with voice failover rather than SMS and voice to everyone. Failover fires on terminal SMS failure and links the two delivery records, so a dead mobile becomes a phone call rather than a family who was never told.

Three things Kastr does not do, said before you find out in a demo. There is no weather feed and no automation — nothing watches a forecast and fires a closure message; a person composes and sends. There is no school-level or route-level audience: Kastr resolves specific people and everyone in the district, so a partial closure means selecting those families as an explicit audience, which you can save as a reusable preset and drive through the API but cannot pick from a dropdown. And there are no push notifications at all; the channels are SMS, email and voice. If you close one building at a time more often than you close the district, all three of those matter to you.

Questions people actually ask

What time should a school send a snow day robocall?

Between 05:00 and 05:30 in most districts. The binding constraints are the bus driver call-out deadline and the earliest parent work departure, both of which usually sit before 06:00. A 06:15 send is too late in a tiered-route district because your first tier is already running.

Does a 05:00 snow day call violate quiet hours?

It sits on the emergency-purpose reasoning — a health-and-safety message that would be defeated by delay. That reasoning is strong for hazardous conditions and weak for a scheduled maintenance closure, which should go out the evening before. Keep a record of who authorised the early send and why; that record is the whole defence. This is general information, not legal advice.

What should a closure message say about athletics and after-school care?

Explicitly, in the message, in words. "All after-school activities, athletics and evening events are cancelled" costs about eleven words and prevents most of the follow-up calls. If the evening decision has not been made, say when it will be made rather than saying nothing.

How do you announce a two-hour delay that later becomes a full closure?

Voice first, immediately, on every channel the original delay message used, leading with the change rather than with an apology. Include one instruction for families whose children are already at bus stops. There is a dedicated script on the delay page, which also carries the bus-time conversion table.

Should a closure message go by text, phone call or both?

Text first because it arrives in seconds and survives a busy line, then voice as failover for the numbers where the text failed. Sending both to everybody roughly doubles the cost and trains families to ignore one of the two. The exception is a closure that reverses an earlier message, where a call to everybody is justified because you need certainty rather than reach.

One price. Every feature. Locked for three years.

$3.50 per student per year under 5,000 students. No tiers, no add-on modules, no per-message fees. Published on the site because you should not have to book a call to learn a price.