With the Booking Calendar Contact Form (a WordPress plugin) you can create a classic contact form or a booking form with a reservation calendar, optionally connected to a PayPal payment button. The reservation calendar lets the customer select the start (ex: check-in) and end (ex: checkout) dates.
There are two types of bookings available in the calendar configuration: full day bookings or partial day bookings. With full day bookings the whole day is blocked / reserved while in partial day bookings the start and end dates are partially blocked as used for example in room/hotel bookings.
The reservation calendar is an optional item, so it can be disabled to create a general purpose contact form. The PayPal feature is also optional in the pro version.
The main features are:
- Booking form optionally connected to PayPal(*)
- Reservation / booking calendar with optional availability verification
- Season management: Configuration accepts different prices for different dates (ex: low / medium / high season prices, special date's prices, etc...)
- Supports full-day bookings or partial day bookings as used in hotels / room reservations
- Allows to disable/hide the calendar to convert the booking form in a general purpose contact form
- Visual form builder for customizing the contact form (add/edit/remove form fields)
- Optional services field with support for multiple prices, multiple services or additional items
- Discount codes management
- After selecting the dates, the booking price is calculated and shown below the calendar.
Other features
- Supports multiple calendars and contact forms (ex: a calendar for each room or item that you are offering, or different contact forms)
- Lets to assign a user to each calendar, this way users with editor access will access their own calendars
- Built-in captcha anti-spam protection
- Easy visual selection of the start and end dates
- Configurable email texts
- Configurable validation messages
- Can export the calendar's data to iCal format (Ex: Google Calendar, OutLook)
- List of bookings with print option
- Several configurable fields, settings and behaviors (date format, min/max dates, block dates, etc...)
* Note: Some of the features are fully present only in the Professional version
Installation
To install the WordPress plugin follow these steps:
- Unzip the downloaded file and copy the files into the folder "/wp-content/plugins".
- Configure the settings at the administration menu >> Settings >> Booking Calendar Contact Form.
- To insert the reservation calendar form into some content or post use the icon that will appear when editing contents:
- After doing that, the tag [CP_BCCF_FORM] will be inserted into your content. When you preview the content in the public website that tag will be replaced by the reservation form:
From the website's visitor point of view:
If the calendar is enabled it will appear in the top of the form and the user will be asked to select the start and end dates of the booking by clicking over the related dates in the calendar.
Once the dates have been selected the booking price will be shown below the calendar.
The rest of the form will appear below the calendar (or directly if the calendar isn't enabled) and the submit/continue button at the bottom of the form.
After clicking "submit / continue" there are two possible scenarios:
- If PayPal is enabled: The user is redirected to PayPal and after completing the payment three emails will be sent: the automatic PayPal notification, the confirmation email to the user sent from the website and the notification email to the website administrator containing the booking details. At this point the booking will be confirmed and will appear in the bookings list and calendar. The dates are blocked in the calendar only if the "bookings overlap" options is enabled (it's enabled by default).
- If PayPal isn't enabled: Two emails are sent immediately: the confirmation email to the user sent from the website and the notification email to the website administrator containing the booking details. The booking is considered as automatically confirmed in this case, so it will appear immediately into the bookings list and calendar.
In both cases, after returning from PayPal or after clicking the submit button if PayPal isn't enabled, the user will be redirected to the page specified into the settings field "URL to return after successful payment".
Managing the calendars
The first page of the administration area will show the list of calendars, allowing to add/edit/delete them.

For each calendar you will have the following options:
- ID: Identification number of the calendar, useful when publishing an specific calendar.
- Item Name: Some name to identify the calendar/form.
- Owner: WordPress user that can edit the calendar. An user with "Editor Access Level" will see/manage only its own calendars.
- Public: Specify if the calendar can be published.
- Feed: Link for the feed in iCal format. Use this link to export the reservations to another calendar that supports this iCal: OutLook, Google Calendar, etc...
- Update: Update the specified name, owner and public status for the calendar.
- Settings: Go to the main settings area for the calendar.
- Bookings / Contacts: Printable list of bookings.
- Delete: Delete the calendar and all its bookings and settings.
- Shorttag: An alternative way for publishing the calendar.
Blocking / unblocking a specific date
The calendar in the settings area appears only if it is enabled and if the option "Accept overlapped reservations" is set to "No" (it's the default value).
To block a date interval click the start and end dates into the calendar, a floating panel will appear for entering some text (ex: specify why it's blocked), just enter some text and click "save", this action will block the dates.
To edit/delete blocked dates put the calendar in "edit mode" with the link located at its bottom, then click some date of the interval and the options for editing the date or delete the blocked interval will appear.

Below the calendar there are several configuration settings that are explained in the section below.
Configuration Settings
To edit the configuration settings go to the "WordPress administration menu >> Settings >> Booking Calendar Contact Form >> Settings":

* Click image to see full screenshot.
- Public Calendar Settings:
- Use/display calendar in the booking form?: Select if you want to use the calendar in your contact form.
- Calendar: Calendar that allows to block dates and manually add/edit/delete bookings. This calendar appears only of the calendar is enabled in the previous field and if overlapped bookings aren't allowed (configuration field below).
- Calendar language: The calendar language. Currently supports English, Dutch, German, French, Italian, Japanese, Portuguese, Spanish.
- Start weekday: The start weekday of the week. Default is Sunday.
- Date format: The date format mm/dd/yyyy or dd/mm/yyy.
- Accept overlapped reservations?: Select if overlapped bookings will be allowed. The blocked dates aren't used if this feature is enabled.
- Reservation mode: Specify whether the calendar will be using "complete day" or "partial day" system. Complete day means that the first and the last days booked are charged as full days while Partial Day means that they are charged as half-days only.
- Minimum available date: You may want some time to review the booking, so you can set the minimum selectable date as a fixed date (Ex: 2012-10-25) or as a relative date like "today" or "today + 3 days".
- Maximum available date: Similar to the previous field, in this case for selecting the maximum selectable date.
- Form Builder:
- Form Builder Area: Use this section to build your form. You can add, edit, order and delete fields. This area also lets you to define the validation of the form (ex: required fields, emails, upload fields, specific tags for putting information into the email content ...).
- Validation Texts:
- Validation Texts: Use this section to specify the validation texts and its translations if needed.
- Paypal Payment Configuration:
- Enable Paypal Payments: Allows to enable/disable the Paypal payment option (available only in "pro" version).
- Paypal email: The email of the Paypal that will receive the payments.
- Default request cost (per day): Payment amount requested to confirm a booking. This amount is the fee per day, for example if the value specified here is us$25 and the reservation is for 4 days then the payment amount will be us$100.
- Season cost (per day): Use this area to set different daily prices for different dates. Season prices, if defined, override the "Default request cost" specified above.
- Paypal product name: The name that will appear to the customer at Paypal.
- Currency: The currency, example: USD, EUR, GBP, etc...
- URL to return after successful payment: After the Paypal payment the user may go back to a page into your website (usually a "thank you" page). Paste here the complete address of that page.
- URL to return after an incomplete or cancelled payment: After a canceled/incomplete Paypal payment the user may go back to a page into your website, usually a page with more instructions or requesting feedback. Paste here the complete address of that page.
- Paypal language: The language that will be used for the Paypal payment. It's any Paypal supported language.
- Discount Codes: Use this section to define the accepted discount codes and the discount percent. A 100% discount means that the payment isn't required.
- Optional Services/Items Field:
- If enabled, use the services/items field as: Define here how you want to use this field. There are 4 possibilities:
- Additional items field. The item price will be added ONCE to the above prices.
- Additional items field per day. The item price will be added for each day to the above prices.
- Price per day field. This price will overwrite the above prices.
- Fixed price. This price will overwrite the above prices.
- Options: Enter here the options/items. This "Optional Services/Items Field" will be taken in account only if some option or item is added in this field. The field format and a sample are specified beside the field on the settings page.
- Notification Settings to Administrator(s):
- Notification "from" email: The email used as from in the notifications.
- Send notification to email: The email address where the notification will be sent to (ex: your email address).
- Email subject notification to admin: Subject of the notification email that you will receive.
- Email notification to admin: Content of the notification email that you will receive. Keep the tag %INFORMATION% that will be replaced automatically by the booking information.
- Email Copy to User (auto-reply):
- Email field on the form: Select which of the form field will contain the user's email address to send the auto-reply.
- Email subject confirmation to user: Subject of the thank you/confirmation email sent to the user (customer) after completing the payment.
- Email confirmation to user: Content of the thank you/confirmation email sent to the user (customer) after completing the payment. Keep the tag %INFORMATION% that will be replaced automatically by the booking information.
- Catpcha Verification:
- Use Captcha Verification?: Select if the captcha image will be used.
- Width: Width of the captcha image.
- Height: Height of the captcha image.
- Chars: How many characters will appear in the captcha image.
- Min font size: Minimum size used for the font (randomized).
- Max font size: Maximum size used for the font (randomized).
- Preview: Preview for checking how the captcha image will look.
- Noise: Amount of noise to make it stronger.
- Noise Length: Length of the noise to modify its look.
- Background: Background color.
- Border: Border color.
- Font: Base font used to render the text. Four options already included.
Customization and adjustments
We offer custom coding services for custom modifications and adjustments, feel free to contact us and we will send you a very competitive quote for the requested modifications.