Skip to content

feat(place/booking-notifier): email booking reminders before booking start - #637

Closed
KesterJJ wants to merge 1 commit into
masterfrom
feat/booking-notifier-reminders
Closed

KesterJJ wants to merge 1 commit into
masterfrom
feat/booking-notifier-reminders

Conversation

@KesterJJ

@KesterJJ KesterJJ commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Superseded by #638, which carries this work plus the review fixes (reminder attachments, approver merge fields, owner-flag zone skip, network credentials removed from the trigger) and the added spec coverage (cron-driven sweep, two offsets on one booking, locker instance, advertised fields vs sent args).

…start

Adds a bookings.booking_reminder template trigger plus a scheduled sweep
that emails the booking owner ahead of the booking starting.

Reminders are configured as a list of offsets in minutes before the start,
checked by a cron sweep, since a cron entry alone cannot express "3 days
before an arbitrary booking start". A grace window stops stale reminders
being sent after downtime, bookings created after their reminder moment
and checked-in bookings are skipped, and each reminder is sent once with
the state persisted in the driver status.
@KesterJJ

KesterJJ commented Oct 6, 2026

Copy link
Copy Markdown
Contributor Author

CI notes for this branch:

  • Subset Report - crystal: latest, stable: true passes.
  • Style / crystal-style fails on six files that are already unformatted on master (orbility/approvals.cr, leviton/acquisuite_spec.cr, ashrae/bacnet_vav_control.cr, place/booking_check_in_helper.cr, place/bookings/security_booking_check_in.cr, open_ai/voice_control.cr). crystal tool format was applied to the two files changed in this PR and neither of them is in that list.
  • The nightly runs (Subset Report, Full Report) stop before running any tests with Error connecting to 'localhost:8080': Connection refused, i.e. the harness is unreachable in those jobs - the same environment problem as fix(place/bookings): PPT-2426 resolve asset names from Asset records #636.

Local validation: ./harness report drivers/place/booking_notifier.cr --no-colour --basic-render --verbose passes (1 tested, 0 failures, 0 timeouts); the baseline before the change passed too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants