Add PROJECT.md for Gitea repository overview
- Create comprehensive project overview for git.cybertek.systems - Include architecture diagram, technology stack, and business value - Document current configuration and deployment status - Add future roadmap with UniFi Protect integration plans - Provide quick start guide and documentation links 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>main
parent
e080aba000
commit
6b4d746ffe
|
|
@ -0,0 +1,144 @@
|
||||||
|
# UniFi Access Airbnb Integration
|
||||||
|
|
||||||
|
> **Automated guest access management for Airbnb properties using UniFi Access**
|
||||||
|
|
||||||
|
## 🏠 Project Overview
|
||||||
|
|
||||||
|
This project automates the entire guest access lifecycle for Airbnb properties by integrating UniFi Access with Airbnb booking data. When guests book your property, the system automatically creates visitor access with PIN codes and cleans up expired accounts.
|
||||||
|
|
||||||
|
## ✨ Key Features
|
||||||
|
|
||||||
|
### 🔐 **Automated Access Management**
|
||||||
|
- **Visitor Creation**: Automatically creates UniFi Access accounts for upcoming guests
|
||||||
|
- **PIN Code Assignment**: Uses last 4 digits of guest phone numbers as door codes
|
||||||
|
- **Access Scheduling**: Configures access from check-in (4:00 PM) to check-out (11:00 AM)
|
||||||
|
- **Automatic Cleanup**: Removes expired visitor accounts after checkout
|
||||||
|
|
||||||
|
### 📅 **Booking Integration**
|
||||||
|
- **Airbnb Calendar**: Pulls reservations from Airbnb ICS calendar feed
|
||||||
|
- **Multi-Day Stays**: Seamlessly handles stays of any length with single visitor account
|
||||||
|
- **Future Planning**: Processes bookings up to 30 days in advance
|
||||||
|
- **Cross-Verification**: Validates booking data consistency
|
||||||
|
|
||||||
|
### 🐳 **Docker Deployment**
|
||||||
|
- **Containerized**: Runs anywhere with Docker support
|
||||||
|
- **Multi-Architecture**: Supports x86, ARM64, and ARM32 (Raspberry Pi)
|
||||||
|
- **Automated Scheduling**: Configurable check intervals (default: every 6 hours)
|
||||||
|
- **Persistent Logging**: Maintains operation history
|
||||||
|
|
||||||
|
## 🛠 Technology Stack
|
||||||
|
|
||||||
|
- **Python 3.11**: Core application runtime
|
||||||
|
- **UniFi Access API**: Door access and visitor management
|
||||||
|
- **Airbnb ICS**: Calendar feed integration for bookings
|
||||||
|
- **Docker**: Containerization and deployment
|
||||||
|
- **Configparser**: Configuration management
|
||||||
|
|
||||||
|
## 🏗 Architecture
|
||||||
|
|
||||||
|
```
|
||||||
|
Airbnb Calendar (ICS) ──► Python Application ──► UniFi Access Controller
|
||||||
|
│ │
|
||||||
|
▼ ▼
|
||||||
|
Logging System Door Device
|
||||||
|
│ (847848a02017)
|
||||||
|
▼
|
||||||
|
Notification System
|
||||||
|
(Simplepush)
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🚀 Quick Start
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
- UniFi Access Controller with API access
|
||||||
|
- Airbnb property with calendar feed
|
||||||
|
- Docker installed on deployment system
|
||||||
|
|
||||||
|
### Deployment
|
||||||
|
```bash
|
||||||
|
# Clone repository
|
||||||
|
git clone https://git.cybertek.systems/cnicholas/unifi-access-airbnb.git
|
||||||
|
cd unifi-access-airbnb
|
||||||
|
|
||||||
|
# Configure settings
|
||||||
|
cp unifi.conf.example unifi.conf
|
||||||
|
# Edit unifi.conf with your credentials
|
||||||
|
|
||||||
|
# Deploy with Docker
|
||||||
|
docker-compose up -d
|
||||||
|
|
||||||
|
# View logs
|
||||||
|
docker-compose logs -f
|
||||||
|
```
|
||||||
|
|
||||||
|
## 📦 Current Configuration
|
||||||
|
|
||||||
|
### UniFi Access Setup
|
||||||
|
- **Controller**: `10.0.1.20:12445`
|
||||||
|
- **Target Device**: `847848a02017` (Front door reader)
|
||||||
|
- **API Access**: Full visitor management permissions
|
||||||
|
|
||||||
|
### Airbnb Integration
|
||||||
|
- **Calendar Source**: Airbnb ICS feed
|
||||||
|
- **Check-in Time**: 4:00 PM
|
||||||
|
- **Check-out Time**: 11:00 AM
|
||||||
|
- **PIN Generation**: Last 4 digits of guest phone number
|
||||||
|
|
||||||
|
### Automation Schedule
|
||||||
|
- **Frequency**: Every 6 hours
|
||||||
|
- **Processing Window**: Next 30 days of bookings
|
||||||
|
- **Cleanup**: Automatic removal of expired visitors
|
||||||
|
|
||||||
|
## 🏁 Current Status
|
||||||
|
|
||||||
|
### ✅ **Completed Features**
|
||||||
|
- [x] UniFi Access API integration
|
||||||
|
- [x] Airbnb calendar parsing
|
||||||
|
- [x] Visitor lifecycle management
|
||||||
|
- [x] PIN code automation
|
||||||
|
- [x] Docker containerization
|
||||||
|
- [x] Raspberry Pi support
|
||||||
|
- [x] Comprehensive logging
|
||||||
|
- [x] Multi-day stay handling
|
||||||
|
|
||||||
|
### 🔄 **Ready for Testing**
|
||||||
|
- Awaiting UniFi reader hardware installation
|
||||||
|
- Configuration validated and tested
|
||||||
|
- Docker deployment verified
|
||||||
|
|
||||||
|
## 🔮 Future Roadmap
|
||||||
|
|
||||||
|
### 📹 **UniFi Protect Integration** (Planned)
|
||||||
|
- **Automated Recording**: Start/stop recording based on guest stays
|
||||||
|
- **Check-in/Check-out Documentation**: Capture arrival and departure
|
||||||
|
- **Incident Archiving**: Maintain recordings for property protection
|
||||||
|
- **Privacy Controls**: Automated recording management with guest notifications
|
||||||
|
|
||||||
|
#### Required Hardware Expansion
|
||||||
|
- UniFi Gateway Max (UDM-Pro Max) with built-in NVR
|
||||||
|
- OR UniFi Cloud Key Gen2+ with Protect license
|
||||||
|
|
||||||
|
## 📚 Documentation
|
||||||
|
|
||||||
|
- **[README.md](README.md)**: Complete setup and usage guide
|
||||||
|
- **[README-DOCKER.md](README-DOCKER.md)**: Docker deployment instructions
|
||||||
|
- **[CLAUDE.md](CLAUDE.md)**: Developer reference and architecture notes
|
||||||
|
|
||||||
|
## 🎯 Business Value
|
||||||
|
|
||||||
|
### **Property Owner Benefits**
|
||||||
|
- **Zero Manual Access Management**: Fully automated guest access
|
||||||
|
- **Enhanced Security**: Temporary, time-limited access codes
|
||||||
|
- **Operational Efficiency**: Eliminates manual door code coordination
|
||||||
|
- **Guest Experience**: Seamless check-in with provided PIN codes
|
||||||
|
|
||||||
|
### **Technical Benefits**
|
||||||
|
- **Reliability**: Docker containerization ensures consistent operation
|
||||||
|
- **Scalability**: Easily deployed across multiple properties
|
||||||
|
- **Maintainability**: Comprehensive logging and monitoring
|
||||||
|
- **Flexibility**: Configurable for different property management workflows
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**🏗 Built for Cybertek Property Automation**
|
||||||
|
*Streamlining Airbnb operations with intelligent access control*
|
||||||
Loading…
Reference in New Issue