All checks were successful
Create Release Package / build-release (push) Successful in 1m1s
New Features: - Auto-update system with configurable check frequency - Updates tab in settings with manual check button - Localhost development mode bypasses license validation - Extended general settings (address, contact, social media) - Pricing settings split into subtabs - Guest ID/passport encryption using AES-256-CBC - Guest auto-creation from booking form Bug Fixes: - Fixed Booking admin issues with auto-draft status - Fixed guest dropdown loading in booking form - Fixed booking history display on Guest edit page - Fixed service pricing meta box (Gutenberg hiding meta boxes) Changes: - Admin submenu reordered for better organization - Booking title shows guest name and dates (room removed) - Service, Guest, Booking use classic editor (not Gutenberg) - Settings tabs flush with content (no gap) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
206 lines
6.7 KiB
Markdown
206 lines
6.7 KiB
Markdown
# WP BnB Management
|
|
|
|
A comprehensive Bed & Breakfast management system for WordPress. Manage buildings, rooms, bookings, and guests all within your WordPress admin.
|
|
|
|
## Description
|
|
|
|
WP BnB Management enables WordPress to act as a full management system for B&B hosts. It handles multiple buildings with multiple rooms each, bookings, and guest data required for room rentals.
|
|
|
|
### Key Features
|
|
|
|
- **Multi-Property Support**: Manage multiple buildings, each with multiple rooms
|
|
- **Flexible Pricing**: Configure short-term (nights), mid-term (weeks), and long-term (months) pricing
|
|
- **Seasonal Pricing**: Set price modifiers for high/low seasons
|
|
- **Booking Management**: Track reservations from inquiry to checkout
|
|
- **Guest Management**: Store guest information securely with GDPR compliance
|
|
- **Data Encryption**: Sensitive guest data (ID/passport) encrypted at rest
|
|
- **Additional Services**: Offer extras like breakfast, parking, or tours
|
|
- **Frontend Integration**: Gutenberg blocks, widgets, and shortcodes
|
|
- **Auto-Updates**: Automatic update checks and installation from license server
|
|
- **Development Mode**: License bypass for local development environments
|
|
- **Contact Form 7 Integration**: Accept booking requests through forms (planned)
|
|
|
|
### Requirements
|
|
|
|
- WordPress 6.0 or higher
|
|
- PHP 8.3 or higher
|
|
- Valid license key
|
|
|
|
## Installation
|
|
|
|
1. Download the latest release from the [releases page](https://src.bundespruefstelle.ch/magdev/wp-bnb/releases)
|
|
2. Upload the plugin to your `/wp-content/plugins/` directory
|
|
3. Activate the plugin through the 'Plugins' menu in WordPress
|
|
4. Go to **WP BnB → Settings → License** to enter your license key
|
|
5. Configure your business settings under **WP BnB → Settings**
|
|
|
|
## Configuration
|
|
|
|
### License Activation
|
|
|
|
1. Navigate to **WP BnB → Settings → License**
|
|
2. Enter your License Server URL
|
|
3. Enter your License Key (from purchase confirmation)
|
|
4. Enter the Server Secret (from purchase confirmation)
|
|
5. Click **Activate License**
|
|
|
|
### General Settings
|
|
|
|
- **Business Name**: Your B&B business name
|
|
- **Currency**: Select your preferred currency (CHF, EUR, USD, GBP)
|
|
- **Business Address**: Street, city, postal code, country
|
|
- **Contact Information**: Email, phone, website
|
|
- **Social Media**: Facebook, Instagram, X (Twitter), LinkedIn, TripAdvisor
|
|
|
|
### Update Settings
|
|
|
|
- **Update Notifications**: Enable/disable update notifications in WordPress
|
|
- **Automatic Updates**: Enable/disable automatic plugin updates
|
|
- **Check Frequency**: How often to check for updates (1-168 hours)
|
|
|
|
### Development Mode
|
|
|
|
The plugin automatically detects local development environments and bypasses license validation. Supported environments:
|
|
|
|
- localhost, 127.0.0.1, ::1
|
|
- Domains ending in .local, .test, .localhost, .dev, .ddev.site
|
|
- Private IP ranges (10.x.x.x, 172.16-31.x.x, 192.168.x.x)
|
|
|
|
## Usage
|
|
|
|
### Managing Buildings
|
|
|
|
1. Go to **WP BnB → Buildings**
|
|
2. Click **Add New**
|
|
3. Enter building details (name, address, description)
|
|
4. Add featured image
|
|
5. Publish
|
|
|
|
### Managing Rooms
|
|
|
|
1. Go to **WP BnB → Rooms**
|
|
2. Click **Add New**
|
|
3. Select the parent building
|
|
4. Configure room details and pricing
|
|
5. Add amenities and room type
|
|
6. Publish
|
|
|
|
### Managing Bookings
|
|
|
|
1. Go to **WP BnB → Bookings**
|
|
2. View and manage all reservations
|
|
3. Update booking status as guests progress
|
|
|
|
### Managing Guests
|
|
|
|
1. Go to **WP BnB → Guests**
|
|
2. View guest records and booking history
|
|
3. Manage guest information
|
|
|
|
## Shortcodes
|
|
|
|
Display buildings and rooms on your site using shortcodes:
|
|
|
|
```txt
|
|
[bnb_buildings] - List all buildings (grid/list layout)
|
|
[bnb_rooms building="123"] - List rooms, optionally filtered by building
|
|
[bnb_room_search] - Interactive room search form
|
|
[bnb_building id="123"] - Display a single building
|
|
[bnb_room id="456"] - Display a single room with availability
|
|
```
|
|
|
|
### Shortcode Attributes
|
|
|
|
**`[bnb_buildings]`** and **`[bnb_rooms]`**:
|
|
|
|
- `layout` - "grid" or "list" (default: grid)
|
|
- `columns` - 1-4 columns (default: 3)
|
|
- `limit` - Number of items (default: 12)
|
|
- `orderby` - title, date, price, capacity (default: title)
|
|
- `order` - ASC or DESC (default: ASC)
|
|
|
|
**`[bnb_rooms]`** additional attributes:
|
|
|
|
- `building` - Building ID to filter by
|
|
- `room_type` - Room type slug to filter by
|
|
- `amenities` - Comma-separated amenity slugs
|
|
|
|
## Gutenberg Blocks
|
|
|
|
The following blocks are available in the block editor:
|
|
|
|
- **Building** - Display a single building with details
|
|
- **Room** - Display a single room with availability form
|
|
- **Room Search** - Interactive search form with filters
|
|
- **Buildings List** - Display buildings grid/list
|
|
- **Rooms List** - Display rooms grid/list with filters
|
|
|
|
## Widgets
|
|
|
|
Available sidebar widgets:
|
|
|
|
- **Similar Rooms** - Show rooms from same building or room type
|
|
- **Building Rooms** - List all rooms in a building
|
|
- **Availability Calendar** - Mini calendar showing booking status
|
|
|
|
## Hooks and Filters
|
|
|
|
Developers can customize behavior using these hooks:
|
|
|
|
```php
|
|
// Modify price calculation
|
|
add_filter( 'wp_bnb_calculate_price', function( $price, $room_id, $dates ) {
|
|
// Custom pricing logic
|
|
return $price;
|
|
}, 10, 3 );
|
|
|
|
// Before booking creation
|
|
add_action( 'wp_bnb_before_booking_create', function( $booking_data ) {
|
|
// Custom validation or logging
|
|
} );
|
|
```
|
|
|
|
## Frequently Asked Questions
|
|
|
|
### Do I need a license to use this plugin?
|
|
|
|
Yes, a valid license is required to use the frontend features in production. The admin functionality works without a license for evaluation purposes. Local development environments (localhost, .local, .test, .dev domains) automatically bypass license validation.
|
|
|
|
### Can I manage multiple properties?
|
|
|
|
Yes, you can create unlimited buildings and rooms.
|
|
|
|
### Is the plugin GDPR compliant?
|
|
|
|
Yes, guest data can be exported and deleted on request, and consent is tracked appropriately.
|
|
|
|
### Does it integrate with WooCommerce?
|
|
|
|
WooCommerce integration for payments is planned for a future release.
|
|
|
|
### How is guest data secured?
|
|
|
|
Sensitive guest data like passport/ID numbers are encrypted using AES-256-CBC encryption before storage. The encryption key is derived from your WordPress AUTH_KEY, ensuring data is secure at rest.
|
|
|
|
## Changelog
|
|
|
|
See [CHANGELOG.md](CHANGELOG.md) for a detailed list of changes.
|
|
|
|
## Support
|
|
|
|
For support, please create an issue at:
|
|
<https://src.bundespruefstelle.ch/magdev/wp-bnb/issues>
|
|
|
|
## Author
|
|
|
|
**Marco Graetsch**
|
|
|
|
- Website: <https://src.bundespruefstelle.ch/magdev>
|
|
- Email: <magdev3.0@gmail.com>
|
|
|
|
## License
|
|
|
|
GPL-2.0-or-later
|
|
|
|
This plugin is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or any later version.
|