Show dates and times
Instead of "the show is 120 minutes long," tell customers "you'll be out by 10:15pm." Instead of "the bar opens an hour before," say "the bar opens at 6pm." crowdEngage works these out from the performance start time, so they're always right for that performance.
The anchor: instance.start
There are lots of built-in date-times, but the one you'll use most is the performance start time:
instance.start
Everything below is worked out relative to that, which is what keeps it accurate across every performance.
Shift the time: relative_datetime
To say doors open 45 minutes before the show:
For a 7:45pm show on 1 May 2019, that outputs:
2019-05-01 19:00
Right time, ugly format. That's where the next piece comes in.
Make it readable: strftime
strftime reformats a date-time into exactly the shape you want. Each part — hour, minute, am/pm — has a code. (Full reference.)
outputs:
7:00pm
Reading that formatter left to right:
%-I— the hour:— a literal colon (use.here instead if you prefer "7.00pm")%M— the minutes%p— AM or PM|lower— pipes the whole thing to lowercase, because "7:00PM" looks a bit shouty
Change the separator or the minutes= value and you've got doors times, bar times, "be out by" times — whatever the message needs.
Test it
strftime is fiddly the first time. Send yourself the message and check the time reads the way you meant before it goes anywhere near customers. If you'd like a second pair of eyes on a template, send it to support@encorepro.com.