Select one or more tags, then press “Search Plugins”

Find Plugin with any / all of the selected criteria
Search Plugin

SeatCal – Calendar Sync Add-on For Seat & Space Reservation Map Wordpress Plugin - Rating, Reviews, Demo & Download

SeatCal – Calendar Sync Add-on For Seat & Space Reservation Map Preview Wordpress Plugin - Rating, Reviews, Demo & Download
No ratings yet
$29
Follow for free plugins, new theme releases and theme news

Plugin Description

SeatCal - two-way iCal calendar sync add-on for Seat & Space Reservation Map

Keep your seat map and your other calendars in step

SeatCal is a calendar-sync add-on for Seat & Space Reservation Map. It works in both directions. Every booking made on your map is published as a private iCal feed you can subscribe to in Google Calendar, Outlook or Apple Calendar. And any iCal calendar you already use — Airbnb, Booking.com, Vrbo, Google Calendar, a public holiday calendar — can block chosen seats, tables or spaces, so nobody books them while they are taken somewhere else.

It is built for the places Seat & Space Reservation Map already runs: restaurants that also host private events, beach clubs and cabins that are also listed on rental platforms, desks and meeting rooms that live in a shared Outlook calendar.

Live demo (visitor view): seatmap.webkodingtheme.com/wp/demo-restaurant — pick tomorrow at 19:00: tables A2 and VIP 1 are held by an imported private-events calendar.
Admin demo (Calendar Sync screen): SeatMap → Calendar Sync
Demo login: demo / SeatMapDemo! (view-only)

Requires Seat & Space Reservation Map version 2.3.0 or newer. SeatCal is an add-on and does not work on its own.

Imported calendar holds tables A2 and VIP 1 on the seat map

Block seats from Airbnb, Booking.com, Google Calendar and any iCal feed

Paste an export link, pick the seats — Add the iCal address of a calendar and tick the seats, tables or spaces it controls, or none to block the whole map (a venue hire, a closed day).

Blocked everywhere a booking can happen — Held seats show as reserved on the map, are refused by the booking form and cannot be added to the WooCommerce cart.

Automatic re-sync every 30 minutes — plus a Sync now button per calendar, and the result of the last sync shown next to each one.

A failed sync never frees a seat — If a platform is unreachable or returns an error, the busy periods from the last good sync stay in force.

Public holiday calendars — Google marks every holiday as “free”; one tick tells SeatCal to block those days anyway.

Bookings published to Google Calendar, Outlook and Apple Calendar

Publish bookings to Google Calendar, Outlook and Apple Calendar

One private feed per map — A standard iCalendar (.ics) subscription address protected by a random token. It works with any permalink setting; a wrong token returns “not found”.

Bookings look the way they should — Time-slot bookings become timed events one slot long; whole-day and multi-day bookings become all-day events. Pending bookings appear as tentative (optional); cancelled ones are left out.

Personal data stays off by default — Guest name, email and phone are only included if you turn that on for a map. “Create a new address” revokes an old feed instantly.

Honest about refresh times — SeatCal always serves the latest bookings; how often your calendar app asks for them is up to the app. Google Calendar refreshes subscribed calendars every few hours, Outlook and Apple Calendar usually sooner.

Recurring events, exceptions, time zones, holiday calendars, fail-safe sync

A calendar engine that handles the messy cases

Recurring events — Daily, weekly (on chosen weekdays), monthly and yearly rules with interval, count and end date are expanded up to 18 months ahead. A monthly event on the 31st correctly skips shorter months.

Exceptions and moved occurrences — Skipped dates (EXDATE) are left free, and a single occurrence moved to another time blocks the new time, not the old one.

Time zones and daylight saving — Events written in any named time zone, Outlook’s Windows zone names and floating times are placed correctly; a weekly 10:00 event stays at 10:00 after the clocks change.

Cancelled and free events — Cancelled events never block. Events marked “free” are ignored unless you ask SeatCal to count them (holiday calendars).

Tested — The reader and writer are covered by unit tests built from Airbnb, Google Calendar and Outlook calendar shapes, and the package passes WordPress Plugin Check with no errors.

How SeatCal times blocks for time slots and whole-day bookings

How blocking is timed

Time-slot maps — A slot is held when an imported event overlaps it. The slot length is the map’s own time interval, so a 19:00–21:00 event holds the 19:00 and 20:00 slots and leaves 18:00 and 21:00 bookable.

Whole-day and multi-day maps — Any busy period on a day holds that day. All-day events end on the morning of their last date, exactly as in every calendar app, so an Airbnb checkout day stays bookable.

Your time zone — All-day events are read as dates in the map’s time zone; timed events are compared as exact moments, so an event written in another zone blocks the right local slot.

SeatCal admin screen: imported calendars and upcoming blocks

Simple to run

Everything on one screen — Feed address with a copy button, feed privacy options, the list of imported calendars with their last sync result, and an “add calendar” form with a seat picker.

See what is being held — “Coming up from imported calendars” lists the next busy periods with their source, in your date and time format.

Secure by design — Calendars are fetched with WordPress’s safe HTTP client (private and local addresses are refused, downloads capped at 5 MB). Export links are shown shortened because they work like passwords. Every change is nonce- and capability-checked.

Developer hooks — seatcal_capability sets who can open the screen and seatcal_read_only makes it view-only for chosen users — handy for staff accounts.

Add SeatCal to Seat & Space Reservation Map

Requirements

  • Seat & Space Reservation Map 2.3.0 or newer (required)
  • WordPress 6.0 or newer (tested up to 7.1)
  • PHP 7.4 or newer (tested on 8.4)
  • WooCommerce is optional — blocking works with the built-in booking form and with the WooCommerce cart
  • Your server must be able to make outgoing HTTPS requests to the calendars you import

What is included

  • Installable WordPress plugin (seatcal.zip)
  • HTML documentation, including where to find the iCal link on each platform
  • Translation template (.pot)

Support

Support is provided through the Support tab of this item. Please include your WordPress, PHP, Seat & Space Reservation Map and SeatCal versions. Never post a calendar export link publicly — it works like a password.

License

Regular License — Use in a single end product which end users are not charged for.

Extended License — Use in a single end product which end users can be charged for.

For full license terms, see Envato Standard Licenses.

Changelog

v1.0.0 (2026-09-25)
– Initial release


Reviews & Comments