Everything worth knowing, nothing that isn't.
The window is local to the recipient
Quiet hours are measured where the handset is, not where your server is. A single global send time will breach the rule somewhere. Schedule against each destination's local window, and remember that a ported or roaming number may not sit in the time zone its country code suggests — which is one more reason to know the real line status before a large campaign.
Transactional traffic is usually exempt
Almost every market that restricts promotional messaging still permits one-time passcodes, fraud alerts, delivery notifications and service messages at any hour — a person completing a login at 2am needs their code. The exemption depends on the message genuinely being transactional. Marketing content sent on a transactional route to dodge the window is a compliance breach and, in several markets, grounds for the operator to suspend the sender ID.
The rules differ more than people expect
Windows vary by market and change with regulation: some define quiet hours nationally, others delegate to operator policy, and several add restrictions around religious observance or election periods. Treat the window as per-market configuration that is reviewed, not as a constant you can hard-code once. Our country guides list the current position for each market we route to.
Getting it right operationally
Hold rather than drop: queue a message that would land inside a quiet window and release it when the window opens, so the campaign still reaches the recipient. Make the send-time policy a property of the message category, not of the campaign, so a transactional message is never accidentally held and a promotional one is never accidentally released. And log the decision — when a regulator asks why a message went out at 11pm, the answer needs to be in a record, not a recollection.