Linux 软件免费装

BookingHive – Reservation Calendar for WooCommerce

开发者 inspirelabs
更新时间 2026年8月21日 05:56
捐献地址: 去捐款
PHP版本: 7.4 及以上
WordPress版本: 7.1
版权: GPLv3 or later
版权网址: 版权信息

标签

booking reservation calendar rental car rental apartment rent

下载

1.0.2 1.0.1 2.0.0 2.0.1

详情介绍:

BookingHive extends WooCommerce with bookable and rentable products. It adds a booking calendar to the product page, prices each stay from a seasonal price list, and keeps every reservation in a dedicated dashboard — so the shop you already run starts selling nights, days and weeks instead of pieces. Use it for anything billed per date range: apartments, hotel rooms, cabins, glamping tents, boats and yachts, campers, cars, kayaks, equipment, or a coach's calendar. Key features Designed for real-world rental operations 📅 A calendar that reflects what is actually free The calendar reads the price list and the existing reservations, so a customer only ever sees dates you can honour. Past days, days outside any price period and days already taken are unavailable — and a departure day may double as the next guest's arrival day, so changeovers do not cost you a night. 💰 Rates that follow the season Every price list row covers a date range and holds its own nightly rate. A product can carry as many rows as the year needs — off-season, shoulder season, peak weeks — and each year is kept separately, so publishing next year's rates does not disturb the current one. 🔁 Rules that match how you rent Three period rules cover the usual rental patterns: Any range for flexible stays, Week for Saturday-to-Saturday charters, Whole range for a fixed event or a full-season lease. The rule is set per period, so the same product can be flexible in May and weekly in August. 👥 Pricing per property or per item In guest mode the number of people is recorded with the reservation but does not change the price — the way an apartment or a house is sold. In unit mode the quantity multiplies the price and flows into the WooCommerce cart quantity — the way kayaks, bikes and gear are rented. 🗂️ One screen for the whole season The Reservations dashboard reads bookings from its own table rather than from the order list, so a five-night stay is one row, not five. Cards are grouped by month and carry the guest, product, status, amount and night count. Filters narrow the view by guest, order, product, status and date range; a details modal shows the price of every single night, which reminders went out, and lets you move the order to another status. 🔔 Messaging that runs itself Reminders go out 14 days, 7 days and one day before arrival — each point can be switched off separately. Every booking confirmation carries a cancellation link signed for that reservation alone, and a configurable cutoff (24 hours by default) decides how late a guest may still cancel. A confirmation e-mail closes the loop. 👀 Demand made visible The optional Spectator Views module shows how much attention an offer gets: live viewers, recent bookings, a popularity badge above a view threshold you set, and an occupancy badge based on how full the coming weeks already are. Colours, corners and thresholds are configurable, and you can limit the whole thing to selected categories or products — or to administrators only while you try it out. 🛡️ Server-side validation Availability and price are re-checked on the server when the item enters the cart and again before payment, so a stale page or a tampered request cannot book an occupied date or set its own price. 🌍 Translation ready and integration friendly The plugin ships with a Polish translation and is ready for others through translate.wordpress.org, works with Polylang and WPML, and supports EU Omnibus price-history plugins. Where everything lives in the admin The plugin adds a BookingHive menu with four tabs, each with its own linkable URL: Global settings (admin.php?page=bookinghive&tab=general), Modules (&tab=modules), Support (&tab=support) and Partners and services (&tab=partners_and_services). The Reservations dashboard has its own entry in the same menu. Every booking product gains a Price List tab in WooCommerce's Product data box, next to Linked Products and Advanced. It holds the quantity mode and the changeover day for this product, a year switcher, the table of price rows — date range, rate, period rule, Edit and Delete — and an Add row button. The Modules tab lists all three modules. Core is marked Always enabled and has no toggle: it is what registers the Booking product type, the price list, the calendar and the reservation logic, so the plugin has no purpose without it. Spectator Views and Stay Notifications can be switched off freely — their features leave the storefront and the admin, while their settings stay in the database and come back unchanged when the module is enabled again. Changeover days, spelled out By default the day a stay ends stays open for the next guest's arrival, so a turnover costs you nothing — bear in mind the departure day is still billed to the departing guest, so that day is effectively sold twice. Rentals that need preparing between customers — a boat, a camper, a car — can switch Changeover day to Blocked for a service day, plugin-wide under BookingHive → Global settings or per product in its Price List tab. Either way a day in the middle of a stay is never offered, a departure day already claimed as someone else's arrival closes as well, and a one-day booking blocks its whole day, being an arrival and a departure at once. The setting takes effect immediately, including for reservations already placed — so switching to Blocked for a service day can turn away, at checkout, a customer who already has a changeover day sitting in their cart. What BookingHive does not do

安装:

  1. In the WordPress admin go to Plugins > Add New Plugin and search for "BookingHive", or upload the ZIP under Plugins > Add New > Upload Plugin.
  2. Activate the plugin. WooCommerce has to be installed and active.
  3. Create or edit a product and set its product type to Booking.
  4. Open the product's Price List tab and add at least one row for the current year: a date range, a rate and a period rule.
  5. Review BookingHive > Global settings for the default quantity mode and the changeover day behaviour.
  6. Enable Spectator Views and Stay Notifications under BookingHive > Modules if you want them, and configure each from its own Settings button.
  7. Incoming bookings appear under BookingHive > Reservations, grouped by month.

