{
  "name": "Event Espresso 4 Ticket Categories",
  "slug": "eea-ticket-categories",
  "version": "0.2.1",
  "download_url": "https://gitea.mulligan.casa/ee-extensions/foh-updates/raw/branch/main/eea-ticket-categories/eea-ticket-categories-0.2.1.zip",
  "homepage": "https://gitea.mulligan.casa/ee-extensions/eea-ticket-categories",
  "requires": "6.4",
  "tested": "7.0",
  "requires_php": "8.1",
  "last_updated": "2026-06-23 19:59:19",
  "icons": {
    "1x": "https://gitea.mulligan.casa/ee-extensions/foh-updates/raw/branch/main/eea-ticket-categories/icon-128x128.png",
    "2x": "https://gitea.mulligan.casa/ee-extensions/foh-updates/raw/branch/main/eea-ticket-categories/icon-256x256.png"
  },
  "author": "Mike Mulligan",
  "author_homepage": "https://gitea.mulligan.casa/mmulligan",
  "tags": [
    "event espresso",
    "tickets",
    "categories",
    "point of sale",
    "front of house"
  ],
  "sections": {
    "description": "<p>Ticket Categories gives Event Espresso tickets a first-class <strong>category</strong> and uses it to organize the point-of-sale grid. Define a managed vocabulary of categories (key, label, sort order), assign one to each ticket from the ticket editor, and the Front of House Sell screen groups its tickets into tabs by category in the order you choose.</p>\n<p><strong>What it does:</strong></p>\n<ul>\n<li><strong>Managed vocabulary.</strong> A single admin page under <strong>Event Espresso → Ticket Categories</strong> defines the categories: a stable key, a display label, and a sort value that sets the tab order. The \"Other\" tab (for tickets with no category) always appears last.</li>\n<li><strong>Per-ticket assignment.</strong> A category dropdown in the classic ticket editor, populated from the vocabulary, stores the category as Event Espresso extra meta — no schema change, no table alteration.</li>\n<li><strong>Sell-grid tabs.</strong> When Front of House for Event Espresso is active, the catalog is grouped into one tab per in-use category, in vocabulary sort order, with \"Other\" last. Tickets land in the tab for their assigned category.</li>\n<li><strong>Per-profile allow-lists.</strong> Each Front of House profile can be limited to a set of categories, so a station only sees and sells the tickets relevant to it. No restriction = all categories allowed.</li>\n</ul>\n<p><strong>Standalone, with an optional integration.</strong> Ticket Categories works on a plain Event Espresso install: the vocabulary and per-ticket assignment are managed entirely from wp-admin. The Sell-grid grouping and per-profile allow-lists activate automatically when Front of House for Event Espresso is present, and are inert when it is absent.</p>\n<p>For full documentation, including the integration contract, see <code>README.md</code> included with the plugin.</p>",
    "installation": "<ol>\n<li>Install and activate Event Espresso.</li>\n<li>Upload this plugin to <code>wp-content/plugins/</code> and activate it.</li>\n<li>Define your categories under <strong>Event Espresso → Ticket Categories</strong>.</li>\n<li>Assign a category to each ticket in the ticket editor.</li>\n<li>(Optional) If you use Front of House for Event Espresso, the Sell grid groups into tabs by category automatically, and each profile can be limited to a set of categories.</li>\n</ol>",
    "faq": "<p><strong>Does this require Front of House for Event Espresso?</strong></p>\n<p>No. It is standalone on Event Espresso: you can define categories and assign them to tickets from wp-admin. Front of House is an optional consumer that turns the assigned categories into Sell-grid tabs and per-profile allow-lists.</p>\n<p><strong>Where is a ticket's category stored?</strong></p>\n<p>In Event Espresso's own extra-meta table, under the key <code>_tc_category</code>, holding the category's slug. No table is altered and no model field is registered.</p>\n<p><strong>What happens to tickets I never categorized?</strong></p>\n<p>They fall into an \"Other\" tab, which is always pushed to the end of the tab list.</p>",
    "changelog": "<p><strong>0.2.1</strong><br />\n* Migrate to the shared release pipeline; richer View-details modal (readme.txt sections, tags). No functional change.</p>\n<p><strong>0.2.0</strong><br />\n* Added a color-coded plugin icon (delivered through the update channel) and declared WordPress 7.0 compatibility. No functional change.</p>\n<p><strong>0.1.1</strong><br />\n* Updates are now handled by the Manifest Updater plugin (via the standard \"Update URI\" header) instead of a bundled updater. No functional change.</p>\n<p><strong>0.1.0</strong><br />\n* Initial release: managed category vocabulary, classic ticket-editor category dropdown stored as extra meta, Front of House Sell-grid grouping into category tabs (sorted, \"Other\" last), and per-profile category allow-lists.</p>"
  }
}
