{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "@context": [
    "https://schemas.meta-aiml.org/v3.0.0/context.jsonld"
  ],
  "@id": "https://schemas.meta-aiml.org/v3.0.0/components/capability_groups.json",
  "@type": [
    "Thing",
    "ComponentSchema"
  ],
  "schemaVersion": "3.0.0",
  "aimlVersion": "3.0.0",
  "title": "Capability Groups Definitions",
  "description": "Core capability groups for v3 entities",
  "type": "object",
  "$defs": {
    "BookingCapabilities": {
      "type": "object",
      "title": "Booking Capabilities",
      "description": "Reservation and scheduling functionality",
      "properties": {
        "features": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "reservation",
              "availabilityCheck",
              "scheduling",
              "calendarSync",
              "instantBooking",
              "waitlist",
              "cancellation",
              "reminder"
            ]
          }
        },
        "acceptsReservations": {
          "type": "boolean"
        },
        "requiresDeposit": {
          "type": "boolean"
        },
        "cancellationPolicy": {
          "type": "string",
          "enum": [
            "flexible",
            "moderate",
            "strict",
            "24_hours",
            "48_hours",
            "7_days",
            "non_refundable"
          ]
        },
        "minimumAdvanceBooking": {
          "type": "string"
        },
        "maximumAdvanceBooking": {
          "type": "string"
        },
        "realTimeFeatures": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "real_time_availability",
              "instant_confirmation",
              "auto_confirmation"
            ]
          }
        },
        "bookingChannels": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "examples": [
            "website",
            "mobile_app",
            "phone",
            "in_person"
          ]
        }
      }
    },
    "CommerceCapabilities": {
      "type": "object",
      "title": "Commerce Capabilities",
      "description": "Buying, selling, and transaction functionality",
      "properties": {
        "features": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "productCatalog",
              "cart",
              "checkout",
              "orderTracking",
              "inventory",
              "vendorManagement",
              "listingManagement",
              "pricing",
              "search",
              "filtering",
              "wishlists",
              "comparisons"
            ]
          }
        },
        "hasProductCatalog": {
          "type": "boolean"
        },
        "catalogSize": {
          "type": "integer",
          "minimum": 0
        },
        "supportsCart": {
          "type": "boolean"
        },
        "supportsCheckout": {
          "type": "boolean"
        },
        "hasOrderTracking": {
          "type": "boolean"
        },
        "recommendationEngine": {
          "type": "boolean"
        },
        "vendorManagement": {
          "type": "boolean",
          "description": "Can manage multiple vendors"
        },
        "searchCapability": {
          "type": "boolean"
        },
        "filteringOptions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "examples": [
            "price",
            "rating",
            "category",
            "availability",
            "brand"
          ]
        }
      }
    },
    "FinancialCapabilities": {
      "type": "object",
      "title": "Financial Capabilities",
      "description": "Payment processing and financial operations",
      "properties": {
        "features": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "payments",
              "invoicing",
              "refunds",
              "wallet",
              "billing",
              "subscriptionManagement",
              "currencyExchange",
              "escrow"
            ]
          }
        },
        "paymentMethods": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "examples": [
            "credit_card",
            "debit_card",
            "paypal",
            "bank_transfer",
            "digital_wallet",
            "cryptocurrency"
          ]
        },
        "acceptsCreditCards": {
          "type": "boolean"
        },
        "currencies": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^[A-Z]{3}$"
          }
        },
        "priceRange": {
          "type": "string"
        },
        "commissionModel": {
          "type": "string",
          "enum": [
            "percentage",
            "flat_fee",
            "hybrid",
            "fixed_price"
          ]
        },
        "commissionRate": {
          "type": "number",
          "minimum": 0,
          "maximum": 100
        },
        "supportsSubscriptions": {
          "type": "boolean"
        },
        "supportsInvoicing": {
          "type": "boolean"
        },
        "refundPolicy": {
          "type": "string",
          "enum": [
            "full_refund",
            "partial_refund",
            "no_refund",
            "store_credit"
          ]
        }
      }
    },
    "LocationCapabilities": {
      "type": "object",
      "title": "Location Capabilities",
      "description": "Physical location and geographic features",
      "properties": {
        "features": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "physicalAddress",
              "geoCoordinates",
              "directions",
              "mapIntegration",
              "proximitySearch",
              "realTimeTracking",
              "routing"
            ]
          }
        },
        "hasPhysicalAddress": {
          "type": "boolean"
        },
        "hasGeoCoordinates": {
          "type": "boolean"
        },
        "hasMultipleLocations": {
          "type": "boolean"
        },
        "hasParking": {
          "type": "boolean"
        },
        "parkingType": {
          "type": "string",
          "enum": [
            "free",
            "paid",
            "valet",
            "street",
            "garage"
          ]
        },
        "isWheelchairAccessible": {
          "type": "boolean"
        },
        "publicTransitAccess": {
          "type": "boolean"
        },
        "deliveryZones": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "serviceRadius": {
          "type": "number"
        }
      }
    },
    "ContentCapabilities": {
      "type": "object",
      "title": "Content Capabilities",
      "description": "Publishing, curation, and content management",
      "properties": {
        "features": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "publishing",
              "curation",
              "mediaHosting",
              "search",
              "categories",
              "tags",
              "archives",
              "rss"
            ]
          }
        },
        "contentTypes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "examples": [
            "article",
            "video",
            "image",
            "audio",
            "document",
            "podcast",
            "blog_post"
          ]
        },
        "contentFormats": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "examples": [
            "text",
            "html",
            "markdown",
            "pdf",
            "mp3",
            "mp4",
            "webp"
          ]
        },
        "contentAccess": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "public",
              "subscriber",
              "member",
              "premium",
              "restricted"
            ]
          }
        },
        "editorialControl": {
          "type": "boolean"
        },
        "userGeneratedContent": {
          "type": "boolean"
        },
        "mediaHosting": {
          "type": "boolean"
        },
        "searchPossible": {
          "type": "boolean"
        },
        "hasCategorization": {
          "type": "boolean"
        },
        "hasTagging": {
          "type": "boolean"
        },
        "archiveAccess": {
          "type": "boolean"
        },
        "rssFeeds": {
          "type": "boolean"
        }
      }
    },
    "InteractionCapabilities": {
      "type": "object",
      "title": "Interaction Capabilities",
      "description": "User-to-user and user-to-platform communication",
      "properties": {
        "features": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "messaging",
              "commenting",
              "rating",
              "reviews",
              "socialGraph",
              "feed",
              "notifications",
              "matching"
            ]
          }
        },
        "interactionMethods": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "examples": [
            "online_form",
            "phone_call",
            "email",
            "chat",
            "in_app_messaging"
          ]
        },
        "availableActions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "examples": [
            "view_menu",
            "make_reservation",
            "contact",
            "request_quote",
            "schedule_demo"
          ]
        },
        "hasMessaging": {
          "type": "boolean"
        },
        "hasComments": {
          "type": "boolean"
        },
        "hasRating": {
          "type": "boolean"
        },
        "hasReviews": {
          "type": "boolean"
        },
        "hasSocialGraph": {
          "type": "boolean"
        },
        "hasFeed": {
          "type": "boolean"
        },
        "hasNotifications": {
          "type": "boolean"
        },
        "hasMatching": {
          "type": "boolean"
        },
        "realTimeCommunication": {
          "type": "boolean"
        },
        "moderationEnabled": {
          "type": "boolean"
        },
        "privacyControls": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "public",
              "friends_only",
              "private",
              "anonymous",
              "semi_anonymous"
            ]
          }
        }
      }
    },
    "AmenitiesCapabilities": {
      "type": "object",
      "title": "Amenities Capabilities",
      "description": "Additional features and conveniences",
      "properties": {
        "features": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "wifi",
              "parking",
              "accessibility",
              "petFriendly",
              "outdoorSeating",
              "dietaryOptions",
              "childFriendly"
            ]
          }
        },
        "hasWifi": {
          "type": "boolean"
        },
        "wifiSpeed": {
          "type": "string",
          "enum": [
            "standard",
            "high_speed",
            "fiber"
          ]
        },
        "hasPowerOutlets": {
          "type": "boolean"
        },
        "hasOutdoorSeating": {
          "type": "boolean"
        },
        "hasVegetarianOptions": {
          "type": "boolean"
        },
        "hasVeganOptions": {
          "type": "boolean"
        },
        "hasGlutenFreeOptions": {
          "type": "boolean"
        },
        "petPolicy": {
          "type": "string",
          "enum": [
            "not_allowed",
            "allowed_outdoor",
            "allowed_indoor",
            "allowed_everywhere"
          ]
        },
        "isChildFriendly": {
          "type": "boolean"
        },
        "hasPlayArea": {
          "type": "boolean"
        },
        "hasHighchairs": {
          "type": "boolean"
        },
        "hasChangingFacilities": {
          "type": "boolean"
        },
        "isQuiet": {
          "type": "boolean"
        },
        "hasPrivateRooms": {
          "type": "boolean"
        }
      }
    },
    "CommunityCapabilities": {
      "type": "object",
      "title": "Community Capabilities",
      "description": "Group structures, membership, and collective spaces",
      "properties": {
        "features": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "groups",
              "channels",
              "communities",
              "discovery",
              "moderation",
              "membershipManagement",
              "groupEvents",
              "polls"
            ]
          }
        },
        "supportsGroups": {
          "type": "boolean"
        },
        "supportsChannels": {
          "type": "boolean"
        },
        "communitiesCount": {
          "type": "integer",
          "minimum": 0
        },
        "hasDiscovery": {
          "type": "boolean"
        },
        "hasModeration": {
          "type": "boolean"
        },
        "moderationModel": {
          "type": "string",
          "enum": [
            "community",
            "ai_assisted",
            "human",
            "ai_assisted_human"
          ]
        },
        "hasMembershipManagement": {
          "type": "boolean"
        },
        "membershipTypes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "supportsGroupEvents": {
          "type": "boolean"
        },
        "supportsPolls": {
          "type": "boolean"
        },
        "hasGovernance": {
          "type": "boolean"
        },
        "governanceModel": {
          "type": "string",
          "enum": [
            "centralized",
            "democratic",
            "council",
            "open"
          ]
        },
        "privacyLevels": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "public",
              "closed",
              "secret"
            ]
          }
        }
      }
    }
  },
  "validationMetadata": {
    "schemaVersion": "3.0.0",
    "phase": "phase_1",
    "status": "draft",
    "lastValidated": "2026-02-19",
    "validator": "META-AIML QA"
  },
  "$id": "https://schemas.meta-aiml.org/v3.0.0/components/capability_groups.json",
  "semanticAnnotations": {
    "componentPurpose": "capability_groups.json provides reusable definitions for META-AIML v3 schemas.",
    "interoperabilityNotes": "Definitions are intended for reuse through $ref across entity schemas."
  },
  "governanceMetadata": {
    "schemaVersion": "3.0.0",
    "stabilityLevel": "draft",
    "sdkValidationRules": [
      "RULE-COMP-001: $defs MUST be present and resolvable",
      "RULE-COMP-002: Component versions MUST match schemaVersion/aimlVersion"
    ]
  },
  "examples": [
    {
      "scenario": "Component usage example #1",
      "note": "Referenced by an entity schema via $ref."
    },
    {
      "scenario": "Component usage example #2",
      "note": "Demonstrates alternative valid composition."
    }
  ]
}
