Everything worth knowing, nothing that isn't.
Why it matters for OTPs
An OTP that arrives an hour late is worse than no OTP — the user has already moved on or generated a fresh attempt. For OTP traffic, set validity to 5-10 minutes (validity_period: "000000000500000R" for 5 minutes). If the message doesn't reach the handset in that window, you don't want it eventually arriving stale. For marketing, the operator default (24 hours) is usually fine.
How operators handle it
Each intermediate SMSC respects the validity it receives and applies it from its own clock — meaning if your aggregator buffers for 2 hours before forwarding, the downstream SMSC sees a validity that's already burned 2 hours of its budget. Mature aggregators stamp validity at submit time but track per-hop budget against the recipient's clock; less mature ones drift, and your 5-minute OTP becomes an effective 3-minute SLO at the handset.
Validity vs scheduling
Validity is how long after submit the SMSC keeps retrying. schedule_delivery_time (a separate SMPP field) is when the SMSC should first attempt delivery — used for time-zone-aware campaigns. The two are independent: you can schedule a message for 9am local with a 4-hour validity, and the SMSC will retry until 1pm if the first 9am attempt fails.