FAQ

Answers to frequently asked questions about AirDoo.


Airbnb Sync

Why aren't my Airbnb emails being imported?

Check in this order:

  1. Gmail connection: AirDoo → Configuration → Settings → Gmail Status
  2. Airbnb Listing Name: Must be identical to the name in Airbnb emails (case, accents, spaces)
  3. Ignored emails: AirDoo → Diagnostics → Ignored Emails — the rejection reason is displayed
  4. Parsing errors: AirDoo → Diagnostics → Parsing Errors

The accommodation name in the Airbnb email differs by language?

Airbnb sends emails in the host account's language. Verify the Airbnb Listing Name matches the language used in your emails.

How do I find the correct Airbnb Listing Name?

  1. Open a received Airbnb confirmation email
  2. Copy the exact accommodation name as it appears in the email body
  3. Paste it into the Airbnb Listing Name field in Odoo

The automatic sync isn't triggering

The Gmail cron runs every 30 minutes. Check in Settings → Technical → Automation → Scheduled Actions that the "AirDoo: Gmail Sync" cron is active.


Reservations

A user can open the app but the Reservations menu is missing

Symptom: The user can open AirDoo and see the Dashboard, Accommodations and Guests, but the Reservations menu does not appear.

Cause: Reservations are stored in the sale.order model (Odoo Sales module). Odoo automatically hides menu items when the user lacks access rights to the underlying model.

Fix: Add the Sales / User group to the user: Settings → Users → [User] → Sales tab → Sales: User


Why is there a date conflict?

AirDoo prevents two confirmed (non-cancelled) reservations on the same accommodation with overlapping periods. If an old reservation has an incorrect status, setting it to cancelled will resolve the conflict.

How do I manually cancel a reservation?

Set the Booking Status field to cancelled. This: - Cancels the Odoo order - Cancels all scheduled automated emails (scheduled status)

The reservation amount is incorrect

For Airbnb reservations, the amount is extracted from the confirmation email (net Airbnb payout). For direct bookings, use the "Recalculate Price" button after configuring the accommodation pricelist.


Automated Emails

Why wasn't an email sent?

  1. Check AirDoo → Communication → Logs for a log entry for this reservation
  2. If the log is failed, check Odoo logs for the technical error
  3. If no log exists, verify that an active rule covers this event_type for this accommodation

An email was sent twice

Idempotency is guaranteed by a UNIQUE constraint on the key {order_id}_{event_type}_{rule_id}. If you see a duplicate, two different rules triggered for the same event_type — check there isn't both a default rule AND a specific rule for the same event.

How do I change the send time for an email?

Edit the Send Time field of the corresponding communication rule (e.g. 9.0 = 09:00).


API

How do I get my API token?

AirDoo → Configuration → Settings → API Settings → Native Odoo API Key

The API returns 401 Unauthorized

Check that: 1. The Authorization: Bearer <token> header is present 2. The token matches the value in Odoo settings 3. The airdoo_api_user system user is active

The API returns 403 Forbidden

The token is recognised but the API user doesn't have access to the requested resource. Check the security groups of the airdoo_api_user.

How do I secure API calls from a Next.js site?

Never call the Odoo API directly from the browser (the token would be exposed). Use Next.js Route Handlers server-side:

// app/api/calendar/route.ts — server side only
const response = await fetch(`${process.env.AIRDOO_API_URL}/api/v1/airdoo/calendar`, {
  headers: { 'Authorization': `Bearer ${process.env.AIRDOO_API_TOKEN}` }
});

Configuration

How do I reset the Gmail connection?

AirDoo → Configuration → Settings → "Disconnect Gmail" button → clears all tokens, then reconnect.

Cleaning calendar invitations aren't being sent

  1. Check the accommodation has a cleaning email (Cleaner Partner.email or Cleaner Email)
  2. Check that the airdoo.mail_template_cleaning_mission template exists in Odoo
  3. Check Odoo logs after a reservation confirmation

How do I test without affecting production data?

Use the test database odoo_test configured in config/odoo.conf. Do not connect a production Gmail account to this database.


Persistent Issues

A bug keeps coming back after fixing

If a bug seems uncorrectable despite fixes, it may be a data corruption issue in the database. Contact support for a test database reset.

The module doesn't load on startup

Run Odoo with --stop-after-init to see the full traceback:

python odoo-bin -c config/odoo.conf -d odoo_test -u airdoo --stop-after-init

← Back: Home | Next: Changelog →