{"id":300713,"date":"2026-06-24T14:46:14","date_gmt":"2026-06-24T14:46:14","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/mobile-pos-suite\/"},"modified":"2026-09-25T19:08:59","modified_gmt":"2026-09-25T19:08:59","slug":"tillkit","status":"publish","type":"plugin","link":"https:\/\/vec.wordpress.org\/plugins\/tillkit\/","author":18706551,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.5","stable_tag":"1.0.5","tested":"7.1.2","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"TillKit","header_author":"SNWebApps","header_description":"Free POS + Barcode Scanner for WooCommerce. Upgrade to Pro for additional staff roles, reports, and more.","assets_banners_color":"e6e8e7","last_updated":"2026-09-25 19:08:59","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/snwebapps.com\/tillkit\/","header_author_uri":"https:\/\/snwebapps.com\/contact\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":329,"num_ratings":0,"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":"spyr05","date":"2026-06-25 04:25:13","revision":3585605},"1.0.3":{"tag":"1.0.3","author":"spyr05","date":"2026-06-25 04:25:36","revision":3585606},"1.0.4":{"tag":"1.0.4","author":"spyr05","date":"2026-08-28 14:23:39","revision":3670505},"1.0.5":{"tag":"1.0.5","author":"spyr05","date":"2026-09-25 19:08:59","revision":3713472}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3585721,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3585721,"resolution":"1544x500","location":"assets","locale":"","width":1824,"height":576}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1","1.0.3","1.0.4","1.0.5"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3586104,"resolution":"1","location":"assets","locale":"","width":1365,"height":768},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3585721,"resolution":"2","location":"assets","locale":"","width":1365,"height":768},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3585721,"resolution":"3","location":"assets","locale":"","width":1365,"height":768}},"screenshots":{"1":"PIN login screen","2":"POS product grid with category chips","3":"Cart drawer with totals","4":"Till management \u2014 open and close shift","5":"Order History tab"}},"plugin_section":[],"plugin_tags":[1292,841,26270,10229,286],"plugin_category":[45],"plugin_contributors":[268737],"plugin_business_model":[],"class_list":["post-300713","plugin","type-plugin","status-publish","hentry","plugin_tags-barcode","plugin_tags-mobile","plugin_tags-point-of-sale","plugin_tags-pos","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-spyr05","plugin_committers-spyr05"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/tillkit\/assets\/icon-256x256.png?rev=3585721","icon_2x":"https:\/\/ps.w.org\/tillkit\/assets\/icon-256x256.png?rev=3585721","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/tillkit\/assets\/screenshot-1.png?rev=3586104","caption":"PIN login screen"},{"src":"https:\/\/ps.w.org\/tillkit\/assets\/screenshot-2.png?rev=3585721","caption":"POS product grid with category chips"},{"src":"https:\/\/ps.w.org\/tillkit\/assets\/screenshot-3.png?rev=3585721","caption":"Cart drawer with totals"}],"raw_content":"<!--section=description-->\n<p><strong>TillKit<\/strong> turns your WooCommerce store into a mobile point of sale. Open the app from any phone or tablet browser, log in with a PIN, and start selling.<\/p>\n\n<h4>Free Features<\/h4>\n\n<ul>\n<li><strong>Mobile POS<\/strong> \u2014 Full-screen product grid with category filter chips, search by name \/ SKU, and cart drawer<\/li>\n<li><strong>Till management<\/strong> \u2014 Open and close a till with float tracking and variance report on close<\/li>\n<li><strong>Order history<\/strong> \u2014 Browse today's orders with full item breakdown<\/li>\n<li><strong>Cash payments<\/strong> \u2014 Take cash sales and track change<\/li>\n<li><strong>PWA \/ Add to Home Screen<\/strong> \u2014 Install on Android (Chrome) or iOS (Safari) for a native app feel<\/li>\n<li><strong>2 staff members<\/strong> with PIN login \u2014 Cashier and Manager roles<\/li>\n<li><strong>1 active cart<\/strong> \u2014 Single cart per session<\/li>\n<li><strong>Offline mode<\/strong> \u2014 Products cached; pending orders sync on reconnect<\/li>\n<\/ul>\n\n<h4>Upgrade to Pro<\/h4>\n\n<p><a href=\"https:\/\/snwebapps.com\/tillkit\/\">TillKit Pro<\/a> adds:<\/p>\n\n<ul>\n<li><strong>Unlimited staff<\/strong> and all roles (Supervisor, Scanner Only)<\/li>\n<li><strong>Up to 10 simultaneous carts<\/strong><\/li>\n<li><strong>Card and custom payment methods<\/strong><\/li>\n<li><strong>Full &amp; partial refunds<\/strong> from Order History<\/li>\n<li><strong>Receipt emails<\/strong> sent to customers<\/li>\n<li><strong>Barcode Scanner<\/strong> tab (Quagga2) with scan log<\/li>\n<li><strong>Size Exchange<\/strong> with automatic stock adjustment on both sides<\/li>\n<li><strong>Reports<\/strong> \u2014 Shifts &amp; Till Summaries, Product Sales, Exchange Log<\/li>\n<li><strong>Email Designer<\/strong> for branded receipts<\/li>\n<li><strong>Priority support<\/strong><\/li>\n<\/ul>\n\n<h3>PWA Shell Architecture<\/h3>\n\n<p>TillKit serves its point-of-sale interface as a <strong>Progressive Web App (PWA)<\/strong>. When a user visits the configured suite URL, the plugin intercepts the request via the <code>template_redirect<\/code> action hook, outputs a complete standalone HTML document, and calls <code>exit()<\/code>. WordPress never proceeds to <code>wp_head()<\/code> or <code>wp_footer()<\/code>, so the assets registered via <code>wp_enqueue_script()<\/code>\/<code>wp_enqueue_style()<\/code> for this request have nothing to print into automatically \u2014 they're printed directly instead, as described below.<\/p>\n\n<p>The scripts and styles for the PWA shell are registered and enqueued through the standard <code>wp_register_script()<\/code>\/<code>wp_enqueue_script()<\/code> and <code>wp_register_style()<\/code>\/<code>wp_enqueue_style()<\/code> APIs (see <code>tillkit_pwa_register_script()<\/code> and <code>tillkit_pwa_register_style()<\/code> in <code>tillkit-main.php<\/code>). Because <code>wp_head()<\/code>\/<code>wp_footer()<\/code> never run for this request, the enqueued assets are printed directly via <code>wp_print_scripts()<\/code>\/<code>wp_print_styles()<\/code> with an explicit handle array, rather than relying on those hooks. This only prints the exact handles this plugin registered \u2014 not a foreign theme's full head output \u2014 and runs safely after <code>init<\/code>, since registration happens on <code>template_redirect<\/code>. Dynamic values (the inline config block and theme-colour CSS override) are attached via <code>wp_add_inline_script()<\/code>\/<code>wp_add_inline_style()<\/code>. All values are sanitized: URLs through <code>esc_url()<\/code>, version strings through <code>esc_attr()<\/code>, and inline JS values through <code>esc_js()<\/code>.<\/p>\n\n<p>This is the same pattern used by any WordPress plugin that serves a full-page application (e.g. login pages, OAuth callbacks, app shells) via <code>template_redirect<\/code>. The relevant PHPCS rules are suppressed with <code>\/\/ phpcs:disable WordPress.WP.EnqueuedResources<\/code> at the function level with this explanation inline.<\/p>\n\n<h3>WordPress Core File Usage<\/h3>\n\n<p>TillKit loads two sets of WordPress core admin helper files using <code>require_once<\/code>. These are standard WordPress patterns and are used as follows:<\/p>\n\n<ul>\n<li><p><code>wp-admin\/includes\/upgrade.php<\/code> \u2014 loaded in <code>TillKit_Database<\/code> methods that call <code>dbDelta()<\/code> to create or update database tables. This is the <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/dbdelta\/\">documented WordPress method<\/a> for plugin schema management. The file is loaded immediately before <code>dbDelta()<\/code> is called.<\/p><\/li>\n<li><p><code>wp-admin\/includes\/file.php<\/code>, <code>image.php<\/code>, <code>media.php<\/code> \u2014 loaded in the <code>upload_media<\/code> REST API endpoint when processing logo uploads. These files expose <code>wp_handle_upload()<\/code>, <code>wp_generate_attachment_metadata()<\/code>, and <code>media_handle_upload()<\/code>, which are called immediately after loading. The files are only loaded if the functions are not already available.<\/p><\/li>\n<\/ul>\n\n<p>In all cases, <code>require_once<\/code> is used (not <code>require<\/code>), the files are WordPress core files (not third-party), and a function from each file is called immediately after loading \u2014 as recommended in the WordPress plugin guidelines.<\/p>\n\n<h3>Third Party Libraries<\/h3>\n\n<p>TillKit includes two pre-built third-party libraries as minified bundles. Both are unmodified upstream releases. Source code, license, and build instructions are provided below.<\/p>\n\n<p><strong>QuaggaJS v0.12.1<\/strong><\/p>\n\n<ul>\n<li>Files: <code>app\/js\/quagga.js<\/code>, <code>suite\/js\/quagga.js<\/code><\/li>\n<li>Purpose: Camera-based barcode scanning (live video stream barcode decoding)<\/li>\n<li>License: MIT<\/li>\n<li>Original source: https:\/\/github.com\/serratus\/quaggaJS (archived)<\/li>\n<li>Actively maintained fork: https:\/\/github.com\/ericblade\/quagga2<\/li>\n<li>NPM package: https:\/\/www.npmjs.com\/package\/@ericblade\/quagga2<\/li>\n<li>License text: https:\/\/github.com\/serratus\/quaggaJS\/blob\/master\/LICENSE<\/li>\n<\/ul>\n\n<p>The included <code>quagga.js<\/code> is the unmodified <code>dist\/quagga.js<\/code> output from the\nupstream <code>serratus\/quaggaJS<\/code> build at tag v0.12.1. To reproduce it from source:<\/p>\n\n<pre><code>git clone https:\/\/github.com\/serratus\/quaggaJS.git\ncd quaggaJS\ngit checkout v0.12.1\nnpm install\nnpm run build\n# Output at: dist\/quagga.js\ncp dist\/quagga.js \/path\/to\/plugin\/app\/js\/quagga.js\ncp dist\/quagga.js \/path\/to\/plugin\/suite\/js\/quagga.js\n<\/code><\/pre>\n\n<p><strong>Chart.js v4.5.1<\/strong><\/p>\n\n<ul>\n<li>File: <code>admin\/js\/chart.umd.js<\/code><\/li>\n<li>Purpose: Admin analytics charts<\/li>\n<li>License: MIT<\/li>\n<li>Source: https:\/\/github.com\/chartjs\/Chart.js<\/li>\n<li>License file: https:\/\/github.com\/chartjs\/Chart.js\/blob\/master\/LICENSE.md<\/li>\n<\/ul>\n\n<p>The minified file is the unmodified output of the Chart.js build. To reproduce it:<\/p>\n\n<pre><code>npm install chart.js@4.5.1\n# Copy node_modules\/chart.js\/dist\/chart.umd.js to admin\/js\/chart.umd.js\n<\/code><\/pre>\n\n<p>Or download directly: https:\/\/github.com\/chartjs\/Chart.js\/releases\/tag\/v4.5.1<\/p>\n\n<h3>Source Code and Build Tools<\/h3>\n\n<h4>Plugin Source Files (no build step required)<\/h4>\n\n<p>All TillKit JavaScript files are plain, unminified, human-readable source files included directly in the plugin package. No compiler, bundler, or transpiler is used for plugin code.<\/p>\n\n<ul>\n<li><code>suite\/js\/app.js<\/code> \u2014 App bootstrap, authentication, navigation<\/li>\n<li><code>suite\/js\/pos.js<\/code> \u2014 POS product grid, category chips, search<\/li>\n<li><code>suite\/js\/cart.js<\/code> \u2014 Cart drawer, multi-cart management<\/li>\n<li><code>suite\/js\/scanner.js<\/code> \u2014 Barcode scanner tab (Quagga2 wrapper)<\/li>\n<li><code>suite\/js\/history.js<\/code> \u2014 Order history, refunds<\/li>\n<li><code>suite\/js\/exchange.js<\/code> \u2014 Size exchange workflow<\/li>\n<li><code>suite\/js\/store.js<\/code> \u2014 Store\/product management tab<\/li>\n<li><code>suite\/js\/sw.js<\/code> \u2014 Service Worker (offline cache, sync queue)<\/li>\n<li><code>admin\/js\/tillkit-admin.js<\/code> \u2014 WordPress admin panel<\/li>\n<\/ul>\n\n<p>To modify these files: edit them directly. No compilation step is needed. If you change <code>sw.js<\/code> or any file that may be cached, increment the <code>CACHE_VERSION<\/code> constant at the top of <code>sw.js<\/code> to bust the service worker cache.<\/p>\n\n<h4>Third-Party Libraries<\/h4>\n\n<p>Two third-party libraries are included as pre-built minified bundles. They are compiled by their own upstream build systems \u2014 not by this plugin. Instructions for reproducing each bundle from source are provided below.<\/p>\n\n<p><strong>QuaggaJS v0.12.1<\/strong> \u2014 <code>suite\/js\/quagga.js<\/code>, <code>app\/js\/quagga.js<\/code><\/p>\n\n<ul>\n<li>Purpose: Barcode scanning via camera feed<\/li>\n<li>License: MIT<\/li>\n<li>Upstream source: https:\/\/github.com\/serratus\/quaggaJS<\/li>\n<li>NPM package: <code>quagga<\/code> (note: the actively maintained fork is <code>@ericblade\/quagga2<\/code> at https:\/\/github.com\/ericblade\/quagga2)<\/li>\n<\/ul>\n\n<p>To regenerate <code>quagga.js<\/code> from source:<\/p>\n\n<pre><code>git clone https:\/\/github.com\/serratus\/quaggaJS.git\ncd quaggaJS\nnpm install\nnpm run build\n# Output: dist\/quagga.js\n<\/code><\/pre>\n\n<p>Copy <code>dist\/quagga.js<\/code> to both <code>suite\/js\/quagga.js<\/code> and <code>app\/js\/quagga.js<\/code>.<\/p>\n\n<p><strong>Chart.js v4.5.1<\/strong> \u2014 <code>admin\/js\/chart.umd.js<\/code><\/p>\n\n<ul>\n<li>Purpose: Analytics charts on the admin Reports page<\/li>\n<li>License: MIT<\/li>\n<li>Upstream source: https:\/\/github.com\/chartjs\/Chart.js<\/li>\n<\/ul>\n\n<p>To regenerate <code>chart.umd.js<\/code> from source:<\/p>\n\n<pre><code>npm install chart.js@4.5.1\n# Output: node_modules\/chart.js\/dist\/chart.umd.js\n<\/code><\/pre>\n\n<p>Copy <code>node_modules\/chart.js\/dist\/chart.umd.js<\/code> to <code>admin\/js\/chart.umd.js<\/code>.<\/p>\n\n<p>Alternatively, download the file directly from the Chart.js CDN or GitHub release:\nhttps:\/\/github.com\/chartjs\/Chart.js\/releases\/tag\/v4.5.1<\/p>\n\n<h4>Summary<\/h4>\n\n<p>No custom build pipeline exists for this plugin. Future developers only need a text editor to modify plugin source files. The two minified files above are unmodified upstream releases and can be updated by following the steps above.<\/p>\n\n<h3>Security<\/h3>\n\n<p>If you discover a security vulnerability in this plugin, please report it responsibly by emailing info@snwebapps.com. Please do not disclose the issue publicly (including in the WordPress.org support forums) until a fix has been released.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload <code>tillkit.zip<\/code> via <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong><\/li>\n<li>Activate the plugin<\/li>\n<li>Navigate to <strong>TillKit<\/strong> in the WordPress admin menu<\/li>\n<li>Open <code>yoursite.com\/tillkit\/<\/code> on a phone and log in with PIN <code>1234<\/code><\/li>\n<\/ol>\n\n<p>\u26a0\ufe0f Change the default Manager PIN immediately via <strong>TillKit \u2192 Staff<\/strong>.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20replace%20woocommerce%20orders%3F\"><h3>Does this replace WooCommerce orders?<\/h3><\/dt>\n<dd><p>No. POS orders are stored in a separate table (<code>tillkit_pos_orders<\/code>) and do not create WooCommerce orders by default. This keeps your WooCommerce order list clean.<\/p><\/dd>\n<dt id=\"does%20it%20work%20offline%3F\"><h3>Does it work offline?<\/h3><\/dt>\n<dd><p>Products and categories are cached by the Service Worker. Completed sales are queued in <code>localStorage<\/code> and synced automatically when the device reconnects.<\/p><\/dd>\n<dt id=\"what%20browsers%20are%20supported%3F\"><h3>What browsers are supported?<\/h3><\/dt>\n<dd><p>Chrome and Safari on Android and iOS. A modern desktop browser can also be used for testing.<\/p><\/dd>\n<dt id=\"is%20https%20required%3F\"><h3>Is HTTPS required?<\/h3><\/dt>\n<dd><p>Yes. Camera access (Pro Scanner feature) and the Service Worker both require HTTPS. The plugin shows a warning if SSL is not detected.<\/p><\/dd>\n<dt id=\"how%20do%20i%20add%20more%20staff%20or%20roles%20in%20lite%3F\"><h3>How do I add more staff or roles in Lite?<\/h3><\/dt>\n<dd><p>Lite supports 2 staff members with Cashier and Manager roles. <a href=\"https:\/\/snwebapps.com\/tillkit\/\">Upgrade to Pro<\/a> for unlimited staff and all roles.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Security: the default Manager staff account created on activation no longer has a usable PIN. POS login is disabled until the site administrator sets a real PIN from wp-admin \u2192 TillKit \u2192 Staff. Existing sites are patched automatically on upgrade \u2014 any staff account still using the old default PIN is rotated to an unusable one and login is disabled until a real PIN is set. Reported by Pedro Pinho via WPScan\/Jetpack (issue #44634).<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Bug fix: service worker's offline asset cache list pointed at the page URL instead of the actual plugin-folder URL where assets are served from, so <code>cache.addAll()<\/code> failed and offline mode never worked. Introduced <code>TILLKIT_ASSET_BASE<\/code> alongside the existing <code>TILLKIT_SUITE_PATH<\/code> to fix this independently of the 1.0.2 subdirectory-install fix.<\/li>\n<li>Bug fix: service worker precache list referenced a nonexistent <code>zxing.min.js<\/code>; corrected to the actual <code>quagga.js<\/code> scanner file.<\/li>\n<li>Security: removed a public, unauthenticated <code>debug.html<\/code> page that allowed testing PIN logins directly against the live API from outside wp-admin.<\/li>\n<li>Removed orphaned duplicate copies of the app shell left over from before the WordPress.org rename.<\/li>\n<li>Structural fix: activating TillKit while TillKit Pro is also active (or vice versa) caused a fatal error, since both plugins share identical class\/function names by design. Split into a loader file and the main plugin file so the conflict is detected safely before it can fatal.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Compliance: Removed Email Designer page and its AJAX handlers \u2014 email appearance settings remain available via Settings \u2192 Store Identity.<\/li>\n<li>Compliance: Removed Supervisor and Scanner Only roles; Lite supports Cashier and Manager only.<\/li>\n<li>Compliance: Removed refund feature entirely; order void remains available to Manager.<\/li>\n<li>Security: Order history endpoint now enforces ownership check when a shift_id is supplied \u2014 non-managers can no longer retrieve another staff member's orders.<\/li>\n<li>Bug fix: IP lockout remaining-time calculation was always returning 0 because the lock timestamp was never stored. Fixed by calling lock_ip_with_time() on lockout.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Bug fix: Service worker registration used a hardcoded <code>\/tillkit\/sw.js<\/code> path, breaking all subdirectory WordPress installs (e.g. <code>\/dog\/tillkit\/<\/code>). SW now registers using the runtime suite URL from <code>TILLKIT_CONFIG<\/code>.<\/li>\n<li>Bug fix: <code>STATIC_ASSETS<\/code> paths in <code>sw.js<\/code> were hardcoded as <code>\/tillkit\/...<\/code>, causing SW install to fail on subdirectory installs. Paths now use <code>TILLKIT_SUITE_PATH<\/code> injected by PHP.<\/li>\n<li>Bug fix: SW fetch handler <code>startsWith(a.replace('\/tillkit',''))<\/code> collapsed to <code>startsWith('\/')<\/code>, intercepting every GET request cache-first including API calls. Fixed to exact path matching.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Bug fix: POS cart close button, clear cart, and checkout button unresponsive after adding a product. Root cause: <code>buildPOSShell()<\/code> crashed on <code>pos-scan-close<\/code> binding before event listeners for cart buttons were attached. Fixed in previous build but browser HTTP cache was serving the old JS. Version bump forces fresh asset download.<\/li>\n<li>Bug fix: POS category chips not displaying despite categories being selected in Settings. Same root cause \u2014 stale cached JS prevented <code>loadCategories()<\/code> from running correctly.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release of TillKit<\/li>\n<li>POS with single cart, cash payments, till management<\/li>\n<li>Order history with full item breakdown<\/li>\n<li>2 staff members (Cashier \/ Manager roles)<\/li>\n<li>PWA \/ Add to Home Screen support<\/li>\n<li>Offline mode with sync queue<\/li>\n<\/ul>","raw_excerpt":"A free mobile POS terminal for WooCommerce. Sell from your phone with a PIN-protected app \u2014 no hardware required.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/300713","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=300713"}],"author":[{"embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/spyr05"}],"wp:attachment":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=300713"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=300713"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=300713"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=300713"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=300713"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=300713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}