website_project_estimate

Produce a deterministic website project estimate with cost, timeline, hours, effort breakdown, maintenance range, assumptions and risk flags. It is an estimate, not a fixed quotation.

When to use

Use when an agent needs a transparent cost and delivery estimate for building or remediating a website.

Selection guidance

Role: supporting. transparent website build or remediation estimates; scope, timeline and effort planning

Not for: measuring live website defects; a fixed quotation; company due diligence

Use cases

Access

Price: $0.25 USD per call. Payment options are deployment-configured; inspect /api/v1/payment-methods. Prices and payment semantics are unchanged from the canonical registry.

Related tools

Example input

{
  "projectType": "corporate_website",
  "pages": 12,
  "languages": [
    "en",
    "ar"
  ],
  "features": [
    "contact_form",
    "cms",
    "blog",
    "seo",
    "analytics"
  ],
  "designComplexity": "custom",
  "integrations": [
    "crm"
  ],
  "ecommerce": false,
  "deadlineDays": 30,
  "market": "Oman",
  "currency": "OMR"
}

Example output

{
  "estimatedCost": {
    "min": 1500,
    "max": 2500,
    "currency": "OMR"
  },
  "estimatedTimelineDays": {
    "min": 25,
    "max": 45
  },
  "estimatedHours": {
    "min": 100,
    "max": 170
  },
  "complexity": "high",
  "breakdown": {
    "uiUx": {
      "min": 30,
      "max": 42
    },
    "frontend": {
      "min": 35,
      "max": 55
    },
    "backend": {
      "min": 30,
      "max": 50
    },
    "contentAndSeo": {
      "min": 12,
      "max": 20
    },
    "testing": {
      "min": 18,
      "max": 28
    },
    "deployment": {
      "min": 8,
      "max": 12
    },
    "projectManagement": {
      "min": 16,
      "max": 24
    }
  },
  "maintenance": {
    "available": true,
    "monthlyHours": {
      "min": 6,
      "max": 16
    },
    "monthlyCost": {
      "min": 170,
      "max": 450,
      "currency": "OMR"
    }
  },
  "riskFlags": [
    "MULTILINGUAL_SCOPE",
    "ARABIC_RTL_SCOPE",
    "THIRD_PARTY_INTEGRATIONS",
    "DEADLINE_PRESSURE"
  ],
  "assumptions": [
    "Estimate is deterministic and based on the documented v1 effort weights; it is not a fixed quotation.",
    "Client supplies or approves copy, imagery and third-party credentials unless content_entry is requested.",
    "Taxes, hosting, domain fees and third-party licence charges are excluded."
  ],
  "confidenceScore": 0.7,
  "methodology": {
    "version": "website-estimate-v1",
    "hourlyRate": 10.78,
    "currency": "OMR",
    "factors": [
      "page count",
      "project type",
      "design complexity",
      "feature weights",
      "integration count",
      "language/RTL scope",
      "deadline pressure",
      "market hourly-rate profile"
    ]
  }
}

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "projectType": {
      "type": "string",
      "enum": [
        "landing_page",
        "corporate_website",
        "portfolio",
        "ecommerce",
        "marketplace",
        "booking_platform",
        "membership_website",
        "web_application",
        "custom_website"
      ]
    },
    "pages": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "languages": {
      "minItems": 1,
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 20
      }
    },
    "features": {
      "default": [],
      "maxItems": 40,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 40
      }
    },
    "designComplexity": {
      "default": "standard",
      "type": "string",
      "enum": [
        "template",
        "standard",
        "custom",
        "highly_custom"
      ]
    },
    "integrations": {
      "default": [],
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 60
      }
    },
    "ecommerce": {
      "default": false,
      "type": "boolean"
    },
    "deadlineDays": {
      "type": "integer",
      "minimum": 1,
      "maximum": 730
    },
    "market": {
      "default": "global",
      "type": "string",
      "minLength": 1,
      "maxLength": 60
    },
    "currency": {
      "default": "USD",
      "type": "string",
      "minLength": 1,
      "maxLength": 3
    }
  },
  "required": [
    "projectType",
    "pages",
    "languages",
    "features",
    "designComplexity",
    "integrations",
    "ecommerce",
    "market",
    "currency"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "estimatedCost": {
      "type": "object",
      "properties": {
        "min": {
          "type": "number",
          "minimum": 0
        },
        "max": {
          "type": "number",
          "minimum": 0
        },
        "currency": {
          "type": "string"
        }
      },
      "required": [
        "min",
        "max",
        "currency"
      ],
      "additionalProperties": false
    },
    "estimatedTimelineDays": {
      "type": "object",
      "properties": {
        "min": {
          "type": "number",
          "minimum": 0
        },
        "max": {
          "type": "number",
          "minimum": 0
        }
      },
      "required": [
        "min",
        "max"
      ],
      "additionalProperties": false
    },
    "estimatedHours": {
      "type": "object",
      "properties": {
        "min": {
          "type": "number",
          "minimum": 0
        },
        "max": {
          "type": "number",
          "minimum": 0
        }
      },
      "required": [
        "min",
        "max"
      ],
      "additionalProperties": false
    },
    "complexity": {
      "type": "string",
      "enum": [
        "low",
        "medium",
        "high",
        "very_high"
      ]
    },
    "breakdown": {
      "type": "object",
      "properties": {
        "uiUx": {
          "type": "object",
          "properties": {
            "min": {
              "type": "number",
              "minimum": 0
            },
            "max": {
              "type": "number",
              "minimum": 0
            }
          },
          "required": [
            "min",
            "max"
          ],
          "additionalProperties": false
        },
        "frontend": {
          "type": "object",
          "properties": {
            "min": {
              "type": "number",
              "minimum": 0
            },
            "max": {
              "type": "number",
              "minimum": 0
            }
          },
          "required": [
            "min",
            "max"
          ],
          "additionalProperties": false
        },
        "backend": {
          "type": "object",
          "properties": {
            "min": {
              "type": "number",
              "minimum": 0
            },
            "max": {
              "type": "number",
              "minimum": 0
            }
          },
          "required": [
            "min",
            "max"
          ],
          "additionalProperties": false
        },
        "contentAndSeo": {
          "type": "object",
          "properties": {
            "min": {
              "type": "number",
              "minimum": 0
            },
            "max": {
              "type": "number",
              "minimum": 0
            }
          },
          "required": [
            "min",
            "max"
          ],
          "additionalProperties": false
        },
        "testing": {
          "type": "object",
          "properties": {
            "min": {
              "type": "number",
              "minimum": 0
            },
            "max": {
              "type": "number",
              "minimum": 0
            }
          },
          "required": [
            "min",
            "max"
          ],
          "additionalProperties": false
        },
        "deployment": {
          "type": "object",
          "properties": {
            "min": {
              "type": "number",
              "minimum": 0
            },
            "max": {
              "type": "number",
              "minimum": 0
            }
          },
          "required": [
            "min",
            "max"
          ],
          "additionalProperties": false
        },
        "projectManagement": {
          "type": "object",
          "properties": {
            "min": {
              "type": "number",
              "minimum": 0
            },
            "max": {
              "type": "number",
              "minimum": 0
            }
          },
          "required": [
            "min",
            "max"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "uiUx",
        "frontend",
        "backend",
        "contentAndSeo",
        "testing",
        "deployment",
        "projectManagement"
      ],
      "additionalProperties": false
    },
    "maintenance": {
      "type": "object",
      "properties": {
        "available": {
          "type": "boolean"
        },
        "monthlyHours": {
          "type": "object",
          "properties": {
            "min": {
              "type": "number",
              "minimum": 0
            },
            "max": {
              "type": "number",
              "minimum": 0
            }
          },
          "required": [
            "min",
            "max"
          ],
          "additionalProperties": false
        },
        "monthlyCost": {
          "type": "object",
          "properties": {
            "min": {
              "type": "number",
              "minimum": 0
            },
            "max": {
              "type": "number",
              "minimum": 0
            },
            "currency": {
              "type": "string"
            }
          },
          "required": [
            "min",
            "max",
            "currency"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "available",
        "monthlyHours",
        "monthlyCost"
      ],
      "additionalProperties": false
    },
    "riskFlags": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "assumptions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "confidenceScore": {
      "type": "number",
      "minimum": 0,
      "maximum": 1
    },
    "methodology": {
      "type": "object",
      "properties": {
        "version": {
          "type": "string"
        },
        "hourlyRate": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "currency": {
          "type": "string"
        },
        "factors": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "version",
        "hourlyRate",
        "currency",
        "factors"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "estimatedCost",
    "estimatedTimelineDays",
    "estimatedHours",
    "complexity",
    "breakdown",
    "maintenance",
    "riskFlags",
    "assumptions",
    "confidenceScore",
    "methodology"
  ],
  "additionalProperties": false
}

Category: Website Intelligence · hierarchy: supporting · idempotent: yes · side effects: no