=== Domilocus ===
Contributors: consulinfolm
Tags: booking, reservations, vacation-rentals, property-management, calendar
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 8.0
Stable tag: 1.0.17
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Complete booking and property management solution for vacation rentals, apartments, and accommodations with backend administration.

== Description ==

Domilocus is a comprehensive booking management system designed for vacation rentals, apartments, and property managers. Manage your properties, bookings, calendar, and pricing all from your WordPress dashboard.

= Free Features =

* **Property Management** - Add and manage unlimited apartments/properties with photo galleries (backend)
* **Booking Management** - Accept and manage bookings manually from your WordPress dashboard
* **Visual Calendar** - See availability and bookings at a glance in admin area
* **Email Notifications** - Basic booking confirmation emails
* **Multi-language** - Available in Italian, English, German, French, Spanish
* **Customizable** - Settings for check-in/out times, minimum stays, guest limits
* **Backend Administration** - Complete admin interface for property and booking management

**Note:** The free version provides backend management only. Frontend features (property display, booking forms, payments) require Premium add-ons.

= Premium Add-ons =

Extend Domilocus with powerful premium add-ons available at [domilocus.consulinfo.it](https://domilocus.consulinfo.it/premium):

**Starter Plan (€19/month)**
* Online booking forms for guests
* Automated pricing rules (seasons, weekends, discounts)
* Email automation
* Basic statistics (occupancy, revenue)
* Online payment gateways (Stripe, PayPal)

**Professional Plan (€39/month)**
* Everything in Starter, plus:
* Advanced tariff system (flexible pricing based on stay duration and booking advance)
* Dynamic pricing (automatic price optimization)
* iCal synchronization (Airbnb, Booking.com integration)
* Event-based pricing (automatic adjustments for local events)
* Advanced statistics and reports

**Premium Plan (€69/month)**
* Everything in Professional, plus:
* Multiple payment gateways
* Advanced API access
* White label (remove branding)
* Detailed export reports
* Priority support

Premium add-ons are installed separately and extend the free version with additional functionality.

= Perfect For =

* Vacation rental owners
* Property managers
* Bed & breakfasts
* Apartment rentals
* Holiday homes
* Short-term rentals
* Guest houses

== External Services ==

**The FREE version of this plugin does NOT connect to any external services.**

Premium add-ons (sold separately) may connect to third-party services to provide specific functionalities:

* **Google Maps** (Premium Add-on)
    * Used to display apartment locations on maps.
    * Data sent: IP address (to Google servers when map loads).
    * [Terms of Service](https://cloud.google.com/maps-platform/terms/) | [Privacy Policy](https://policies.google.com/privacy)

* **Stripe** (Premium Add-on)
    * Used for processing credit card payments.
    * Data sent: Payment details, customer information.
    * [Terms of Service](https://stripe.com/legal) | [Privacy Policy](https://stripe.com/privacy)

* **PayPal** (Premium Add-on)
    * Used for processing payments.
    * Data sent: Payment details, customer information.
    * [Terms of Service](https://www.paypal.com/us/webapps/mpp/ua/useragreement-full) | [Privacy Policy](https://www.paypal.com/us/webapps/mpp/ua/privacy-full)

== Installation ==

1. Upload the `domilocus` folder to `/wp-content/plugins/`
2. Activate the plugin through the 'Plugins' menu in WordPress
3. Go to Domilocus > Settings to configure your preferences
4. Add your first property under Domilocus > Apartments

**For Premium Features:**
Purchase and install add-on plugins from [domilocus.consulinfo.it](https://domilocus.consulinfo.it/premium)

== Frequently Asked Questions ==

= Is this plugin completely free? =

Yes! The FREE version provides complete **backend management** for unlimited properties and bookings. You can manage everything from the WordPress admin panel. Frontend features (booking forms, property displays, payments) require add-on plugins starting at €19/month.

= What's included in the FREE version? =

**FREE Features (Backend Only):**
- ✅ Unlimited apartments/properties management
- ✅ Manual booking management (admin panel)
- ✅ Backend calendar views
- ✅ Customer data management
- ✅ Basic settings and configuration
- ❌ NO frontend booking forms
- ❌ NO public property displays
- ❌ NO automated emails
- ❌ NO payment processing

= What do I get with the Starter Add-on (€19/month)? =

**Starter Add-on includes:**
- ✅ All FREE features
- ✅ Frontend property displays (`[domilocus_apartments]` shortcode)
- ✅ Public booking calendar
- ✅ Online booking forms for guests
- ✅ Automated email notifications
- ✅ Availability checking
- ✅ Price calculation

= What's included in Professional Add-on (€39/month)? =

**Professional Add-on includes:**
- ✅ All Starter features
- ✅ Advanced dynamic pricing rules
- ✅ iCal synchronization (Airbnb, Booking.com)
- ✅ Online payment processing (Stripe, PayPal)
- ✅ Advanced statistics and reports
- ✅ Revenue analytics

= What's in the Premium Add-on (€69/month)? =

**Premium Add-on includes:**
- ✅ All Professional features
- ✅ Custom events management
- ✅ Ultra-advanced tariff rules
- ✅ Multiple payment gateways (Klarna, Apple Pay, Google Pay)
- ✅ Priority support

= Can I accept online bookings with the free version? =

No. The FREE version only includes **backend management**. Online booking forms for website visitors require the **Starter add-on** (€19/month) or higher.

= Can I accept payments? =

Online payment processing (Stripe, PayPal) requires the **Professional add-on** (€39/month) or higher. The FREE version allows you to manually track offline payments (bank transfer, cash).

= Can I sync with Airbnb or Booking.com? =

iCal synchronization with external platforms is available in the **Professional add-on** (€39/month) or higher.

= How do I display properties on my site? =

Frontend property displays require the **Starter add-on** or higher. With Starter, you can use shortcodes like `[domilocus_apartments]` to show all properties or `[domilocus_apartment id="123"]` for a specific property.

= Is it translation ready? =

Yes! The plugin includes translations for Italian, English, German, French, and Spanish. You can also add your own translations.

= Where can I get premium add-ons? =

Premium add-ons are available at [domilocus.consulinfo.it](https://domilocus.consulinfo.it/premium)

== Screenshots ==

1. Dashboard overview with booking statistics
2. Property management screen
3. Booking calendar view
4. Booking details and customer information
5. Settings panel
6. Frontend booking form

== Changelog ==

= 1.0.17 =
* Fixed: iCal sync no longer creates duplicate bookings for records imported before v1.0.16 (orphan-adopt: existing records with NULL ical_uid and matching apartment/check-in are updated instead of re-inserted).
* Added: `platform_booking_code` column to store the OTA reservation code (e.g. VRBO ID-XXXXXXX, Airbnb HMXXXXXXX) parsed from the iCal DESCRIPTION field.
* Fixed: admin booking form preserves `source`, `ical_uid`, `external_platform`, and `platform_booking_code` on save — iCal-imported bookings remain correctly identified after admin edits.
* Fixed: dynamic format array in `save_booking()` prevents silent field loss when `ical_uid` or `platform_booking_code` are conditionally included.
* Fixed: feature gate definitions corrected — `statistics_basic` now requires Starter (not Professional), `dynamic_pricing` requires Professional (not Premium), `white_label` requires Premium (not Enterprise).
* Added: `domilocus_admin_menu_icon` and `domilocus_admin_menu_title` filter hooks to allow Premium White Label add-on to replace the admin sidebar icon and title.

= 1.0.16 =
* Fixed: iCal import now stores the event UID and uses upsert deduplication — editing a booking from admin no longer causes a duplicate on the next sync.
* Added: `ical_uid` column to the bookings table (DB migration runs automatically on upgrade).
* Fixed: saving a booking from admin preserves the original `source` and `ical_uid` so iCal sync can still match the record.

= 1.0.15 =
* Fixed: Stable Tag mismatch between readme.txt and plugin header.
* Fixed: PHPCS PluginCheck.Security.DirectDB.UnescapedDBParameter warning on bookings count query.

= 1.0.14 =
* Improved: bookings list now defaults to "Attive" tab (check-out >= today), keeping the main view clean.
* Added: "Archivio" tab for past bookings (check-out < today).
* Added: "Tutte" tab to see all bookings without date filter.

= 1.0.13 =
* Added: access code system for external-platform guests (Booking.com, Airbnb, VRBO) — admin generates a DML-XXXXXX code and emails it; guests use email + code to log in via the app.
* Added: `access_code` and `external_platform` columns with automatic DB migration.
* Fixed: PHP syntax error caused by AJAX methods placed outside class scope.
* Fixed: direct DB query caching warnings (PHPCS compliance).

= 1.0.12 =
* Fixed: admin calendar availability data now consistently uses `status` instead of a legacy `available` flag across month/week/day views.
* Fixed: admin day/week views now correctly reflect booked/blocked/maintenance states and no longer mislabel pending bookings.
* Improved: iCal Professional export now includes manual blocked/maintenance periods from the availability table so external channels (e.g. Booking.com) see those days as closed.

= 1.0.11 =
* Fixed: missing translators comment for i18n placeholder in bookings list table (WPCS compliance).

= 1.0.10 =
* Added: admin visibility for booking date-change payment integrations in Bookings list.
* Added: improved status labels for pending payment integrations after booking modifications.
* Improved: compatibility with Starter add-on date modification flow while keeping core free release stable.

= 1.0.8 =
* Added: `domilocus_calculated_price` filter hook to allow pricing addons (Professional) to modify the final calculation.

= 1.0.7 =
* Updated: all documentation and support links now point to domilocus.consulinfo.it subdomain
* Updated: premium add-ons link updated to new subdomain

= 1.0.6 =
* Added: calendar view selector - choose between Month, Week, or Day view
* Added: week view showing 7-day grid with booking details
* Added: day view with complete booking information for single day
* Improved: calendar navigation now adapts to selected view (month/week/day)
* Improved: responsive design for new calendar views on mobile and tablet

= 1.0.5 =
* Fixed: resolved "Cannot modify header information" error when deleting paid bookings
* Fixed: booking form now fully translatable - all Italian hardcoded strings converted to English with proper i18n functions
* Improved: paid booking deletion now shows proper confirmation screen before proceeding
* Updated: tested and confirmed compatibility with WordPress 6.9

= 1.0.4 =
* Fixed: resolved "Cannot modify header information" error when deleting paid bookings
* Fixed: booking form now fully translatable - all Italian hardcoded strings converted to English with proper i18n functions
* Improved: paid booking deletion now shows proper confirmation screen before proceeding
* Updated: tested and confirmed compatibility with WordPress 6.9

= 1.0.4 =
* Removed: legacy onboarding banner and dismiss logic so the notice no longer persists.
* Fixed: corretti errori di parsing PHP nelle classi admin dopo la pulizia del banner.
* Fixed: aggiunto sanitizer per gli array dei metodi di pagamento per impedire salvataggi di dati corrotti.
* Improved: notifiche admin ora mostrano solo gli avvisi realmente necessari (requisiti PHP, modalità premium disattivata).

= 1.0.3 =
* Fixed: Menu translations now use WordPress standard __() functions
* Fixed: Menu items now correctly translate when WordPress language is changed
* Updated: Added missing menu translations to .po files (English and Italian)
* Added: 28 additional currencies including all major European currencies (NOK, SEK, DKK, PLN, CZK, HUF, RON, BGN, HRK, ISK, TRY, RUB, UAH and more)
* Added: Asian currencies (SGD, HKD, INR, THB, MYR, IDR, PHP, KRW)
* Added: Americas currencies (MXN, BRL, ARS)
* Added: Middle East/Africa currencies (ZAR, AED, SAR, ILS)
* Improved: Total of 38 currencies now available (was 10)
* Improved: Menu items (Dashboard, Apartments, Bookings, Settings) now follow WordPress i18n best practices

= 1.0.2 =
* Added: Addon compatibility layer for premium extensions
* Added: News ticker system for announcements
* Added: Dashboard widget for plugin updates
* Improved: Separated free and premium features
* Improved: Better upgrade prompts for premium features
* Fixed: PHP version requirement aligned across all files
* Fixed: Premium features now use filter-based activation (WordPress.org compliant)
* Note: Premium features available via separate add-on plugins from domilocus.consulinfo.it

= 1.0.1 =
* Initial bug fixes and improvements

= 1.0.0 =
* Initial public release

== Upgrade Notice ==

= 1.0.2 =
This version separates free and premium features. Premium functionality now requires separate add-on plugins available at domilocus.consulinfo.it.

== Support ==

For support, feature requests, or bug reports:
* Free version support: WordPress.org support forum
* Premium support: https://domilocus.consulinfo.it/support
* Documentation: https://domilocus.consulinfo.it/docs
* GitHub: https://github.com/consulinfo/domilocus


