{"id":351679,"date":"2026-08-12T07:22:48","date_gmt":"2026-08-12T07:22:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/seatlayer-seating-charts\/"},"modified":"2026-09-05T08:33:41","modified_gmt":"2026-09-05T08:33:41","slug":"seatlayer-seating-charts","status":"publish","type":"plugin","link":"https:\/\/kn.wordpress.org\/plugins\/seatlayer-seating-charts\/","author":23545925,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.2.3","stable_tag":"0.2.3","tested":"7.0.4","requires":"6.3","requires_php":"7.4","requires_plugins":null,"header_name":"SeatLayer Seating Charts","header_author":"SeatLayer","header_description":"Embed interactive reserved-seating charts and sell tickets from WordPress. Buyers pick seats on your page and pay through your own Stripe or Razorpay account.","assets_banners_color":"473d3d","last_updated":"2026-09-05 08:33:41","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/seatlayer.io\/integrations\/wordpress","header_author_uri":"https:\/\/seatlayer.io","rating":0,"author_block_rating":0,"active_installs":0,"downloads":193,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.2.0":{"tag":"0.2.0","author":"navincse","date":"2026-08-12 07:43:48","revision":3642987},"0.2.1":{"tag":"0.2.1","author":"navincse","date":"2026-08-25 06:34:17","revision":3664712},"0.2.2":{"tag":"0.2.2","author":"navincse","date":"2026-09-05 07:54:46","revision":3682229},"0.2.3":{"tag":"0.2.3","author":"navincse","date":"2026-09-05 08:33:41","revision":3682258}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3642987,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3642987,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3642987,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3642987,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"seatlayer\/chart":{"name":"seatlayer\/chart","title":"SeatLayer seating chart"}},"tagged_versions":["0.2.0","0.2.1","0.2.2","0.2.3"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[27824,188413,279277,275299,126872],"plugin_category":[40],"plugin_contributors":[275300],"plugin_business_model":[],"class_list":["post-351679","plugin","type-plugin","status-publish","hentry","plugin_tags-event-tickets","plugin_tags-reserved-seating","plugin_tags-seat-map","plugin_tags-seat-selection","plugin_tags-seating-chart","plugin_category-calendar-and-events","plugin_contributors-navincse","plugin_committers-navincse"],"banners":{"banner":"https:\/\/ps.w.org\/seatlayer-seating-charts\/assets\/banner-772x250.png?rev=3642987","banner_2x":"https:\/\/ps.w.org\/seatlayer-seating-charts\/assets\/banner-1544x500.png?rev=3642987","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/seatlayer-seating-charts\/assets\/icon-128x128.png?rev=3642987","icon_2x":"https:\/\/ps.w.org\/seatlayer-seating-charts\/assets\/icon-256x256.png?rev=3642987","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>SeatLayer is a WordPress seating chart plugin for selling event tickets with\nreserved seats. Add an interactive seat map to a page or post, let visitors\nchoose where they sit, and accept payment through your connected Stripe or\nRazorpay account.<\/p>\n\n<p>Build theatre, auditorium, concert and dinner-show seating plans in SeatLayer,\nthen publish them on WordPress with a Gutenberg block or shortcode.<\/p>\n\n<p><a href=\"https:\/\/seatlayer.io\/integrations\/wordpress\/\">Explore the WordPress seating chart features<\/a> \u00b7\n<a href=\"https:\/\/app.seatlayer.io\/demo\/play\/grand-theatre\">Try the interactive seat selection demo<\/a><\/p>\n\n<h4>Interactive seat maps and reserved seating<\/h4>\n\n<ul>\n<li><strong>Numbered seats and venue sections.<\/strong> Show row, seat, section, price and\navailability for exact-seat selection.<\/li>\n<li><strong>Tables, booths and general-admission areas.<\/strong> Combine reserved rows with\nother seating and capacity areas in one published venue chart.<\/li>\n<li><strong>Accessible seating and multiple floors.<\/strong> Show your configured seat labels\nand floor layouts.<\/li>\n<li><strong>Best Available for groups.<\/strong> Find a suitable group together using\n<a href=\"https:\/\/docs.seatlayer.io\/buyer-sdk\/best-available\/\">best-available seat selection<\/a>.<\/li>\n<\/ul>\n\n<h4>3D seat views and mobile seat selection<\/h4>\n\n<p>Buyers can switch between the map and <strong>interactive 3D<\/strong> on supported browsers\nand devices, with a full 2D fallback. Explore SeatLayer's\n<a href=\"https:\/\/seatlayer.io\/3d-seat-map\/\">3D seating charts<\/a>.<\/p>\n\n<p>The responsive picker adapts to the space on your page, with touch selection,\npinch-to-zoom and a mobile selection summary. Chart branding and category\ncolours come from your SeatLayer venue configuration.<\/p>\n\n<h4>Live availability, ticket types and checkout holds<\/h4>\n\n<ul>\n<li><strong>Live seat availability<\/strong> updates as inventory changes.<\/li>\n<li><strong>Ticket types and category pricing<\/strong> show the options configured for the\nevent, such as Adult, Child or Senior tickets.<\/li>\n<li><strong>Active event offers<\/strong> appear in the buyer journey when configured in\nSeatLayer.<\/li>\n<li><strong>Temporary seat holds<\/strong> protect the selected inventory during checkout,\nwith a countdown and automatic release when a hold expires.<\/li>\n<li><strong>Confirmed bookings and ticket emails<\/strong> follow successful payment through\nthe organizer's connected account.<\/li>\n<\/ul>\n\n<p>SeatLayer manages inventory, payment totals and bookings centrally, without\nduplicating ticket inventory in your WordPress database.<\/p>\n\n<h4>Gutenberg block and seating chart shortcode<\/h4>\n\n<p>Add the <strong>SeatLayer seating chart<\/strong> block in the WordPress editor, or use:<\/p>\n\n<pre><code>[seatlayer_chart event=\"your-event\" height=\"720\" max_selection=\"6\"]\n<\/code><\/pre>\n\n<p>Set the event, height, maximum seat selection, <code>locale<\/code> and <code>currency<\/code>.\nThe block supports wide\/full alignment where your theme provides it. Currency\nis a display fallback; the event's configured prices remain authoritative.<\/p>\n\n<p>Enter an event key or use an optional server-side secret key for an event\ndropdown. Scripts and styles load only on pages containing a chart.<\/p>\n\n<p>See the <a href=\"https:\/\/docs.seatlayer.io\/integrations\/wordpress\/\">WordPress seat map setup guide<\/a>\nfor block settings and shortcode options.<\/p>\n\n<h4>Accept payments through Stripe or Razorpay<\/h4>\n\n<p><strong>Hosted checkout:<\/strong> buyers continue from seat selection to SeatLayer's hosted\nevent page and pay through your connected account.<\/p>\n\n<p><strong>Checkout from your WordPress page:<\/strong> enable <strong>Let buyers pay without leaving\nthis site<\/strong> under <strong>Settings \u2192 SeatLayer<\/strong>. Razorpay opens on the page; Stripe\nopens its secure checkout and returns the buyer to the WordPress page.\nThis needs in-page checkout access and a registered embed domain. Hosted\ncheckout remains the fallback.<\/p>\n\n<p>Manage venue layouts, events, ticket prices, offers, orders and ticket delivery\nin the <a href=\"https:\/\/app.seatlayer.io\/\">SeatLayer dashboard<\/a>.<\/p>\n\n<h4>Account requirements and service pricing<\/h4>\n\n<p>You need an approved SeatLayer Managed Ticketing account, a published\nreserved-seat chart, a Managed event and a connected payment account.\nRequest Managed access before opening sales.<\/p>\n\n<p>The WordPress plugin is free to install. SeatLayer's hosted service has usage\ncharges, and your payment provider has its own fees. See\n<a href=\"https:\/\/seatlayer.io\/pricing\/\">Managed Ticketing pricing<\/a> for current rates.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to SeatLayer's hosted seating and ticketing service. It\nrequires a SeatLayer account. These services are contacted during use:<\/p>\n\n<p><strong>SeatLayer CDN (<code>cdn.seatlayer.io<\/code>)<\/strong><\/p>\n\n<p>Loads the seating-chart renderer only on pages containing a chart, from\n    https:\/\/cdn.seatlayer.io\/seatlayer-js@0.80.3\/seatlayer.js.\nThe browser sends its normal IP address, user agent and referrer; the plugin\nadds no visitor data to that script request.<\/p>\n\n<p><strong>SeatLayer API (<code>api.seatlayer.io<\/code>)<\/strong><\/p>\n\n<p>On chart load, fetches the layout and live availability. During selection and\ncheckout, creates seat holds and payment sessions. Requests include the event\nkey and selected inventory; payment also needs the buyer's email and optional\nname. Payment starts with the hold ID, and SeatLayer computes the amount from\nits records. Optional in-page checkout sends the page URL for a return to a\nregistered embed domain.<\/p>\n\n<p>If an administrator saves a secret key, the WordPress server uses it to list\nevents in the block editor. That key is not sent to visitors.<\/p>\n\n<p><strong>SeatLayer hosted buyer page (<code>app.seatlayer.io<\/code>)<\/strong><\/p>\n\n<p>For hosted checkout, redirects the buyer to\n    https:\/\/app.seatlayer.io\/e\/EVENT?hold=HOLD_ID after seat selection.\nThe URL carries the event key and hold ID, not an amount or buyer details.<\/p>\n\n<p><strong>Stripe or Razorpay<\/strong><\/p>\n\n<p>After seat selection, processes payment through the organizer's connected\naccount. SeatLayer sends the amount, currency and buyer email needed for\npayment. Card details go directly to the payment provider and never pass\nthrough this plugin or your WordPress database.<\/p>\n\n<p><a href=\"https:\/\/stripe.com\/privacy\">Stripe Privacy Policy<\/a> \u00b7\n<a href=\"https:\/\/razorpay.com\/privacy\">Razorpay Privacy Policy<\/a> \u00b7\n<a href=\"https:\/\/seatlayer.io\/terms\">SeatLayer Terms of Service<\/a> \u00b7\n<a href=\"https:\/\/seatlayer.io\/privacy\">SeatLayer Privacy Policy<\/a><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate <strong>SeatLayer Seating Charts<\/strong>.<\/li>\n<li>Request Managed Ticketing access in SeatLayer. Once approved, create and\npublish a venue chart, then create your Managed event.<\/li>\n<li>Connect Stripe or Razorpay under <strong>Payments<\/strong> in the SeatLayer dashboard.<\/li>\n<li>Add the <strong>SeatLayer seating chart<\/strong> block or <code>[seatlayer_chart]<\/code> shortcode\nto a WordPress page and enter your event key.<\/li>\n<li>Check the seating chart and checkout flow, then publish your event page.<\/li>\n<\/ol>\n\n<p>A secret key under <strong>Settings \u2192 SeatLayer<\/strong> is optional. It enables the\neditor's event dropdown; the public chart works with the event key alone.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20create%20the%20seating%20plan%20inside%20wordpress%3F\"><h3>Can I create the seating plan inside WordPress?<\/h3><\/dt>\n<dd><p>Create and edit venues in the <a href=\"https:\/\/seatlayer.io\/venue-designer\/\">seating chart designer<\/a>,\nthen embed the published chart on WordPress. The plugin provides the buyer\npicker and display settings.<\/p><\/dd>\n<dt id=\"can%20i%20use%20table%20seating%20or%20general%20admission%3F\"><h3>Can I use table seating or general admission?<\/h3><\/dt>\n<dd><p>Yes, within a published chart alongside reserved seats. A pure-GA event\nwithout a chart uses a different ticketing flow.<\/p><\/dd>\n<dt id=\"can%20i%20use%20it%20for%20a%20large%20theatre%2C%20arena%20or%20stadium%3F\"><h3>Can I use it for a large theatre, arena or stadium?<\/h3><\/dt>\n<dd><p>The plugin uses SeatLayer's shared buyer renderer. Try the public\n<a href=\"https:\/\/app.seatlayer.io\/demo\/play\/large-stadium\">53,018-seat stadium demo<\/a>\nand read the <a href=\"https:\/\/docs.seatlayer.io\/platform\/renderer-performance\/\">large-chart renderer measurements<\/a>.\nThese measure the shared renderer; also evaluate your own chart, WordPress\ntheme and target devices before opening sales.<\/p><\/dd>\n<dt id=\"does%20this%20integrate%20with%20woocommerce%20checkout%3F\"><h3>Does this integrate with WooCommerce checkout?<\/h3><\/dt>\n<dd><p>It can run on a site that also uses WooCommerce. SeatLayer ticket purchases use\nyour connected Stripe or Razorpay account and do not create WooCommerce cart\nline items or orders.<\/p><\/dd>\n<dt id=\"can%20two%20buyers%20purchase%20the%20same%20seat%3F\"><h3>Can two buyers purchase the same seat?<\/h3><\/dt>\n<dd><p>Only one active hold can own a seat; expired holds release inventory for sale.\nIf payment completes after a hold expires and booking fails, SeatLayer refunds\nthe buyer automatically and flags the order.<\/p><\/dd>\n<dt id=\"where%20is%20my%20optional%20secret%20key%20stored%3F\"><h3>Where is my optional secret key stored?<\/h3><\/dt>\n<dd><p>In your WordPress database, used server-side and never sent to visitors.\nDatabase administrators can read it. Leave it blank and enter event keys\ndirectly if you do not want to store it.<\/p><\/dd>\n<dt id=\"can%20i%20build%20a%20custom%20seat%20booking%20integration%3F\"><h3>Can I build a custom seat booking integration?<\/h3><\/dt>\n<dd><p>Developers who need their own buyer controls, cart or payment flow can use the\n<a href=\"https:\/\/docs.seatlayer.io\/buyer-sdk\/install\/\">JavaScript seat map SDK<\/a> and\n<a href=\"https:\/\/seatlayer.io\/developers\/\">SeatLayer seat booking API<\/a>.\nThe plugin provides the Managed Ticketing flow described above.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.2.3<\/h4>\n\n<ul>\n<li>Detail seating chart features, 3D seat views, WordPress controls and setup answers.<\/li>\n<li>Add relevant demo, feature and developer documentation links.<\/li>\n<li>Pin the buyer SDK CDN to the verified 0.80.3 release.<\/li>\n<\/ul>\n\n<h4>0.2.2<\/h4>\n\n<ul>\n<li>Refresh the plugin listing with clearer seating chart and seat map setup guidance.<\/li>\n<li>Document the Managed Ticketing account requirement and link the WordPress integration guide.<\/li>\n<li>Clarify checkout holds, WooCommerce coexistence, and browser SDK loading.<\/li>\n<li>Documentation and release metadata only; plugin behavior is unchanged.<\/li>\n<\/ul>\n\n<h4>0.2.1<\/h4>\n\n<ul>\n<li>Documentation only. Refreshes the plugin listing text and the project\nREADME. No plugin behaviour changes.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Add optional in-page checkout with hosted-checkout fallback.<\/li>\n<li>Return Stripe buyers to the registered WordPress page after payment.<\/li>\n<li>Remove plugin settings on uninstall and translate chart error messages.<\/li>\n<li>Document external services and data sent.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>First release: seating chart block, shortcode and hosted payment handoff.<\/li>\n<\/ul>","raw_excerpt":"Sell reserved event tickets with interactive seat maps, 3D seat views and live availability. Add charts to WordPress by block or shortcode.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/351679","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=351679"}],"author":[{"embeddable":true,"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/navincse"}],"wp:attachment":[{"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=351679"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=351679"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=351679"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=351679"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=351679"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=351679"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}