{
  "about": "Griddo WebHub pricing: figures and the rules needed to compute any combination locally. Generated from src/data/pricing.ts at build time — the same data the public license calculator runs on.",
  "rulesVersion": "d58f0172158a",
  "docs": "https://griddo.io/llms-pricing.md",
  "calculator": "https://griddo.io/en/pricing",
  "currency": {
    "default": "usd",
    "note": "Base figures are EUR. Multiply by rate for another currency.",
    "available": {
      "eur": {
        "code": "EUR",
        "symbol": "€",
        "rateFromEur": 1
      },
      "usd": {
        "code": "USD",
        "symbol": "$",
        "rateFromEur": 1.2
      }
    }
  },
  "planOrder": [
    "institute",
    "school",
    "college",
    "university"
  ],
  "plans": {
    "institute": {
      "basePricePerMonth": 1500,
      "sitesIncluded": 1,
      "estimatedPages": 1500,
      "additionalSitesAllowed": 2,
      "maxSitesBeforePromotion": 3
    },
    "school": {
      "basePricePerMonth": 2000,
      "sitesIncluded": 3,
      "estimatedPages": 3500,
      "additionalSitesAllowed": 3,
      "maxSitesBeforePromotion": 6
    },
    "college": {
      "basePricePerMonth": 3500,
      "sitesIncluded": 6,
      "estimatedPages": 12000,
      "additionalSitesAllowed": 3,
      "maxSitesBeforePromotion": 9
    },
    "university": {
      "basePricePerMonth": 5000,
      "sitesIncluded": 9,
      "estimatedPages": 12000,
      "additionalSitesAllowed": 100,
      "maxSitesBeforePromotion": null
    }
  },
  "additionalSites": {
    "bands": [
      {
        "upTo": 25,
        "pricePerSitePerMonth": 150
      },
      {
        "upTo": 50,
        "pricePerSitePerMonth": 100
      },
      {
        "upTo": 100,
        "pricePerSitePerMonth": 80
      }
    ],
    "appliesTo": "wholeQuantity",
    "appliesToNote": "The band price applies to every additional site, not marginally. Crossing a threshold can therefore lower the total.",
    "promotion": {
      "rule": "If sitesIncluded + additionalSites exceeds maxSitesBeforePromotion, the plan is promoted to the lowest plan whose maxSitesBeforePromotion covers the requested total, and additionalSites is recomputed as requestedTotal - sitesIncluded(newPlan)."
    }
  },
  "addons": {
    "griddoCloud": {
      "label": "Griddo Cloud (managed AWS)",
      "enabledByDefault": true,
      "pricePerMonth": {
        "institute": 1000,
        "school": 1250,
        "college": 1500,
        "university": 2500
      }
    },
    "conversion": {
      "label": "Conversion (Landing + Forms)",
      "enabledByDefault": false,
      "pricePerMonth": {
        "institute": 350,
        "school": 350,
        "college": 500,
        "university": 750
      }
    },
    "fileDrive": {
      "label": "File Drive",
      "enabledByDefault": false,
      "pricePerMonth": {
        "institute": 100,
        "school": 100,
        "college": 100,
        "university": 100
      }
    },
    "aiBooster": {
      "label": "AI Booster",
      "enabledByDefault": false,
      "pricePerMonth": {
        "institute": 200,
        "school": 400,
        "college": 600,
        "university": 800
      }
    },
    "genSearch": {
      "label": "Generative Search",
      "enabledByDefault": false,
      "pricePerMonth": {
        "institute": null,
        "school": 100,
        "college": 300,
        "university": 450
      }
    },
    "personalExp": {
      "label": "Personal Experience (GPX)",
      "enabledByDefault": false,
      "pricePerMonth": {
        "institute": null,
        "school": null,
        "college": 550,
        "university": 550
      }
    }
  },
  "addonsNote": "A null price means the add-on is not available on that plan.",
  "setupFee": {
    "amount": 7500,
    "oneTime": true,
    "waivedWhenAddon": "griddoCloud",
    "note": "The setup fee is waived when Griddo Cloud is contracted. Since Griddo Cloud is enabled by default, the default quote carries no setup fee."
  },
  "billingPeriods": {
    "monthly": {
      "monthsBilled": 1,
      "discount": 0
    },
    "quarterly": {
      "monthsBilled": 3,
      "discount": 0.03
    },
    "annual": {
      "monthsBilled": 12,
      "discount": 0.06
    },
    "biennial": {
      "monthsBilled": 24,
      "discount": 0.1
    }
  },
  "howToQuote": [
    "Resolve the plan: if sitesIncluded + additionalSites exceeds maxSitesBeforePromotion, apply additionalSites.promotion.rule.",
    "additionalSitesCost = additionalSites * (price of the first band whose upTo >= additionalSites).",
    "addonsCost = sum of addons[key].pricePerMonth[plan] for each selected add-on whose price is not null.",
    "subtotal = plans[plan].basePricePerMonth + addonsCost + additionalSitesCost.",
    "monthlyFee = subtotal - (subtotal * billingPeriods[period].discount).",
    "setupFee = griddoCloud selected ? 0 : setupFee.amount.",
    "totalForTheCommitment = monthlyFee * billingPeriods[period].monthsBilled + setupFee.",
    "For a currency other than EUR, multiply the result by currency.available[code].rateFromEur."
  ],
  "contractNotes": [
    "Minimum initial one-year commitment; month-to-month after that.",
    "One platform, one invoice — AI token consumption on third-party platforms is included.",
    "Plans can change at any time, applied in the next billing cycle.",
    "Prices subject to annual review."
  ]
}