How It Works Use Cases Why SeatMap Features FAQ View Live Demo Buy — $49
WordPress Plugin

Interactive
seat selection
on any floor plan

Upload a floor plan, draw reservation areas in minutes, and let customers visually pick seats, tables, or zones — then checkout directly through WooCommerce.

6+
Venue types
Seats per map
$49
One-time price
Select
Rectangle
Polygon
Save
A1
A2
A3
VIP
B1
B2
B3
B4
C1
C2
C3
VIP
Seat B2
2 persons · Standard
$150
Selected

Up and running in 3 steps

1
Upload a Floor Plan
Go to Reservation Maps → Add New. Upload any JPEG, PNG, or WebP from your Media Library — your restaurant layout, cinema chart, office plan, anything.
2
Draw Reservation Areas
Draw rectangles or polygons over your image. Set a label, price, and capacity per area. Drag to reposition, undo/redo freely.
3
Publish & Accept Bookings
Drop in the block or [reservation_map id="X"]. Customers pick seats, choose a date, and pay via WooCommerce — or the built-in guest form.

Works for every venue type

One plugin, unlimited scenarios. Any image with defined areas becomes a bookable map.

Restaurants & Cafés
Draw each table on your floor plan. Set capacity and price. Customers pick a table and time slot — like OpenTable, but on your own site.
Cinemas & Theaters
Row-by-row seat selection on a real seating chart. VIP, standard, and balcony zones with different prices. Real-time availability prevents double-booking.
Offices & Coworking
Hot desk and meeting room booking on an office floor plan. Employees reserve their desk for the day or week.
Parking Lots
Number each parking space and show live availability. Covered, uncovered, EV-charging — different zones with different prices.
Beaches & Pools
Sunbed and cabana reservation on a beach layout. Mark premium ocean-front spots vs standard. Visitors book by the day.
Real Estate & Events
Upload a building floor plan or event hall layout. Each unit or zone becomes a bookable area showing availability.

Your site. Your data. No monthly fees.

SaaS booking platforms charge every month and own your customer data. SeatMap is a one-time purchase that runs entirely on your own WordPress site.

 
SeatMap
SaaS platforms
Pricing
$49 once
$30–100+/mo
Runs on your own site
You own customer data
Use any floor plan image
Limited templates
WooCommerce checkout
Their gateway only
Transaction fees
None
1–3% per booking

Everything built in

No add-ons needed. Every feature ships with the plugin, coded to WordPress standards.

Security Hardened
WP nonce auth on every write endpoint. IDOR protection validates each seat ID against stored map data. Prepared statements on all queries. Draft maps blocked from public access. CSV export protected against formula injection.
Opening Hours, Closed Days & Slot Offsets v2.1
Set a weekly schedule per map — mark the days you're closed (they're struck through in the calendar) and give each weekday its own hours, like 12:00–22:00 midweek and 13:00–22:00 at weekends. Need a time the grid won't produce? Give individual tables a slot offset: with 75-minute sittings from 12:00, a 45-minute offset makes 19:00 bookable on exactly those tables, and picking 19:00 greys out the rest. Require time selection stops bookings ever being saved without a time.
Visitor Toolbar — Filter, Zones & Accessibility v2.0
Guests find the right seat in seconds: live search and filter by availability, max price, zone (Stalls, Balcony, Terrace…) and ♿ wheelchair-accessible seats, with a running shown/total count. Plus a show/hide-seats toggle that reveals the floor-plan image, a one-tap share link, and a printable seat manifest. Every tool is on by default and toggleable per map.
Dark Mode, RTL & Accessible
Full prefers-color-scheme: dark support, complete dir="rtl" layout mirroring for Arabic/Hebrew, WCAG-compliant seats with role="checkbox" + aria-label, and a print stylesheet for confirmations.
Visual SVG Map Builder
React-powered builder. Draw rectangles or polygons over any floor plan. Drag to reposition, undo/redo. Coordinates stored as percentages — fully responsive.
Real-Time Availability
Frontend fetches live seat status via REST API on date select. Pre-submit conflict check prevents double-booking under concurrent load.
WooCommerce Checkout
Seats flow into the WC cart as line items with custom meta and per-seat prices. Order completion confirms reservations; cancellations auto-cancel them.
Email Fallback
No WooCommerce? A built-in guest form collects name + email, stores a pending booking, and emails confirmation to guest and admin.
Admin Dashboard
List + calendar views, filter/search by map/date/status, detail modal, one-click confirm/cancel, and CSV export.
Role-Based Team Access
Let your staff manage bookings without admin keys. Choose which role — Editors, Authors, Contributors, or Shop Managers — can open the Reservations page, while plugin settings and the map builder stay Administrator-only.
Gutenberg Block + Shortcode
Reservation Map block with a map picker, or the classic [reservation_map id="X"] shortcode for any page builder.
Dynamic Pricing Rules
Per-map recurring rules charge more on weekends (or any day group) — set a multiplier or a fixed price. First-match-wins logic applied identically on the frontend, in the WooCommerce cart, and on the server.
Multi-Day Reservations
Opt-in date-range booking for stays that span several days — beds, parking, equipment. Availability is checked across the whole range and the total sums each day's price, so weekend rates count per night.
Calendar Invites (.ics)
Confirmation emails carry an .ics attachment so guests add the booking to Google, Apple, or Outlook Calendar in one tap — with the venue name, seat, date and time pre-filled.
Per-Map Currency & Timezone
Override the currency symbol and timezone for each individual map — run a USD cinema and a EUR beach club on the same site, each with correct local times on calendar invites.

Try it yourself

Full WordPress + WooCommerce install. Explore the map builder, make a test reservation, and browse the admin dashboard.

Frequently asked questions

No. WooCommerce is optional. With it, reservations flow through your existing checkout. Without it, a built-in guest form collects the booking and sends an email confirmation to the guest and admin.
One licence covers one production site, plus a staging copy of it. A second live site needs a second licence. Full terms at webkodingtheme.com/legal/license.
WordPress 6.0+ and PHP 7.4+ (tested up to PHP 8.4). WooCommerce 7.0+ if you use the checkout integration. HPOS (High-Performance Order Storage) compatible.
Yes. Enable "Allow multi-select" in the map settings and customers can pick several seats in one booking — perfect for group cinema tickets or a row of sunbeds.
Yes. The plugin ships with a .pot file and all strings are translatable. The frontend fully supports RTL languages (Arabic, Hebrew) and dark mode out of the box.
No. Everything is visual — upload an image, draw areas, set prices, and publish with a block or shortcode. No coding required.

One price. Yours forever.

One licence covers one production site, plus a staging copy of it. A second live site needs a second licence.

$49 one-time, no subscription

1 year of updates and support  ·  full GPL source  ·  runs on your own server

Buy — $49 Try Live Demo First
Plugin Files
PHP + React + Vanilla JS
6 Months Support
Direct email support
Future Updates
Free for license lifetime