Skip to main content
POST
https://api.rotavision.com
/
gati
/
demand
/
predict
forecast = client.gati.predict_demand(
    regions=[
        {"id": "koramangala", "pincode": "560034"},
        {"id": "indiranagar", "pincode": "560038"},
        {"id": "whitefield", "pincode": "560066"}
    ],
    period={
        "start": "2026-02-01",
        "end": "2026-02-07",
        "granularity": "hour"
    },
    factors={
        "weather": True,
        "events": True,
        "holidays": True
    }
)

for region in forecast.predictions:
    print(f"{region.id}: Peak demand at {region.peak_hour} ({region.peak_demand} orders)")
{
  "id": "forecast_xyz789",
  "period": {
    "start": "2026-02-01T00:00:00Z",
    "end": "2026-02-07T23:59:59Z"
  },
  "predictions": [
    {
      "region_id": "koramangala",
      "total_demand": 4250,
      "daily_average": 607,
      "peak_day": "2026-02-02",
      "peak_hour": "19:00",
      "peak_demand": 85,
      "hourly": [
        {"hour": "2026-02-01T00:00:00Z", "demand": 12, "confidence": 0.85},
        {"hour": "2026-02-01T01:00:00Z", "demand": 8, "confidence": 0.82}
      ],
      "factors": {
        "weekend_boost": 1.15,
        "weather_impact": 0.95,
        "event_impact": 1.0
      }
    },
    {
      "region_id": "indiranagar",
      "total_demand": 3890,
      "daily_average": 556,
      "peak_day": "2026-02-02",
      "peak_hour": "20:00",
      "peak_demand": 78
    },
    {
      "region_id": "whitefield",
      "total_demand": 2150,
      "daily_average": 307,
      "peak_day": "2026-02-01",
      "peak_hour": "18:00",
      "peak_demand": 52,
      "notes": ["IPL match on Feb 2 may increase demand by 25%"]
    }
  ],
  "created_at": "2026-02-01T10:30:00Z"
}

Request

regions
array
required
Regions to predict demand for.
period
object
required
Prediction period.
factors
object
Additional factors to consider.
forecast = client.gati.predict_demand(
    regions=[
        {"id": "koramangala", "pincode": "560034"},
        {"id": "indiranagar", "pincode": "560038"},
        {"id": "whitefield", "pincode": "560066"}
    ],
    period={
        "start": "2026-02-01",
        "end": "2026-02-07",
        "granularity": "hour"
    },
    factors={
        "weather": True,
        "events": True,
        "holidays": True
    }
)

for region in forecast.predictions:
    print(f"{region.id}: Peak demand at {region.peak_hour} ({region.peak_demand} orders)")
{
  "id": "forecast_xyz789",
  "period": {
    "start": "2026-02-01T00:00:00Z",
    "end": "2026-02-07T23:59:59Z"
  },
  "predictions": [
    {
      "region_id": "koramangala",
      "total_demand": 4250,
      "daily_average": 607,
      "peak_day": "2026-02-02",
      "peak_hour": "19:00",
      "peak_demand": 85,
      "hourly": [
        {"hour": "2026-02-01T00:00:00Z", "demand": 12, "confidence": 0.85},
        {"hour": "2026-02-01T01:00:00Z", "demand": 8, "confidence": 0.82}
      ],
      "factors": {
        "weekend_boost": 1.15,
        "weather_impact": 0.95,
        "event_impact": 1.0
      }
    },
    {
      "region_id": "indiranagar",
      "total_demand": 3890,
      "daily_average": 556,
      "peak_day": "2026-02-02",
      "peak_hour": "20:00",
      "peak_demand": 78
    },
    {
      "region_id": "whitefield",
      "total_demand": 2150,
      "daily_average": 307,
      "peak_day": "2026-02-01",
      "peak_hour": "18:00",
      "peak_demand": 52,
      "notes": ["IPL match on Feb 2 may increase demand by 25%"]
    }
  ],
  "created_at": "2026-02-01T10:30:00Z"
}