屏幕截图:

  • Calculated amount and the Reserve button.
  • Product data panel with the Booking product type and its price list.
  • Price list row form: date range, nightly rate and booking rule.
  • Booking rules: any range, whole weeks, whole period.
  • Reservations dashboard: totals and filters.
  • Reservations grouped by month.
  • Reservation details: per-night breakdown, reminders and order status.
  • Spectator Views: badges and thresholds.
  • Stay Notifications: reminder schedule.
  • Booking details in the admin order screen.
  • Cancellation e-mail with the self-service link.

升级注意事项:

2.0.1 Metadata only, no code changes. Coming from 1.0.x? Note that 2.0.0 carried no data over: price lists and reservations live under new names, so every booking product needs its price list re-entered and already sold dates stop blocking the calendar. Back up first. 2.0.0 2.0.0 carries no data over from 1.0.x. Price lists and existing reservations are kept under new names, so every booking product needs its price list re-entered and already sold dates stop blocking the calendar. Back up and try the update on a copy of the shop first.

常见问题:

What does BookingHive add to a WooCommerce product?

A new product type called Booking. Such a product gains a Price List tab in the admin, where you define date ranges with their nightly rates and booking rules, and a booking calendar on the storefront, where the customer picks a date range and sees the price recalculated instantly. Everything else — cart, checkout, orders, e-mails, reports — stays standard WooCommerce.

How is the price of a stay calculated?

From the price list, on the server. Each selected day is charged at the rate of the price list row covering it, and the total is the sum of those days, the last selected day included. A range from 18 to 22 August at a rate of 512 therefore costs 2,560. The amount that arrives from the browser is never trusted: the plugin recalculates it from the stored price list before the item enters the cart.

Can different dates have different prices?

Yes, and that is the point of the price list. Every row covers a date range and holds its own rate, so a single product can price off-season, shoulder season and peak weeks differently. Rows are kept per year, so next year's rates can be prepared without touching the current season.

What booking rules are available?

Three. Any range lets the customer book any interval inside the period. Week allows whole weeks only, starting on the weekday you choose — the usual pattern for boat charters. Whole range allows only the entire period, for a fixed event or a full-season lease. The rule belongs to the price list row, so one product can use different rules in different seasons.

Does the calendar know which dates are already taken?

Yes. It reads existing reservations and blocks dates held by orders in the processing, completed, pending and on-hold statuses. Cancelled, refunded and failed orders release their dates. A day that is only a check-out for one booking and a check-in for another stays available, so back-to-back stays are possible.

Can two customers book the same dates at once?

No. Availability is validated on the server when the product is added to the cart and again on the cart and checkout pages, and the reservation write itself is serialised: two checkouts completing at the same instant are processed one after the other, and each re-checks the dates immediately before saving. The first one takes the dates and the second is refused with a clear message, so a double booking cannot go through.

Does the number of guests change the price?

That is your choice. In Guests mode the count is stored with the reservation for your information but does not affect the price, which suits whole-property rentals. In Units mode the quantity multiplies the price and becomes the WooCommerce cart quantity, which suits renting several identical items. The mode is set globally and can be overridden on any product.

Where do I see and manage the reservations?

On the Reservations screen the plugin adds to the admin menu. It lists stays rather than orders, grouped by month, with tiles for the totals and revenue, filters by guest, order number, product, status and date range, and a details modal holding the guest's contact data, the price of every night, the reminders already sent and a control to change the order status.

Can guests cancel a booking themselves?

Yes, if the Stay Notifications module is enabled. Every booking confirmation includes a cancellation link signed for that reservation, and a cutoff setting — 24 hours before arrival by default — decides how late it still works. A confirmation e-mail is sent once the cancellation goes through, and the released dates return to the calendar.

Which languages does the plugin support?

The interface is in English and ships with a Polish translation. Other languages come from the WordPress.org translation platform at translate.wordpress.org, where anyone can contribute them, and WordPress installs them on its own — nothing needs to be copied into the plugin folder. Multilingual sites are supported through Polylang and WPML.

Does BookingHive send my data anywhere?

No. No reservation or diagnostic data leaves the shop as part of normal operation: there is no call home to iLabs and no third-party service involved. Reminder and cancellation e-mails are sent by the shop's own WooCommerce mail system, and the plugin does not synchronise with channel managers or external booking platforms.

Can I turn the modules off?

Spectator Views and Stay Notifications, yes — under BookingHive → Modules, at any time. Their features leave the storefront and the admin while their settings stay in the database, so switching a module back on restores its previous configuration unchanged. Core cannot be turned off: it provides the Booking product type, the price list, the calendar and the reservation saving, so the plugin would do nothing without it.

Why did the cancellation link stop working?

Because the cutoff passed. The link is signed for one reservation and works only until the Cancellation cutoff (hours) setting is reached — 24 hours before arrival by default. After that it refuses the cancellation on purpose; that is the setting doing its job, not a broken link.

I am updating from 1.0.x — what do I have to watch out for?

2.0.0 is a rewrite and it does not migrate 1.0.x data: price lists move from the booking_price_list_<year> product meta to bookinghive_price_list_<year>, and reservations from the {prefix}inspirelabs_bookings table to {prefix}bookinghive_bookings. Nothing is deleted, but 2.0.0 does not read the old names — so booking products come up with an empty price list, and dates already sold stop blocking the calendar until the reservations are re-created. Update on a copy of the shop first and write to kontakt@ilabs.dev; with so few 1.0.x installs left we will help move the data across by hand.

Where do I get help?

Write to kontakt@ilabs.dev, or visit https://bookinghive.ilabs.dev, where the user manual, the FAQ and technical support live. The same contact is repeated inside the plugin, under BookingHive → Support.

更新日志:

2.0.1 2.0.0 1.0.1 1.0.0