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¶
Option 1: Git Installation (Recommended)¶
# 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¶
- Download the module from GitHub
- Extract the archive into the Odoo modules directory
- Restart the Odoo service
Option 3: Odoo Interface¶
- Enable developer mode in Odoo
- Go to Apps → Update Apps List
- Search for "AirDoo: Airbnb Reservation Sync"
- 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¶
- Go to Google Cloud Console
- Click the project selector at the top → "New project"
- Enter a name (e.g. "AirDoo Odoo") then click Create
2. Enable the Gmail API¶
- In the left menu: "APIs & Services" → "Library"
- Search for "Gmail API" → click it → "Enable"
3. Configure the OAuth Consent Screen¶
- Go to "APIs & Services" → "OAuth consent screen"
- Select "External" → Create
- Fill in only:
- App name: AirDoo
- Support email: your email
- The Scopes section can be skipped — AirDoo handles it automatically
- Under "Test users", add your Gmail address
- 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".
- Go to "APIs & Services" → "Credentials"
- Click "Create credentials" → "OAuth 2.0 Client ID"
- Application type: Web application
- Enter a name (e.g. "AirDoo Web")
- Under "Authorised redirect URIs", add the URL shown in the AirDoo wizard
(e.g.
https://erp.kalpana.com.br/airdoo/oauth2/callback) - Click Create then Download JSON
5. Connect via the AirDoo Wizard¶
- In Odoo: Configuration → Settings → Gmail Connection
- Click "Configure Gmail Connection →"
- 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¶
- Restart Odoo after installation
- Go to Apps
- Search for "AirDoo"
- Verify the module is installed and active
2. Configure System Settings¶
- Go to Configuration → Settings
- Find the "AirDoo" section
- Configure basic parameters:
- API Key: Generate a secure API key
- Webhook Secret: Generate a webhook secret
- Base Price: Default price per night
3. Set Up Products¶
AirDoo needs two Service type products:
"Accommodation Nights" Product¶
- Go to Sales → Products → Products
- Click New
- Fill in:
- Name: Accommodation Nights
- Product type: Service
- Invoicing policy: Ordered quantities
- Sales price: 0.00 (replaced by Airbnb price at sync)
"Cleaning Fee" Product (Optional)¶
- Click New
- Fill in:
- Name: Cleaning Fee
- Product type: Service
- Sales price: Fixed amount (e.g. 80.00)
4. Link Products to AirDoo¶
- Return to Configuration → Settings → AirDoo
- Under "PMS Default Products":
- Accommodation Service: Select "Accommodation Nights"
- Cleaning Service: Select "Cleaning Fee" (optional)
- Click Save
Verifying the Installation¶
Test Dependencies¶
# Test Python module imports
python3 -c "import google.auth; import bs4; print('Dependencies OK')"
Test Gmail API¶
- Go to AirDoo → Configuration → Settings
- Click "Test Gmail Connection"
- Complete the OAuth2 authentication flow
- Verify the connection is successful
Test the Module¶
- Go to AirDoo → Dashboard
- Verify the dashboard loads correctly
- 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:
- Configuration: Configure accommodations and settings
- Quick Start: Run your first sync
- User Guide: Learn daily usage of AirDoo
← Previous: Overview | Next: Configuration →