Hostel PRO
Premium plugin for hostels, small hotels, or BnB
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/pimteam/hostelpro/archive/refs/heads/main.zipReadme
Hostel PRO
A comprehensive WordPress plugin for hostel and small hotel management with online booking capabilities.
Overview
Hostel PRO is a complete reservation system and website solution for hostels, B&Bs, and small hotels. Built as a WordPress plugin, it provides everything you need to manage rooms, accept online bookings, track payments, and synchronize with external booking platforms.
This project is now open source and available for everyone under the GPL v2 license.
Features
Room Management
- Unlimited rooms - Create as many rooms as you need
- Room types - Private rooms or dormitories (male/female/mixed)
- Bathroom options - Ensuite or shared bathroom designation
- Flexible pricing - Set prices per bed or per room
- Extra beds - Configure additional beds with separate pricing
- Child pricing - Special rates for children's beds
- Whole dorm pricing - Offer entire dorm rooms at a discount
Online Bookings & Payments
- PayPal integration - Accept payments via PayPal (IPN & PDT supported)
- Stripe integration - Modern payment processing with Stripe
- Manual booking mode - Accept bank transfers, checks, or payment on arrival
- Multiple booking mode - Allow multiple rooms in a single session/payment
- Advance payment - Configurable deposit percentage or fixed amount
- Automatic cleanup - Remove unpaid pending bookings after specified hours
Booking Management
- Searchable booking list - Filter by guest name, email, room, status, or booking ID
- Past & upcoming bookings - Separate views for historical and future reservations
- Payment tracking - Mark bookings as paid, track amounts due
- Booking statuses - Active, pending, cancelled status management
- Custom fields - Add unlimited custom fields to booking forms
- Email notifications - Automated emails to guests and administrators
Customizable Booking Form
- Shortcode-based - Easy embedding anywhere on your site
- Visual editor support - Rearrange fields in WordPress editor
- Custom fields - Text, textarea, dropdown, checkbox, file upload fields
- Required fields - Mark fields as mandatory
- CSS customization - Full control over form appearance
- Responsive design - Mobile-friendly booking experience
Availability & Calendar
- Set unavailable dates - Block dates when property is closed
- Room-specific unavailability - Schedule maintenance without closing entire property
- Room calendars - Visual calendar showing availability for each room
- Multiple calendar views - Overview calendar for all rooms
- Date picker - jQuery UI datepicker with localization support
- Min/max stay - Set minimum and maximum stay requirements
Discounts & Surcharges
- Date-based pricing - Different prices for specific date ranges
- Weekday pricing - Set different prices for days of the week
- Length of stay discounts - Discounts based on number of nights
- Coupon codes - Distribute discount codes to guests
- Seasonal pricing - Perfect for high/low season rate changes
- Minimum price discounts - Automatic discounts when booking total reaches threshold
- Partial occupancy pricing - Discounted rates for partially booked private rooms
Addon Services
- Unlimited addons - Bike rentals, meals, extra beds, linen, etc.
- Per-person pricing - Charge addons per guest
- Per-day pricing - Charge addons per night
- Room-specific addons - Different services for different rooms
- Maximum availability - Limit quantity of each addon
- Automatic application - Addons automatically calculated in total
Reports & Analytics
- Earnings reports - View income by date range
- Room occupancy - See which rooms are most popular
- Room type profitability - Compare earnings by room type
- Charts & graphs - Visual representation of data
- Export capabilities - Download reports for external analysis
Synchronization
- iCal export - Each room provides .ics calendar URL
- iCal import - Import bookings from external calendars
- Multiple import URLs - Sync with multiple booking platforms per room
- Booking.com support - Import/export via iCal
- Airbnb support - Two-way synchronization
- Expedia/Hotels.com - Import bookings (requires iCal URL from Expedia)
- TripAdvisor - Sync availability calendar
Security Features
- SQL injection protection - All queries use prepared statements
- CSRF protection - Nonce verification on all forms
- XSS prevention - Output escaping throughout
- Capability checks - Role-based access control
- Input validation - Strict validation on all user inputs
- Direct file access protection - All files protected against direct access
User Roles & Permissions (Ensuite Module)
- Staff management - Create records for all staff members
- Custom roles - Define roles beyond default housekeeper/receptionist
- Room cleaning schedule - Automatic or manual cleaning assignments
- Expense tracking - Track expenses per room or globally
- Access control - Fine-tune permissions for different user roles
Communication (Ensuite Module)
- Thank-you notices - Automated messages after guest departure
- Email reminders - Reminders for upcoming bookings
- Customizable templates - Edit email content and subject lines
- Email logging - Track all sent emails with status
Internationalization
- Translation ready - Full gettext support
- Language files - Included .pot file for translations
- Date/time localization - Respects WordPress locale settings
- Currency options - USD, EUR, GBP, JPY, INR, and custom
Installation
Requirements
- WordPress 5.0 or higher
- PHP 7.0 or higher
- MySQL 5.6 or higher
- cURL extension (for payment processing and iCal sync)
- OpenSSL extension (for secure connections)
Standard Installation
-
Download the plugin
git clone https://github.com/your-org/hostelpro.git -
Upload to WordPress
- Copy the
hostelprofolder to/wp-content/plugins/ - Or use WordPress admin: Plugins → Add New → Upload Plugin
- Copy the
-
Activate the plugin
- Go to WordPress admin → Plugins
- Find "Hostel PRO" and click "Activate"
-
Run installation
- The plugin will automatically create required database tables on activation
Manual Installation
# Navigate to your WordPress plugins directory
cd /path/to/wordpress/wp-content/plugins/
# Clone the repository
git clone https://github.com/your-org/hostelpro.git
# Set proper permissions
chown -R www-data:www-data hostelpro/
chmod -R 755 hostelpro/
Quick Start Guide
Get your hostel booking system running in minutes:
Step 1: Basic Configuration
- Navigate to Hostel PRO → Settings in WordPress admin
- Set your currency
- Configure booking mode (PayPal, Stripe, or manual)
- Set up PayPal/Stripe credentials if using online payments
- Configure sender email and name for notifications
Step 2: Create Rooms
- Go to Hostel PRO → Manage Rooms
- Click "Add Room"
- Enter room details:
- Title (e.g., "4-Bed Mixed Dorm")
- Type (Private or Dorm)
- Number of beds
- Bathroom type (Ensuite/Shared)
- Price per night
- Add description and photos via WordPress editor
- Save and repeat for all rooms
Step 3: Configure Booking Form
- Go to Hostel PRO → Booking Form
- Add custom fields if needed (special requests, arrival time, etc.)
- Arrange field order using drag & drop
- Note the shortcode:
[hostelpro-booking]
Step 4: Publish Booking Form
Create a page and add the shortcode:
[hostelpro-booking]
Or use the room list with availability:
[hostelpro-list show_titles="1" show_descriptions="1"]
Step 5: Set Unavailable Dates
- Go to Hostel PRO → Unavailable Dates
- Select dates when your property is closed
- Mark specific rooms as unavailable for maintenance
- Save changes
Step 6: Configure Discounts (Optional)
- Go to Hostel PRO → Discounts & Surcharges
- Add seasonal pricing rules
- Create coupon codes for promotions
- Set weekday/weekend pricing differences
Step 7: Test Booking
- Visit your booking page as a customer
- Select dates and room
- Complete the booking form
- Verify email notifications are received
- Check booking appears in admin panel
You're ready to accept guests! 🎉
Shortcodes Reference
Main Shortcodes
| Shortcode | Description |
|---|---|
[hostelpro-booking] |
Display booking form |
[hostelpro-list] |
List all rooms with availability |
[hostelpro-book room_id="1"] |
Book button for specific room |
[hostelpro-calendar room_id="1"] |
Room availability calendar |
[hostelpro-calendar-overview] |
Overview calendar for all rooms |
Form Shortcodes
| Shortcode | Description |
|---|---|
[hostelpro-form-start] |
Begin custom form |
[hostelpro-form-end] |
End custom form |
[hostelpro-field-static room_id] |
Room selection dropdown |
[hostelpro-field-static beds] |
Number of beds selector |
[hostelpro-field-static from_date] |
Arrival date picker |
[hostelpro-field-static to_date] |
Departure date picker |
[hostelpro-field-static contact_name] |
Guest name field |
[hostelpro-field-static contact_email] |
Guest email field |
[hostelpro-field field_id="1"] |
Custom field by ID |
[hostelpro-submit-button] |
Submit button |
Conditional Shortcodes
| Shortcode | Description |
|---|---|
[hostelpro-if-extra-beds]Content[/hostelpro-if-extra-beds] |
Show if room has extra beds |
[hostelpro-if-beds]Content[/hostelpro-if-beds] |
Show bed selection info |
[hostelpro-room-addons] |
Display room addons |
[hostelpro-room-description] |
Display room description |
Example: Custom Booking Form
[hostelpro-form-start]
<h3>Book Your Stay</h3>
[hostelpro-field-static room_id]
[hostelpro-field-static from_date]
[hostelpro-field-static to_date]
[hostelpro-field-static beds]
[hostelpro-field-static contact_name]
[hostelpro-field-static contact_email]
[hostelpro-field-static contact_phone]
[hostelpro-field field_id="1"] <!-- Custom field -->
[hostelpro-submit-button "Reserve Now"]
[hostelpro-form-end]
🔄 Synchronization Guide
Export Calendar (Outbound)
Each room generates an iCal URL for external services:
https://yoursite.com/?hostelpro_ical=1&room_id=ROOM_ID
For download:
https://yoursite.com/?hostelpro_ical=1&room_id=ROOM_ID&download=1
Import Calendar (Inbound)
- Go to Hostel PRO → Manage Rooms
- Edit the room you want to sync
- Find "iCal Import URL" field
- Paste the external calendar URL
- Save changes
The plugin will automatically import bookings from the external calendar.
Supported Services
| Service | Import | Export | Notes |
|---|---|---|---|
| Booking.com | ✅ | ✅ | See Export Calendar section in Booking.com extranet |
| Airbnb | ✅ | ✅ | Full two-way sync supported |
| Expedia | ✅ | ⚠️ | Requires iCal URL from Expedia (hotel owners only) |
| Hotels.com | ✅ | ⚠️ | Via Expedia integration |
| TripAdvisor | ✅ | ✅ | Use iCal URL from extranet |
| VRBO | ✅ | ✅ | iCal synchronization supported |
Note: iCal sync typically updates every few hours. For real-time availability, consider channel manager solutions.
Configuration Options
General Settings
| Option | Description | Default |
|---|---|---|
| Currency | Payment currency (USD, EUR, GBP, etc.) | USD |
| Booking Mode | PayPal, Stripe, or Manual | Manual |
| PayPal Email | Your PayPal account email | - |
| Stripe Keys | Public and Secret keys | - |
| Advance Payment | Percentage or fixed amount | 100% |
| Min Stay | Minimum nights required | 1 |
| Max Stay | Maximum nights allowed | Unlimited |
| Max Date | How far ahead can book | 1 year |
| Cleanup Hours | Remove unpaid bookings after | 24 |
Email Settings
| Option | Description |
|---|---|
| Sender Name | Name in outgoing emails |
| Sender Email | Email address for notifications |
| Admin Email | Receive booking notifications |
| Email Templates | Customize guest and admin emails |