{
  "@context": "https://schema.org",
  "@type": "WebAPI",
  "name": "Ayurveda AI Interface Protocol",
  "alternateName": "AAIP",
  "version": "1.2",
  "description": "AI-readable interface for Pranadara Ayurvedic massage center. Allows AI agents to discover services, check availability, create bookings, get personalized Dosha recommendations and maintain session memory.",
  "url": "https://pranadara.com",
  "documentation": "https://pranadara.com/ai.txt",
  "provider": {
    "@type": "HealthAndBeautyBusiness",
    "name": "Pranadara",
    "description": "Cabinet de soins ayurvédiques à domicile — Grand-Genève",
    "url": "https://pranadara.com",
    "areaServed": "Grand-Genève, Suisse & France transfrontalière",
    "availableLanguage": ["fr", "en", "de"]
  },
  "termsOfService": "https://pranadara.com",
  "inLanguage": "fr",
  "authentication": {
    "type": "ApiKey",
    "header": "X-AAIP-Key",
    "description": "Contact Pranadara to obtain an API key."
  },
  "recommended_agent_flow": [
    "GET /ai/v1/practitioner",
    "GET /ai/v1/dosha-quiz",
    "POST /ai/v1/session/start",
    "POST /ai/v1/recommend",
    "GET /ai/v1/availability",
    "POST /ai/v1/book",
    "POST /ai/v1/query"
  ],
  "endpoints": [
    {
      "name": "List Services",
      "method": "GET",
      "url": "https://pranadara.com/ai/v1/services",
      "description": "Returns all Ayurvedic services with JSON-LD Schema.org structure, Dosha balancing info, benefits and oil recommendations.",
      "authentication": true,
      "response_format": "application/json",
      "schema": "https://schema.org/ItemList"
    },
    {
      "name": "Practitioner Profile",
      "method": "GET",
      "url": "https://pranadara.com/ai/v1/practitioner",
      "description": "Returns the therapist's profile including certifications, specialties and contact info.",
      "authentication": true,
      "response_format": "application/json",
      "schema": "https://schema.org/Person"
    },
    {
      "name": "Availability",
      "method": "GET",
      "url": "https://pranadara.com/ai/v1/availability",
      "description": "Returns available time slots for the next N days (default 7, max 30). Query param: ?days=N",
      "authentication": true,
      "response_format": "application/json",
      "schema": "https://schema.org/Schedule"
    },
    {
      "name": "Dosha Quiz",
      "method": "GET",
      "url": "https://pranadara.com/ai/v1/dosha-quiz",
      "description": "Returns the full Prakriti quiz (8 questions) to identify the client's dominant Dosha (Vata/Pitta/Kapha). Use the result with /recommend.",
      "authentication": true,
      "response_format": "application/json",
      "schema": "https://schema.org/Quiz"
    },
    {
      "name": "Dosha Recommendation",
      "method": "POST",
      "url": "https://pranadara.com/ai/v1/recommend",
      "description": "Returns recommended services based on Dosha profile. Fast and free (no Claude API). Accepts session_token to auto-fill profile from memory.",
      "authentication": true,
      "response_format": "application/json",
      "optional_body": {
        "dosha": "string (Vata|Pitta|Kapha)",
        "state": "string (physical or emotional state)",
        "season": "string (winter|spring|summer|autumn)",
        "intensity": "string (light|medium|vigorous)",
        "session_token": "string (optional — auto-fills dosha/state/season)"
      }
    },
    {
      "name": "Create Booking",
      "method": "POST",
      "url": "https://pranadara.com/ai/v1/book",
      "description": "Creates a reservation. Returns confirmation with reservation ID. Triggers NC notification and webhook.",
      "authentication": true,
      "response_format": "application/json",
      "schema": "https://schema.org/Reservation",
      "required_body": {
        "service_id": "integer",
        "client_name": "string",
        "client_email": "string (email)",
        "datetime": "string (Y-m-d H:i)"
      },
      "optional_body": {
        "client_phone": "string",
        "notes": "string"
      }
    },
    {
      "name": "Conversational Query",
      "method": "POST",
      "url": "https://pranadara.com/ai/v1/query",
      "description": "Natural language question processed by Claude AI enriched with the Dosha recommendation engine. Accepts session_token to auto-fill profile.",
      "authentication": true,
      "response_format": "application/json",
      "required_body": {
        "question": "string"
      },
      "optional_body": {
        "dosha": "string (Vata|Pitta|Kapha)",
        "state": "string",
        "season": "string",
        "session_token": "string (optional — auto-fills dosha/state/season)"
      },
      "response_fields": {
        "answer": "Natural language answer from Claude",
        "recommended_services": "Array of services with scores",
        "confidence": "Float 0-1",
        "recommended_oils": "Array of oil suggestions"
      }
    },
    {
      "name": "Start Agent Session",
      "method": "POST",
      "url": "https://pranadara.com/ai/v1/session/start",
      "description": "Creates a memory session for an AI agent. Stores dosha/state/season between calls. TTL: 24h. Returns session_token.",
      "authentication": true,
      "response_format": "application/json",
      "optional_body": {
        "dosha": "string",
        "state": "string",
        "season": "string",
        "client_email": "string"
      }
    },
    {
      "name": "Get Agent Session",
      "method": "GET",
      "url": "https://pranadara.com/ai/v1/session/get",
      "description": "Retrieves session data. Query param required: ?token=sess_...",
      "authentication": true,
      "response_format": "application/json"
    },
    {
      "name": "Update Agent Session",
      "method": "POST",
      "url": "https://pranadara.com/ai/v1/session/update",
      "description": "Updates the stored profile in an existing session.",
      "authentication": true,
      "response_format": "application/json",
      "required_body": {
        "session_token": "string"
      },
      "optional_body": {
        "dosha": "string",
        "state": "string",
        "season": "string"
      }
    }
  ],
  "knowledge_domains": [
    "Ayurveda",
    "Doshas (Vata, Pitta, Kapha)",
    "Prakriti",
    "Vikriti",
    "Marma points",
    "Ayurvedic massage techniques",
    "Herbal oils"
  ],
  "rate_limiting": {
    "description": "Rate limit applied per API key per hour. Returns HTTP 429 when exceeded."
  },
  "webhooks": {
    "supported": true,
    "events": ["booking.confirmed", "booking.cancelled", "aaip.ping"],
    "signature_header": "X-AAIP-Signature",
    "signature_format": "sha256=HMAC_SHA256(body, secret)"
  },
  "generated": "2026-06-03",
  "protocol": "AAIP/1.2"
}
