{"id":20315,"date":"2012-10-11T15:35:39","date_gmt":"2012-10-11T15:35:39","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/cp-reservation-calendar\/"},"modified":"2025-12-26T16:38:26","modified_gmt":"2025-12-26T16:38:26","slug":"cp-reservation-calendar","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/cp-reservation-calendar\/","author":9597242,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.42","stable_tag":"1.1.42","tested":"6.9.4","requires":"3.0.5","requires_php":"","requires_plugins":null,"header_name":"CP Reservation Calendar","header_author":"CodePeople","header_description":"","assets_banners_color":"d0d0ce","last_updated":"2025-12-26 16:38:26","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/wordpress.dwbooster.com\/calendars\/booking-calendar-contact-form","header_plugin_uri":"https:\/\/wordpress.dwbooster.com\/calendars\/cp-reservation-calendar","header_author_uri":"https:\/\/bccf.dwbooster.com","rating":4,"author_block_rating":0,"active_installs":10,"downloads":33129,"num_ratings":3,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"codepeople","date":"2014-12-19 17:06:51"},"1.0.8":{"tag":"1.0.8","author":"codepeople","date":"2015-11-24 09:56:47"},"1.1.16":{"tag":"1.1.16","author":"codepeople","date":"2017-07-17 09:33:07"},"1.1.17":{"tag":"1.1.17","author":"codepeople","date":"2017-07-24 07:43:09"},"1.1.18":{"tag":"1.1.18","author":"codepeople","date":"2017-11-13 17:54:15"},"1.1.19":{"tag":"1.1.19","author":"codepeople","date":"2017-12-20 19:28:27"},"1.1.20":{"tag":"1.1.20","author":"codepeople","date":"2018-07-02 16:45:54"},"1.1.21":{"tag":"1.1.21","author":"codepeople","date":"2018-07-08 14:22:42"},"1.1.22":{"tag":"1.1.22","author":"codepeople","date":"2018-07-16 19:00:39"},"1.1.23":{"tag":"1.1.23","author":"codepeople","date":"2018-07-20 15:59:53"},"1.1.24":{"tag":"1.1.24","author":"codepeople","date":"2018-09-10 15:04:50"},"1.1.25":{"tag":"1.1.25","author":"codepeople","date":"2018-11-18 17:54:13"},"1.1.26":{"tag":"1.1.26","author":"codepeople","date":"2019-01-09 16:36:30"},"1.1.27":{"tag":"1.1.27","author":"codepeople","date":"2019-02-17 19:30:05"},"1.1.28":{"tag":"1.1.28","author":"codepeople","date":"2019-05-08 16:03:22"},"1.1.29":{"tag":"1.1.29","author":"codepeople","date":"2019-06-09 13:55:09"},"1.1.30":{"tag":"1.1.30","author":"codepeople","date":"2019-07-16 00:26:10"},"1.1.31":{"tag":"1.1.31","author":"codepeople","date":"2019-07-16 09:57:02"},"1.1.32":{"tag":"1.1.32","author":"codepeople","date":"2019-11-28 18:22:07"},"1.1.33":{"tag":"1.1.33","author":"codepeople","date":"2020-03-17 23:38:00"},"1.1.34":{"tag":"1.1.34","author":"codepeople","date":"2020-08-21 18:20:01"},"1.1.35":{"tag":"1.1.35","author":"codepeople","date":"2020-12-09 15:58:55"},"1.1.36":{"tag":"1.1.36","author":"codepeople","date":"2021-03-12 15:24:38"},"1.1.37":{"tag":"1.1.37","author":"codepeople","date":"2022-01-24 17:09:37"},"1.1.38":{"tag":"1.1.38","author":"codepeople","date":"2022-07-13 16:09:59"},"1.1.39":{"tag":"1.1.39","author":"codepeople","date":"2023-11-06 15:36:30"},"1.1.40":{"tag":"1.1.40","author":"codepeople","date":"2024-05-22 18:06:16"},"1.1.41":{"tag":"1.1.41","author":"codepeople","date":"2024-07-15 16:38:36"},"1.1.42":{"tag":"1.1.42","author":"codepeople","date":"2025-12-26 16:38:26"}},"upgrade_notice":{"1.1.41":"<ul>\n<li>Compatible with WordPress 6.6<\/li>\n<\/ul>"},"ratings":{"1":0,"2":"1","3":0,"4":0,"5":"2"},"assets_icons":[],"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":625208,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1","1.0.8","1.1.16","1.1.17","1.1.18","1.1.19","1.1.20","1.1.21","1.1.22","1.1.23","1.1.24","1.1.25","1.1.26","1.1.27","1.1.28","1.1.29","1.1.30","1.1.31","1.1.32","1.1.33","1.1.34","1.1.35","1.1.36","1.1.37","1.1.38","1.1.39","1.1.40","1.1.41","1.1.42"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3427845,"resolution":"1","location":"plugin"},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3427845,"resolution":"2","location":"plugin"},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3427845,"resolution":"3","location":"plugin"}},"screenshots":{"1":"Inserting the reservation calendar into a page.","2":"Booking form\/reservation form.","3":"Booking calendar configuration and administration."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[275,7101,334,1476,1475],"plugin_category":[40,45],"plugin_contributors":[78370],"plugin_business_model":[],"class_list":["post-20315","plugin","type-plugin","status-publish","hentry","plugin_tags-booking-calendar","plugin_tags-bookings","plugin_tags-paypal","plugin_tags-reservation-calendar","plugin_tags-reservations","plugin_category-calendar-and-events","plugin_category-ecommerce","plugin_contributors-codepeople","plugin_committers-codepeople"],"banners":{"banner":"https:\/\/ps.w.org\/cp-reservation-calendar\/assets\/banner-772x250.png?rev=625208","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/cp-reservation-calendar_d0d0ce.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/cp-reservation-calendar\/trunk\/screenshot-1.png?rev=3427845","caption":"Inserting the reservation calendar into a page."},{"src":"https:\/\/ps.w.org\/cp-reservation-calendar\/trunk\/screenshot-2.png?rev=3427845","caption":"Booking form\/reservation form."},{"src":"https:\/\/ps.w.org\/cp-reservation-calendar\/trunk\/screenshot-3.png?rev=3427845","caption":"Booking calendar configuration and administration."}],"raw_content":"<!--section=description-->\n<p>CP Reservation Calendar is a booking calendar that allows selecting dates - ex: check-in and check-out dates - for a reservation.<\/p>\n\n<h4>Main Features:<\/h4>\n\n<ol>\n<li>The reservation calendar supports <strong>partial days<\/strong> and <strong>complete days<\/strong> reservations<\/li>\n<li>Booking form integrated with payment options<\/li>\n<li>Email notifications <\/li>\n<li>Easy setup<\/li>\n<li>Multiple configuration options<\/li>\n<li>One-click publishing process <\/li>\n<\/ol>\n\n<p>This <strong>booking calendar<\/strong> can be used for hotel bookings, tour bookings, car rentals, office rentals, jewels rentals, cellphone rentals, etc. It's <strong>integrated with PayPal<\/strong> for receiving the reservation payments and has many other features (details below).<\/p>\n\n<p>The reservation calendar can be configured in two modes: \"complete day\" or \"partial day\" bookings. <em>Complete day<\/em> means that the first and the last days booked are charged as full days while <em>Partial Day<\/em> means that they are charged as half-days only. Partial Day system is widely used by hotels and car rental systems: the customer is charged half a daily rate for both the arrival\/pick-up day and the departure\/drop-off day, thereby matching the number of nights actually spent in the hotel or the 24 hour days using the service.<\/p>\n\n<h4>More Features:<\/h4>\n\n<ul>\n<li>The website visitors can <strong>select a start date and end date for the reservation<\/strong> and pay for it through <strong>PayPal \/ credit cards<\/strong>.<\/li>\n<li>The amount to pay is <strong>calculated<\/strong> based in the number of days of the reservation.<\/li>\n<li>Once a reservation has been booked it appears as blocked in order to <strong>prevent duplicated bookings<\/strong>.<\/li>\n<li>You receive an <strong>email<\/strong> after each confirmed (paid) booking.<\/li>\n<li>The user receives a <strong>thank you\/confirmation email<\/strong> after completing the payment.<\/li>\n<li>Allows <strong>customizing the contents<\/strong> of the notification\/confirmation emails.<\/li>\n<li>Allows defining the product name at PayPal, the currency, the PayPal language and amount to pay for a booking (you can set zero to let the user pay\/donate the desired amount).<\/li>\n<li>You can define the <strong>start day<\/strong> of the week.<\/li>\n<li>You can define the <strong>minimum available date<\/strong> and the <strong>maximum available date<\/strong> for the booking calendar.<\/li>\n<li>You can <strong>block specific dates<\/strong>.<\/li>\n<li>You can <strong>assign a user<\/strong> to the calendar. The owner (with Editor Access Level) can edit only their own calendar.<\/li>\n<li>You can <strong>publish the calendars of a specific user<\/strong> with the shorttag <em>[CP_RESERVATION_CALENDAR user=\"admin\"]<\/em><\/li>\n<li>You can <strong>publish a specific calendar<\/strong> with the shorttag <em>[CP_RESERVATION_CALENDAR calendar=\"1\"]<\/em><\/li>\n<li>Can be configured in two modes: <strong>\"complete day\"<\/strong> or <strong>\"partial day\"<\/strong> bookings.<\/li>\n<li>Easy Ajax administration for the calendar.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<p>To install <strong>CP Reservation Calendar<\/strong>, follow these steps:<\/p>\n\n<ol>\n<li>Download and unzip the CP Reservation Calendar plugin<\/li>\n<li>Upload the entire cp-reservation-calendar\/ directory to the \/wp-content\/plugins\/ directory<\/li>\n<li>Activate the  CP Reservation Calendar plugin through the Plugins menu in WordPress<\/li>\n<li>Configure the booking calendar settings at the administration menu &gt;&gt; Settings &gt;&gt; CP Reservation Calendar.<\/li>\n<li>To insert the reservation calendar form into some content or post use the icon that will appear when editing contents<\/li>\n<\/ol>\n\n<p>To update the plugin you can either overwrite the files or upload it via Plugins - Add New - Upload.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id='q%3A%20what%20means%20each%20field%20in%20the%20booking%20calendar%20settings%20area%3F'><h3>Q: What means each field in the booking calendar settings area?<\/h3><\/dt>\n<dd><p>A: The product's page contains detailed information about each field and customization:<\/p>\n\n<p>https:\/\/wordpress.dwbooster.com\/calendars\/cp-reservation-calendar<\/p><\/dd>\n<dt id='q%3A%20how%20can%20i%20change%20the%20calendar%27s%20size%20and%20colors%3F'><h3>Q: How can I change the calendar's size and colors?<\/h3><\/dt>\n<dd><p>A: Go to the file \"cp-reservation-calendar\/TDE_RCalendar\/all-css.css\" and edit the following styles:<\/p>\n\n<p>Line #13 - style for the external border; background and border:<\/p>\n\n<pre><code>.yui-calcontainer { \n  float:left;    padding:5px; background-color:#F7F9FB; border:1px solid #7B9EBD;\n}\n<\/code><\/pre>\n\n<p>Line #42 - style for width, height, border and background for all cells:<\/p>\n\n<pre><code>.yui-calendar td.calcell {\n  width:2em; height:2em; border:1px solid #E0E0E0; background-color:#FFF;\n}\n<\/code><\/pre>\n\n<p>Line #46 - style for the current month's cells:<\/p>\n\n<pre><code>.yui-calendar td.calcell a {\n  color:#003DB8; text-decoration:none; \n}\n<\/code><\/pre>\n\n<p>Line #53 - style for the cells with days that do not belong to the current month:<\/p>\n\n<pre><code>.yui-calendar td.calcell.oom {   \n  cursor:default; color:#999; background-color:#EEE; border:1px solid #E0E0E0; \n}\n<\/code><\/pre>\n\n<p>Line #81 - style cells with associated information (events, links):<\/p>\n\n<pre><code>.yui-calendar td.calcell.reserved {\n  background-color:#FFff00;\n} \n<\/code><\/pre>\n\n<p>Line #109 - style for day's names:<\/p>\n\n<pre><code>.yui-calendar .calweekdaycell {\n  color:#666; font-weight:normal;\n}\n<\/code><\/pre><\/dd>\n<dt id='q%3A%20i%27m%20getting%20this%20message%3A%20%22destination%20folder%20already%20exists%22.%20solution%3F'><h3>Q: I'm getting this message: \"Destination folder already exists\". Solution?<\/h3><\/dt>\n<dd><p>A: The currently installed version of the plugin (if any) must be deleted before installing a new version.<\/p>\n\n<p>This is a safe step, the plugin's data and settings won't be lost during the process.<\/p>\n\n<p>Another alternative is to overwrite the plugin files through a FTP connection. This is also a safe step.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0<\/h4>\n\n<ul>\n<li>First stable version released.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Little bugs fixed<\/li>\n<li>More configuration settings added<\/li>\n<li>Compatible with WP 3.8<\/li>\n<li>New configuration settings and improvements.<\/li>\n<\/ul>\n\n<h4>1.1.6<\/h4>\n\n<ul>\n<li>Compatible with the latest WP versions<\/li>\n<li>Better interface and access to the plugin options<\/li>\n<li>Minor bug fixes<\/li>\n<li>Fixed issues related to the get_site_url when WP site not in the default folder<\/li>\n<\/ul>\n\n<h4>1.1.7<\/h4>\n\n<ul>\n<li>Security updates (Thanks to Christian Mondragon Uriel Zarate)<\/li>\n<li>Update to the function that generates the IPN url.<\/li>\n<li>Fixed bug in email processing.<\/li>\n<\/ul>\n\n<h4>1.1.8<\/h4>\n\n<ul>\n<li>Tested and compatible with WordPress 4.4<\/li>\n<li>Several bug fixes<\/li>\n<\/ul>\n\n<h4>1.1.9<\/h4>\n\n<ul>\n<li>Tested and compatible with WordPress 4.5<\/li>\n<\/ul>\n\n<h4>1.1.10<\/h4>\n\n<ul>\n<li>Compatible with WP 4.6<\/li>\n<\/ul>\n\n<h4>1.1.11<\/h4>\n\n<ul>\n<li>\"From\" email correction<\/li>\n<\/ul>\n\n<h4>1.1.12<\/h4>\n\n<ul>\n<li>Compatible with WordPress 4.7<\/li>\n<\/ul>\n\n<h4>1.1.13<\/h4>\n\n<ul>\n<li>Important update related to the parameters in the PayPal IPN notification<\/li>\n<\/ul>\n\n<h4>1.1.14<\/h4>\n\n<ul>\n<li>Tested and compatible with WordPress 4.8<\/li>\n<\/ul>\n\n<h4>1.1.15<\/h4>\n\n<ul>\n<li>Removed deprecated PayPal paramters<\/li>\n<\/ul>\n\n<h4>1.1.16<\/h4>\n\n<ul>\n<li>Better validation of admin settings<\/li>\n<\/ul>\n\n<h4>1.1.17<\/h4>\n\n<ul>\n<li>Moved plugin website and links to SSL<\/li>\n<\/ul>\n\n<h4>1.1.18<\/h4>\n\n<ul>\n<li>Compatible with WordPress 4.9<\/li>\n<\/ul>\n\n<h4>1.1.19<\/h4>\n\n<ul>\n<li>Fixed activation issues<\/li>\n<\/ul>\n\n<h4>1.1.20<\/h4>\n\n<ul>\n<li>Easier activation process<\/li>\n<\/ul>\n\n<h4>1.1.21<\/h4>\n\n<ul>\n<li>Optional deactivation feedback<\/li>\n<\/ul>\n\n<h4>1.1.22<\/h4>\n\n<ul>\n<li>Fixed bug in activation process<\/li>\n<\/ul>\n\n<h4>1.1.23<\/h4>\n\n<ul>\n<li>Database creating encoding fix <\/li>\n<\/ul>\n\n<h4>1.1.24<\/h4>\n\n<ul>\n<li>Fixed activation bug<\/li>\n<\/ul>\n\n<h4>1.1.25<\/h4>\n\n<ul>\n<li>Compatible with WordPress 5.0. Interface updates.<\/li>\n<\/ul>\n\n<h4>1.1.26<\/h4>\n\n<ul>\n<li>Removed use of CURL<\/li>\n<\/ul>\n\n<h4>1.1.27<\/h4>\n\n<ul>\n<li>Compatible with WordPress 5.1<\/li>\n<\/ul>\n\n<h4>1.1.28<\/h4>\n\n<ul>\n<li>Compatible with WordPress 5.2<\/li>\n<\/ul>\n\n<h4>1.1.29<\/h4>\n\n<ul>\n<li>Update for compatibility with WordPress 5.2<\/li>\n<\/ul>\n\n<h4>1.1.30<\/h4>\n\n<ul>\n<li>Code updates<\/li>\n<\/ul>\n\n<h4>1.1.31<\/h4>\n\n<ul>\n<li>Fix to captcha image<\/li>\n<\/ul>\n\n<h4>1.1.32<\/h4>\n\n<ul>\n<li>Compatible with WordPress 5.3<\/li>\n<\/ul>\n\n<h4>1.1.33<\/h4>\n\n<ul>\n<li>Compatible with WordPress 5.4<\/li>\n<\/ul>\n\n<h4>1.1.34<\/h4>\n\n<ul>\n<li>Compatible with WordPress 5.5<\/li>\n<\/ul>\n\n<h4>1.1.35<\/h4>\n\n<ul>\n<li>Compatible with WordPress 5.6<\/li>\n<\/ul>\n\n<h4>1.1.36<\/h4>\n\n<ul>\n<li>Compatible with WordPress 5.7<\/li>\n<\/ul>\n\n<h4>1.1.37<\/h4>\n\n<ul>\n<li>Compatible with WordPress 5.9<\/li>\n<\/ul>\n\n<h4>1.1.38<\/h4>\n\n<ul>\n<li>Compatible with WordPress 6.0<\/li>\n<\/ul>\n\n<h4>1.1.39<\/h4>\n\n<ul>\n<li>Compatible with WordPress 6.4<\/li>\n<\/ul>\n\n<h4>1.1.40<\/h4>\n\n<ul>\n<li>Compatible with WordPress 6.5<\/li>\n<li>Removed tags: calendar,reservation,booking,hotel,room<\/li>\n<\/ul>\n\n<h4>1.1.41<\/h4>\n\n<ul>\n<li>Compatible with WordPress 6.6<\/li>\n<\/ul>","raw_excerpt":"CP Reservation Calendar is a booking calendar that allows selecting dates - ex: check-in and check-out dates - for a reservation.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/20315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=20315"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/codepeople"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=20315"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=20315"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=20315"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=20315"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=20315"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=20315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}