Title: MF Appointment Booking
Author: Miguel Falcón
Published: <strong>17 Setembro, 2026</strong>
Last modified: 18 Setembro, 2026

---

Procurar plugins

![](https://ps.w.org/mf-appointment-booking/assets/banner-772x250.png?rev=3700812)

![](https://ps.w.org/mf-appointment-booking/assets/icon-256x256.png?rev=3700812)

# MF Appointment Booking

 Por [Miguel Falcón](https://profiles.wordpress.org/miguelfalcon/)

[Descarregar](https://downloads.wordpress.org/plugin/mf-appointment-booking.3.1.0.zip)

 * [Detalhes](https://pt.wordpress.org/plugins/mf-appointment-booking/#description)
 * [Avaliações](https://pt.wordpress.org/plugins/mf-appointment-booking/#reviews)
 *  [Instalação](https://pt.wordpress.org/plugins/mf-appointment-booking/#installation)
 * [Desenvolvimento](https://pt.wordpress.org/plugins/mf-appointment-booking/#developers)

 [Suporte](https://wordpress.org/support/plugin/mf-appointment-booking/)

## Descrição

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.
 * Custom fields: text, long text, email, phone, select, checkbox and number. Number
   fields support optional minimum and maximum values.
 * Conditional visibility for every custom field type, based on earlier answers,
   the selected 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 .

## Ecrãs

[⌊Choose a location and service. The example uses a demonstration theme and sample
data.⌉⌊Choose a location and service. The example uses a demonstration theme and
sample data.⌉[

Choose a location and service. The example uses a demonstration theme and sample
data.

[⌊Pick a date and an available time in the visual booking calendar.⌉⌊Pick a date
and an available time in the visual booking calendar.⌉[

Pick a date and an available time in the visual booking calendar.

[⌊Complete your details with conditional fields and numeric answers.⌉⌊Complete your
details with conditional fields and numeric answers.⌉[

Complete your details with conditional fields and numeric answers.

[⌊View your confirmed booking, get directions and add the appointment to your calendar.⌉⌊
View your confirmed booking, get directions and add the appointment to your calendar
.⌉[

View your confirmed booking, get directions and add the appointment to your calendar.

[⌊Manage appointments in the administrative calendar and filter by service, professional
or location.⌉⌊Manage appointments in the administrative calendar and filter by service,
professional or location.⌉[

Manage appointments in the administrative calendar and filter by service, professional
or location.

[⌊Build custom fields with conditional visibility; number fields also support optional
minimum and maximum values.⌉⌊Build custom fields with conditional visibility; number
fields also support optional minimum and maximum values.⌉[

Build custom fields with conditional visibility; number fields also support optional
minimum and maximum values.

[⌊Customize your booking form with colors, text and a live appearance preview.⌉⌊
Customize your booking form with colors, text and a live appearance preview.⌉[

Customize your booking form with colors, text and a live appearance preview.

[⌊Use the built-in guide and copy shortcodes with combinable service, professional
and location filters.⌉⌊Use the built-in guide and copy shortcodes with combinable
service, professional and location filters.⌉[

Use the built-in guide and copy shortcodes with combinable service, professional
and location filters.

## Blocos

Este plugin inclui 1 bloco.

 *   MF Appointment Booking booking

## Instalação

 1. Copy the mf-appointment-booking directory into wp-content/plugins.
 2. Activate MF Appointment Booking in Plugins.
 3. Create and publish a page containing [mfab] or the MF Appointment Booking booking
    block. Select it in MF Appointment Booking > Settings.
 4. Publish a service. Choose General agenda to accept bookings without professionals,
    or Assigned professionals for a team service.
 5. Configure opening hours and general capacity, then customize Appearance, Form fields,
    Payments and Emails in Settings. Use [mfab] for all services or combine service,
    professional and location filters on dedicated pages.
 6. For paid services, add Stripe, PayPal or Redsys credentials. Test your own provider
    configuration in sandbox before accepting real payments.
 7. 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.

## Perguntas frequentes

### 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.

### Can I filter the booking form by service, professional or location?

Yes. Use [mfab service=”123″], [mfab professional=”456″] or [mfab location=”789″],
or combine them: [mfab service=”123″ professional=”456″ location=”789″]. Replace
each value with its editor ID. All filters must match. Omitted filters allow all
choices; location=”0″ is the main location and professional=”0″ the general agenda.
Invalid or incompatible combinations show no services. A fixed professional skips
the professional selection step. Use the same shortcodes in Elementor and keep an
unrestricted [mfab] page for booking management.

## Avaliações

Este plugin não tem avaliações.

## Contribuidores e programadores

“MF Appointment Booking” é software de código aberto. As seguintes pessoas contribuíram
para este plugin:

Contribuidores

 *   [ Miguel Falcón ](https://profiles.wordpress.org/miguelfalcon/)

[Traduza o “MF Appointment Booking” para o seu idioma.](https://translate.wordpress.org/projects/wp-plugins/mf-appointment-booking)

### Interessado no desenvolvimento?

[Consulte o código](https://plugins.trac.wordpress.org/browser/mf-appointment-booking/),
consulte o [repositório SVN](https://plugins.svn.wordpress.org/mf-appointment-booking/),
ou subscreva o [registo de alterações](https://plugins.trac.wordpress.org/log/mf-appointment-booking/)
por [RSS](https://plugins.trac.wordpress.org/log/mf-appointment-booking/?limit=100&mode=stop_on_copy&format=rss).

## Registo de alterações

#### 3.1.0

 * Add combinable service, professional and location shortcode filters, with safe
   empty results for invalid or incompatible selections.
 * Clarify all seven custom field types and conditional visibility; update embedded
   documentation and complete Spanish translations.

#### 3.0.1

 * Refresh the directory gallery with exactly eight English desktop screenshots,
   ordered from customer booking to administration.
 * Update screenshot descriptions and the Spanish listing translation. No booking
   behavior changes.

#### 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.

## Metadados

 *  Versão **3.1.0**
 *  Última actualização **Há 2 horas**
 *  Instalações activas **Menos de 10**
 *  Versão do WordPress ** 6.6 ou superior **
 *  Testado até **7.1.1**
 *  Versão do PHP ** 8.2 ou superior **
 *  Idioma
 * [English (US)](https://wordpress.org/plugins/mf-appointment-booking/)
 * Etiquetas
 * [appointments](https://pt.wordpress.org/plugins/tags/appointments/)[booking](https://pt.wordpress.org/plugins/tags/booking/)
   [calendar](https://pt.wordpress.org/plugins/tags/calendar/)[reservations](https://pt.wordpress.org/plugins/tags/reservations/)
   [scheduling](https://pt.wordpress.org/plugins/tags/scheduling/)
 *  [Visualização avançada](https://pt.wordpress.org/plugins/mf-appointment-booking/advanced/)

## Classificações

Ainda não foram submetidas avaliações.

[Your review](https://wordpress.org/support/plugin/mf-appointment-booking/reviews/#new-post)

[Ver todas as revisões](https://wordpress.org/support/plugin/mf-appointment-booking/reviews/)

## Contribuidores

 *   [ Miguel Falcón ](https://profiles.wordpress.org/miguelfalcon/)

## Suporte

Tem algo a dizer? Precisa de ajuda?

 [Ver fórum de suporte](https://wordpress.org/support/plugin/mf-appointment-booking/)