Açıklama
Let customers choose a service and an available time, then book directly on your WordPress website. Use a general agenda without creating professionals, or assign a team when your business needs one. MF Appointment Booking brings your calendar, availability and booking form into a clean workspace with separate settings tabs.
Use it for consultations, coaching sessions and other appointment-based services. Free bookings work without a payment account. For paid appointments, connect your own Stripe, PayPal or Redsys account and choose full payment or a deposit.
Booking and availability
- Multiple locations with independent general capacity, opening hours and appointment addresses. Professionals share capacity across locations.
- Optional two-way business Google Calendar sync: export confirmed bookings, import valid moves and cancellations, and block external busy times.
- Numeric custom fields with optional minimum/maximum and conditional visibility based on earlier answers, service or professional.
- Separate payment gateway cards, including Redsys hosted redirect with signed payment notifications (EUR).
- Add confirmed appointments to Google Calendar or Outlook, or download an .ics file for Apple Calendar.
- Configurable appointment address, directions link and {location} email placeholder.
- Built-in categorized documentation with copyable shortcodes.
- Complete Spanish (Spain) translation for the admin, public form and default emails.
- Optional professionals per service: use shared general-agenda capacity or each professional’s own schedule.
- Tabbed settings with contextual saving, retained input on errors and unsaved-change warnings.
- Appearance controls for heading, welcome message, colors, corner radius and form width, with a live preview and contrast validation.
- A visible month picker, keyboard navigation, booking summary and contact details preserved when going back.
- Automatically skip the professional choice when there is only one, or let the customer confirm it.
- Services, professionals and departments, duration, price, capacity and buffers.
- General and professional schedules, holidays, date exceptions and manual time blocks.
- Multi-step booking with editable custom fields, a shortcode and a Gutenberg block. Elementor supports the shortcode widget.
- Stripe Checkout and PayPal Orders, full payment or fixed/percentage deposits. Free appointments are supported.
- Confirmation, reminder and cancellation emails with editable plain-text templates and scheduled retries.
- Administrative list, filters, day/week/month calendar, drag-and-drop rescheduling and keyboard-accessible editing.
- CSV and iCalendar exports, read-only availability REST API and extension hooks.
- WordPress privacy export/erasure tools and WPML/Polylang integration.
Included without a plugin subscription
All features listed here are included. MF Appointment Booking does not require a MF Appointment Booking account or subscription. Stripe, PayPal and Redsys have their own fees and account requirements.
Languages and page builders
English and Spanish (Spain) are included. The frontend follows the site language; the admin follows your profile language. WordPress.org language packs remain supported. Default email templates follow the booking language; custom business text is preserved. Use the native booking block, the [mfab] shortcode, or Elementor’s Shortcode widget. WPML and Polylang integration shares availability between translations of a service or professional.
Privacy and control
Booking records stay in your WordPress database. Customers access their booking with a private link, without creating an account. MF Appointment Booking integrates with WordPress personal data export and erasure tools. Active appointments and records requiring a refund are retained during erasure so the business can resolve them. Site owners remain responsible for their privacy policy and retention practices.
Documentation
The plugin includes a setup and operations guide in docs/USER-GUIDE.md, extension documentation in docs/HOOKS.md, and dependency information in docs/THIRD-PARTY.md. Readable JavaScript sources and the FullCalendar license are included in the package.
External services
Payments are optional and require your own provider account. No requests are sent to a payment provider until an enabled payment method is used or its payment is reconciled. Card details are entered on hosted checkout pages and never stored by MF Appointment Booking.
Stripe receives the booking reference, email, service name, amount and currency when checkout begins. API: https://api.stripe.com ; checkout: https://checkout.stripe.com . Terms: https://stripe.com/legal/ssa . Privacy: https://stripe.com/privacy . Configure the checkout.session.completed webhook shown in MF Appointment Booking settings.
PayPal receives the booking reference, amount, currency and return URL. API: https://api-m.paypal.com or https://api-m.sandbox.paypal.com . Terms: https://www.paypal.com/legalhub/paypal/useragreement-full . Privacy: https://www.paypal.com/legalhub/paypal/privacy-full . MF Appointment Booking captures approved orders on server verification and reconciles payments via cron.
Redsys receives the merchant order, amount, currency, merchant/terminal identifiers and notification/return URLs when the customer continues to its hosted bank page. This integration uses HMAC_SHA512_V2 and EUR. Test endpoint: https://sis-t.redsys.es:25443 ; live endpoint: https://sis.redsys.es . Terms: https://redsys.es/aviso-legal . Privacy: https://redsys.es/politica-de-privacidad . A signed server notification confirms payment; the browser return never does.
Business Google Calendar synchronization is optional and starts only after an administrator connects their business account using their own OAuth client. Google receives the service title, appointment address and times; customer names, emails, answers and private booking links are excluded. The plugin reads event IDs, times and availability from assigned calendars and stores busy intervals and event mappings locally. Tokens are stored privately in WordPress. OAuth: https://accounts.google.com and https://oauth2.googleapis.com ; API: https://www.googleapis.com/calendar/v3 . Disconnecting stops future requests and keeps existing events; access can also be revoked from the Google account.
Calendar scripts are bundled locally. Optional Google Calendar and Outlook links open only when a customer chooses them and include the service title, appointment times, business name and address. No email, custom fields or private management token is included. The directions link sends the address to Google Maps only when clicked. An .ics file is generated locally. These are calendar copies, not synchronized subscriptions: customers must update or remove them after changes or cancellations.
Google Calendar and Maps: https://calendar.google.com and https://www.google.com/maps . Terms: https://policies.google.com/terms . Privacy: https://policies.google.com/privacy . Outlook: https://outlook.live.com . Terms: https://www.microsoft.com/servicesagreement . Privacy: https://privacy.microsoft.com/privacystatement .
Ekran Görüntüleri









