← Files 1club AdminARCHIVED FILE

plugin.json

5.46 KB · Nov 3, 2026 · 19:21 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "1club-admin",
  "version": "0.1.6",
  "description": "Run your club's schedule, bookings, members, catalogue and website from your 1club account.",
  "author": {
    "name": "1club",
    "url": "https://1club.ai"
  },
  "homepage": "https://1club.ai",
  "keywords": [
    "club",
    "gym",
    "bookings",
    "scheduling",
    "website"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "1club Admin",
        "shortDescription": "Run your club from ChatGPT",
        "longDescription": "1club Admin lets the owners and staff of sports clubs, gyms and studios that run on 1club manage their business from ChatGPT. Review the class schedule and rosters, find a member's bookings and remaining sessions, book courts and classes, record attendance, keep memberships and the product catalogue up to date, and edit your website as a draft you preview before publishing. Sign in with your 1club account and choose which business to connect; you decide which kinds of access to grant, and every action is limited to that business and to the access you granted.",
        "developerName": "1club",
        "category": "Business & Operations",
        "capabilities": [
          "Read",
          "Write"
        ],
        "websiteURL": "https://1club.ai",
        "supportURL": "https://1club.ai/contact",
        "privacyPolicyURL": "https://1club.ai/privacy",
        "termsOfServiceURL": "https://1club.ai/terms",
        "defaultPrompt": [
          "Which classes are on this week, and how full are they?",
          "Find Alex's upcoming bookings and sessions left on their membership.",
          "Change the homepage headline and show me a preview."
        ],
        "composerIcon": "./assets/icon.png",
        "logo": "./assets/icon.png"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Weekly schedule with capacity",
              "prompt": "Which classes are on this week, and how full is each one?",
              "tools_triggered": "list_classes",
              "expected_behavior": "Lists this week's class occurrences in the club's timezone with booked places against capacity, paging through results rather than stopping at the first page."
            },
            {
              "description": "Class roster and remaining places",
              "prompt": "Who is booked into the next Juniors - U16 class, and how many places are left?",
              "tools_triggered": "list_classes, list_class_bookings",
              "expected_behavior": "Finds the next upcoming Juniors - U16 occurrence, lists each booked attendee with their booking status, and reports the places left against its capacity."
            },
            {
              "description": "A member's bookings and remaining sessions",
              "prompt": "Find Alex's upcoming bookings and how many sessions are left on their membership.",
              "tools_triggered": "search_contacts, list_bookings, list_memberships",
              "expected_behavior": "Resolves the member (asking which Alex if several match), then reports their upcoming bookings and the sessions remaining on each active membership."
            },
            {
              "description": "Schedule a class",
              "prompt": "Schedule a 60 minute Junior Tennis class next Tuesday at 18:00 on Tennis Court 1.",
              "tools_triggered": "list_clubs, list_class_types, list_areas, create_class",
              "expected_behavior": "Resolves the club, the Junior Tennis class type and Tennis Court 1, creates one 60 minute occurrence at 18:00 club time next Tuesday, and reports the class it created."
            },
            {
              "description": "Edit the website as a draft",
              "prompt": "Change the homepage headline to 'Train with us' and show me a preview.",
              "tools_triggered": "get_website, get_website_section_types, update_website_section",
              "expected_behavior": "Edits the headline in the draft, returns the preview link, and does not publish the site because the user did not ask to."
            }
          ],
          "negative": [
            {
              "description": "General coaching advice needs no club data, so ChatGPT answers it without calling 1club Admin.",
              "prompt": "What's a good 20-minute warm-up for a junior tennis class?"
            },
            {
              "description": "Booking a court as a player at another venue is not club administration, so 1club Admin should not be called.",
              "prompt": "Find me a padel court I can book in Madrid this weekend."
            },
            {
              "description": "General tax advice needs no club data, so ChatGPT answers it without calling 1club Admin.",
              "prompt": "How do I work out the VAT on a gym membership price in Spain?"
            }
          ]
        },
        "demo_recording_url": "https://www.loom.com/share/5477cd0386bc4236aa138ec8cac1aef4",
        "commerce": false,
        "commerce_description": "Nothing is bought, sold or paid through ChatGPT. Staff can record a payment the club already collected elsewhere, or a refund of one, as a bookkeeping entry; no card is charged and no money moves."
      },
      "publication": {
        "release_notes": "First release: schedule, bookings, members, memberships, catalogue and website tools for 1club staff."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 398d836122780a082bc9574321a36a62ad84a0583898bcdeb79c5ab11bb2981a