{"id":345785,"date":"2026-10-08T02:22:49","date_gmt":"2026-10-08T02:22:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/slotpress-appointment-booking\/"},"modified":"2026-10-08T02:22:28","modified_gmt":"2026-10-08T02:22:28","slug":"swellweb-booking","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/swellweb-booking\/","author":18693302,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.7","requires":"6.5","requires_php":"8.1","requires_plugins":null,"header_name":"Swellweb Booking","header_author":"Swellweb","header_description":"Free-slot appointment booking for WordPress. Appointment types with duration and buffer, weekly availability, front-end month calendar, double-booking protection and confirmation emails. No external dependencies.","assets_banners_color":"633b30","last_updated":"2026-10-08 02:22:28","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.swellweb.it\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":60,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"marcocaciotti","date":"2026-10-08 02:22:28","revision":3733543}},"upgrade_notice":{"1.0.0":"<p>First public release of Swellweb Booking.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3733543,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3733543,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3733543,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3733543,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Front-end booking calendar: pick a day, then an available time.","2":"Dashboard: key numbers, upcoming appointments and the setup checklist.","3":"Agenda: month view of every appointment.","4":"Appointment type settings: duration, buffer and weekly availability."}},"plugin_section":[],"plugin_tags":[8132,1279,269,416,268],"plugin_category":[40],"plugin_contributors":[284928],"plugin_business_model":[],"class_list":["post-345785","plugin","type-plugin","status-publish","hentry","plugin_tags-appointments","plugin_tags-availability","plugin_tags-booking","plugin_tags-calendar","plugin_tags-scheduling","plugin_category-calendar-and-events","plugin_contributors-marcocaciotti","plugin_committers-marcocaciotti"],"banners":{"banner":"https:\/\/ps.w.org\/swellweb-booking\/assets\/banner-772x250.png?rev=3733543","banner_2x":"https:\/\/ps.w.org\/swellweb-booking\/assets\/banner-1544x500.png?rev=3733543","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/swellweb-booking\/assets\/icon-128x128.png?rev=3733543","icon_2x":"https:\/\/ps.w.org\/swellweb-booking\/assets\/icon-256x256.png?rev=3733543","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Swellweb Booking adds free-slot appointment scheduling to WordPress. You set how\nlong an appointment lasts, how much of a break to leave between one and the next,\nand which time ranges you are available in \u2014 the plugin works out the bookable\nslots and shows them to your visitors.<\/p>\n\n<p>Everything runs on your own site: <strong>no external service, no third-party account,\nno data sent anywhere else<\/strong>.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Appointment types<\/strong> with configurable duration, buffer between appointments\nand weekly availability (several time ranges per day).<\/li>\n<li><strong>Front-end calendar<\/strong> via shortcode: a real month calendar where only the\nbookable days are selectable (closed days, past days and fully booked days are\ngreyed out), with month navigation. Pick a day, see the free times, done.<\/li>\n<li><strong>Optional context field<\/strong>: visitors can add a short note about what they want\nto discuss \u2014 it reaches you in the notification email and in the dashboard.<\/li>\n<li><strong>Double-booking protection<\/strong>: the slot is checked again when the booking is\nconfirmed, so two people cannot take the same time.<\/li>\n<li><strong>Automatic emails<\/strong>: confirmation to the visitor, notification to the admin.<\/li>\n<li><strong>Dashboard<\/strong>: bookings in the next 7 days, this month and in total, your next\nappointments and a short setup checklist \u2014 everything at a glance.<\/li>\n<li><strong>Agenda view<\/strong>: a month calendar in the dashboard showing every appointment at\na glance, with month navigation; click an entry to open the booking.<\/li>\n<li><strong>Bookings list<\/strong> in the dashboard with date, time, name and email, sortable.<\/li>\n<li><strong>No dependencies<\/strong>: no external libraries, vanilla JavaScript, lightweight CSS.<\/li>\n<li><strong>Responsive and accessible<\/strong> on desktop and mobile.<\/li>\n<li><strong>Translation ready<\/strong>: POT file included, Italian translation bundled.<\/li>\n<\/ul>\n\n<h4>Getting started<\/h4>\n\n<ol>\n<li>Go to <strong>Bookings \u2192 Appointment types<\/strong> and create one, for example\n<em>Intro call (30 min)<\/em>.<\/li>\n<li>Set the duration, the buffer and the time ranges for each day.<\/li>\n<li>Copy the shortcode shown in the sidebar box and paste it into a page.<\/li>\n<\/ol>\n\n<h4>Privacy<\/h4>\n\n<p>The plugin stores the details entered by the person booking (name, email, day and\ntime) in your own database, and sends two emails through WordPress: the\nconfirmation to the visitor and the notification to the site administrator. It\ndoes not contact any external service and does not collect usage statistics.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>swellweb-booking<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the\nplugin from your WordPress dashboard.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu.<\/li>\n<li>Create an appointment type under <strong>Bookings<\/strong> and publish the shortcode on a\npage.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20account%20on%20an%20external%20service%3F\"><h3>Do I need an account on an external service?<\/h3><\/dt>\n<dd><p>No. The plugin runs entirely on your site: settings, slots, bookings and emails\nall stay on your WordPress installation.<\/p><\/dd>\n<dt id=\"can%20i%20have%20more%20than%20one%20appointment%20type%3F\"><h3>Can I have more than one appointment type?<\/h3><\/dt>\n<dd><p>Yes. Create as many as you need and publish the shortcode with the ID:\n    [swellweb_booking type=\"123\"]. Without the attribute, the first published type\nis used.<\/p><\/dd>\n<dt id=\"how%20do%20i%20handle%20a%20lunch%20break%3F\"><h3>How do I handle a lunch break?<\/h3><\/dt>\n<dd><p>Add two time ranges to the same day, for example 09:00\u201313:00 and 14:00\u201318:00.\nThe generated slots will skip the gap automatically.<\/p><\/dd>\n<dt id=\"can%20two%20people%20book%20the%20same%20slot%3F\"><h3>Can two people book the same slot?<\/h3><\/dt>\n<dd><p>No. Besides hiding slots that are already taken, the plugin checks availability\nagain when the booking is submitted: if the time was taken in the meantime, the\nvisitor is told and picks another one.<\/p><\/dd>\n<dt id=\"are%20past%20times%20shown%3F\"><h3>Are past times shown?<\/h3><\/dt>\n<dd><p>No. Slots earlier than the current time are excluded automatically.<\/p><\/dd>\n<dt id=\"which%20data%20does%20the%20plugin%20store%3F\"><h3>Which data does the plugin store?<\/h3><\/dt>\n<dd><p>Name, email address, day and time of each booking, plus the settings of your\nappointment types. Nothing is sent to external services.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public release.<\/li>\n<li>Appointment types with duration, buffer and weekly availability.<\/li>\n<li>Front-end month calendar with selectable days and REST endpoints for\navailable days and slots.<\/li>\n<li>Double-booking protection with re-check on submit.<\/li>\n<li>Optional context note from the visitor, shown in the dashboard and emails.<\/li>\n<li>Dashboard with key numbers, upcoming appointments and setup checklist.<\/li>\n<li>Agenda: month calendar view of all appointments.<\/li>\n<li>Confirmation and notification emails; bookings list columns.<\/li>\n<\/ul>","raw_excerpt":"Appointment booking with free slots: durations, buffers, weekly availability and double-booking protection. No external service.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/345785","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=345785"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/marcocaciotti"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=345785"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=345785"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=345785"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=345785"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=345785"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=345785"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}