Installing AirDoo

This guide explains how to install and configure the AirDoo module in your Odoo instance.

Prerequisites

1. Odoo Environment

  • Odoo 18.0+ installed and running
  • Python 3.10+ (3.12 recommended to avoid deprecation warnings)
  • PostgreSQL as the database
  • Administrator access to the Odoo instance

2. Required Odoo Modules

AirDoo depends on the following Odoo modules: - base (always present) - sale_management (sales management) - account (accounting) - contacts (contact management) - web (web interface)

3. Google Cloud Account

  • Active Google Cloud account
  • Gmail API enabled
  • OAuth2 credentials generated

Installation Methods

# Navigate to the Odoo modules directory
cd /path/to/odoo/addons

# Clone the AirDoo repository
git clone https://github.com/sursini/AirDoo.git airdoo

# Restart Odoo
sudo systemctl restart odoo

Option 2: Manual Installation

  1. Download the module from GitHub
  2. Extract the archive into the Odoo modules directory
  3. Restart the Odoo service

Option 3: Odoo Interface

  1. Enable developer mode in Odoo
  2. Go to Apps → Update Apps List
  3. Search for "AirDoo: Airbnb Reservation Sync"
  4. Click Install

Google Cloud Configuration

Note: This is a one-time setup. The built-in wizard in AirDoo (Configuration → Settings → Gmail Connection) will guide you step by step afterwards.

1. Create a Google Cloud Project

  1. Go to Google Cloud Console
  2. Click the project selector at the top → "New project"
  3. Enter a name (e.g. "AirDoo Odoo") then click Create

2. Enable the Gmail API

  1. In the left menu: "APIs & Services" → "Library"
  2. Search for "Gmail API" → click it → "Enable"
  1. Go to "APIs & Services" → "OAuth consent screen"
  2. Select "External"Create
  3. Fill in only:
  4. App name: AirDoo
  5. Support email: your email
  6. The Scopes section can be skipped — AirDoo handles it automatically
  7. Under "Test users", add your Gmail address
  8. Save and leave the app in Test mode (no need to publish)

4. Create OAuth2 Credentials (Web Application)

⚠ Make sure to select "Web application", not "Desktop app".

  1. Go to "APIs & Services" → "Credentials"
  2. Click "Create credentials" → "OAuth 2.0 Client ID"
  3. Application type: Web application
  4. Enter a name (e.g. "AirDoo Web")
  5. Under "Authorised redirect URIs", add the URL shown in the AirDoo wizard (e.g. https://erp.kalpana.com.br/airdoo/oauth2/callback)
  6. Click Create then Download JSON

5. Connect via the AirDoo Wizard

  1. In Odoo: Configuration → Settings → Gmail Connection
  2. Click "Configure Gmail Connection →"
  3. Follow the 5 steps — upload the JSON file downloaded in the previous step

Normal Google warning: When connecting, Google shows "Google hasn't verified this app". This is expected while the app is in Test mode. Click "Continue" to grant access.

403 "access_denied" error: Your email is not in the test users list. Go back to APIs & Services → OAuth consent screen → Audience and add your email.

Python Dependencies

AirDoo requires the following Python packages:

# Install via pip
pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client beautifulsoup4

Or add them to your Odoo requirements.txt:

google-auth>=2.17.3
google-auth-oauthlib>=1.0.0
google-auth-httplib2>=0.1.0
google-api-python-client>=2.86.0
beautifulsoup4>=4.12.0

Odoo Configuration

1. Verify the Installation

  1. Restart Odoo after installation
  2. Go to Apps
  3. Search for "AirDoo"
  4. Verify the module is installed and active

2. Configure System Settings

  1. Go to Configuration → Settings
  2. Find the "AirDoo" section
  3. Configure basic parameters:
  4. API Key: Generate a secure API key
  5. Webhook Secret: Generate a webhook secret
  6. Base Price: Default price per night

3. Set Up Products

AirDoo needs two Service type products:

"Accommodation Nights" Product

  1. Go to Sales → Products → Products
  2. Click New
  3. Fill in:
  4. Name: Accommodation Nights
  5. Product type: Service
  6. Invoicing policy: Ordered quantities
  7. Sales price: 0.00 (replaced by Airbnb price at sync)

"Cleaning Fee" Product (Optional)

  1. Click New
  2. Fill in:
  3. Name: Cleaning Fee
  4. Product type: Service
  5. Sales price: Fixed amount (e.g. 80.00)
  1. Return to Configuration → Settings → AirDoo
  2. Under "PMS Default Products":
  3. Accommodation Service: Select "Accommodation Nights"
  4. Cleaning Service: Select "Cleaning Fee" (optional)
  5. Click Save

Verifying the Installation

Test Dependencies

# Test Python module imports
python3 -c "import google.auth; import bs4; print('Dependencies OK')"

Test Gmail API

  1. Go to AirDoo → Configuration → Settings
  2. Click "Test Gmail Connection"
  3. Complete the OAuth2 authentication flow
  4. Verify the connection is successful

Test the Module

  1. Go to AirDoo → Dashboard
  2. Verify the dashboard loads correctly
  3. Check there are no errors in the logs

Troubleshooting

Common Issues

1. Module not visible in Apps

  • Cause: Wrong directory or permissions
  • Solution: Check module path and restart Odoo

2. Python import errors

  • Cause: Missing dependencies
  • Solution: Install required packages via pip

3. Google authentication error

  • Cause: Incorrect credentials or missing scopes
  • Solution: Regenerate credentials and verify scopes

4. Permission issues

  • Cause: Odoo user lacks sufficient rights
  • Solution: Grant the necessary rights to the user

Diagnostic Logs

# View Odoo logs
sudo journalctl -u odoo -f

# View AirDoo-specific logs
tail -f /var/log/odoo/odoo-server.log | grep -i airdoo

Next Steps

Once installation is complete:

  1. Configuration: Configure accommodations and settings
  2. Quick Start: Run your first sync
  3. User Guide: Learn daily usage of AirDoo

← Previous: Overview | Next: Configuration →