Bloklar
Bu eklenti 1 blok sağlar.
- MF Appointment Booking booking
Yükleme
- Copy the mf-appointment-booking directory into wp-content/plugins.
- Activate MF Appointment Booking in Plugins.
- Create and publish a page containing [mfab] or the MF Appointment Booking booking block. Select it in MF Appointment Booking > Settings.
- Publish a service. Choose General agenda to accept bookings without professionals, or Assigned professionals for a team service.
- Configure opening hours and general capacity, then customize Appearance, Form fields, Payments and Emails in Settings. Use [mfab service=”123″] to show only one service on a page.
- For paid services, add Stripe, PayPal or Redsys credentials. Test your own provider configuration in sandbox before accepting real payments.
- Configure WordPress mail delivery and a system cron invoking wp-cron.php (recommended every five minutes).
Composer and vendor are not required to run the plugin.
SSS
-
Do I need to create professionals?
-
No. Choose General agenda in the service editor. These services share capacity within their location. The main location uses Booking settings; additional locations have their own hours and capacity. Team services retain their own professional schedules and capacity. General-agenda appointments and team appointments use separate capacity pools.
-
Can I customize the design without code?
-
Yes. Settings > Appearance provides colors, heading, welcome text, rounded corners and maximum width with a live preview. Text/background contrast is validated and button text adapts to the accent. The form adapts to smaller screens.
-
What changes when upgrading from 1.0.2?
-
Existing bookings, private links, payments, templates and professional assignments are retained. Existing assigned services remain team services; unassigned services become bookable using the general agenda when their duration and price are configured. Review those services before upgrading. Changing a service between agendas is blocked while it has upcoming active bookings. See docs/MIGRATION.md.
-
Are refunds automatic?
-
No. Issue refunds in your payment provider dashboard. Cancelled paid bookings and late payments are marked as requiring a refund. The remaining balance on deposit bookings is collected separately by the business.
-
Which timezone is used?
-
Opening hours, public times and list/editor timestamps use the WordPress site timezone; bookings are stored in UTC. The admin calendar displays the browser timezone, explicitly labelled above it. Repeated daylight-saving times have distinct UTC offsets.
-
What happens on uninstall?
-
Data is retained to prevent accidental loss. Use the native privacy tools for individual requests and the documented cleanup procedure for complete removal. Activate individually on multisite; network activation is not supported.
-
Which currencies are supported?
-
EUR, USD, GBP, CAD, AUD, CHF, SGD and NZD (two decimal places). Redsys is limited to EUR. Provider minimum amounts and account/country restrictions still apply.
-
Is Google Calendar synchronized?
-
Business calendars can be connected with your own Google OAuth client. Confirmed appointments sync in both directions; other busy Google events block availability. Synchronization runs through cron every five minutes, and stale calendars temporarily stop offering times. Customer Google/Outlook links and .ics downloads remain independent copies. Customer accounts are not included.
-
Can I offer services at several locations?
-
Yes. Publish locations and assign each service to its location. Create a service entry per address. General agendas have independent capacity, while a professional shares capacity across all locations. Existing services remain at the main location. Travel time is not calculated; configure service buffers.
-
How do conditional fields work?
-
Each field can depend on the service, professional or an earlier answer, using equals, does not equal, has a value or is empty. Hidden fields are neither required nor saved. Number fields support optional minimum and maximum values.
İncelemeler
Bu eklenti için herhangi bir değerlendirme bulunmuyor.
Katkıda Bulunanlar ve Geliştiriciler
“MF Appointment Booking” açık kaynaklı yazılımdır. Aşağıdaki kişiler bu eklentiye katkıda bulunmuşlardır.
Katkıda bulunanlar“MF Appointment Booking” eklentisini dilinize çevirin.
Geliştirmeyle ilgilenir misiniz?
Kodu görüntüleyin, SVN deposuna göz atın ya da RSS ile geliştirme günlüğüne abone olun.
Değişiklik Kaydı
3.0.0
- Add two-way business Google Calendar synchronization with OAuth, conflict checks and external busy times.
- Add locations, independent general agendas, shared professional capacity and booking address snapshots.
- Add Redsys HMAC_SHA512_V2 hosted payments in EUR and separate gateway settings cards.
- Add numeric custom fields with optional bounds and server-validated conditional visibility.
- Align the calendar filter button with its fields.
- Update embedded documentation, setup guides and complete Spanish translations.
2.1.1
- Clarified language settings and community translation support in the built-in guide.
- Refreshed all nine directory screenshots in English at a consistent desktop resolution.
2.1.0
- Add customer calendar links and ICS downloads for confirmed bookings.
- Add appointment address, directions and the {location} email placeholder.
- Add a categorized Documentation tab with copyable shortcodes.
- Include complete es_ES PHP/JavaScript translations and localized default emails, with mandatory translation checks in CI.
- Use the page language for dates and the profile language in the administrative calendar.
2.0.0
- Book services without professionals using a shared general agenda with race-safe capacity, buffers, cancellations and manual blocks.
- Replace the long settings page with six accessible tabs, cards, contextual saves and retained input on validation errors.
- Add configurable appearance with live preview and accessible color validation.
- Add a visual month picker, booking summaries, automatic single-professional selection and preserved contact details.
- Support service-specific shortcode forms and retain existing bookings, team assignments and private links on upgrade.
1.0.2
- Rename the plugin and all runtime identifiers to MF Appointment Booking.
- Use WordPress.org language packs instead of bundled translations or manual textdomain loading.
- Audit request authorization and document the migration from the private prerelease.
1.0.1
- Fix: restore the Calendar submenu and open the appointment calendar when clicking MF Appointment Booking.
- Add a regression check for navigation through the WordPress admin menu and clarify the calendar access in the user guide.
1.0.0
- Complete booking, scheduling, payments, email, calendar, form builder and export workflows.
- Race-safe capacity checks, payment verification/idempotency, DST handling and privacy tools.
0.1.0
- Initial private catalog with validated metadata and administrator permissions.
