Automated Communication¶
The AirDoo communication engine automatically sends emails to guests at key moments in a reservation.
Key Concepts¶
Communication Rule (airdoo.comm.rule)¶
A rule defines when and what to send:
| Field | Description |
|---|---|
| Event Type | Triggering event type |
| Accommodation | Accommodation concerned (empty = default rule) |
| Template | Email template to send |
| Delay | Delay in days or hours (e.g. -2 = D-2) |
| Reference Date | Reference date for the delay |
| Send Time | Sending time (e.g. 9.0 = 09:00) |
Event Types¶
| Code | Description |
|---|---|
confirmation |
Immediate send on confirmation |
welcome |
Welcome pack (e.g. D-7 before check-in) |
checkin_reminder |
Arrival reminder (e.g. D-1 before check-in) |
thank_you |
Thank you and review request (e.g. D+1 after checkout) |
loyalty |
Loyalty offer (e.g. D+30 after checkout) |
Reference Dates¶
| Reference | Description |
|---|---|
confirmation |
Date/time of confirmation (now + delay) |
checkin |
Check-in date + delay |
checkout |
Check-out date + delay |
Rule Priority¶
- Rules specific to an accommodation take priority over default rules for the same event_type
- Default rules (without accommodation) apply as fallback to all accommodations
Communication Logs (airdoo.communication.log)¶
Every scheduled or sent message is recorded in a log:
| Status | Description |
|---|---|
scheduled |
Scheduled, awaiting send |
sent |
Successfully sent |
failed |
Send failed |
cancelled |
Cancelled (e.g. reservation cancelled) |
Idempotency: A unique key {reservation_id}_{event_type}_{rule_id} guarantees a message is never sent twice for the same reservation.
Managing Communication Rules¶
AirDoo → Communication → Rules
To create a rule:
- Click New
- Choose the Event Type and Template
- Configure the delay (e.g.
-2 days before check-in) - Optional: link to a specific accommodation
- Save
Monitoring Communications¶
AirDoo → Communication → Logs
Or directly from a reservation: Communications tab → list of logs with status.
Automatic Process¶
Scheduling (cron every 4 hours)¶
The Generate Communications cron iterates over confirmed reservations and generates scheduled logs based on active rules.
Sending (cron every 10 minutes)¶
The Send Due Communications cron sends all logs whose scheduled send time has passed and whose status is scheduled.
On Reservation Confirmation¶
When a reservation moves to confirmed, communications are scheduled immediately (without waiting for the next cron cycle).
On Cancellation¶
All logs in scheduled status are automatically cancelled.
Cleaning Mission Email¶
On each reservation confirmation, a special email is sent to the accommodation's cleaning provider. This email includes:
- Stay details (code, guest, dates, composition)
- A
.icscalendar invitation for the cleaning mission (checkout day) - A
.icsinvitation for the reservation period (informational) - Cleaning instructions specific to the accommodation (if configured)
Configuring the Cleaning Provider¶
In AirDoo → Accommodations → Cleaning tab: - Cleaner Partner: Odoo contact (takes priority) - Cleaner Email: Direct email if no Odoo contact - Cleaner Language: Invitation language (FR, EN, ES, DE, IT, PT) - Cleaning Instructions: HTML instructions included in the email
Full Flow Example¶
Airbnb reservation confirmed (15 March 2026)
│
├── Immediate: Confirmation email → guest
├── Immediate: Cleaning mission email → cleaner
│
├── 1 March (D-14 before check-in 15 March): Welcome Pack → guest
├── 14 March (D-1 before check-in): Check-in Reminder → guest
│
├── 20 March (D+1 after checkout 19 March): Thank You & Review → guest
└── 14 April (D+30 after checkout): Loyalty Offer → guest
← Back: Dashboard | Next: Accommodations →