Skip to main content
Challenge

Build a Decentralized Kirana Order Routing and Inventory Allocation Mesh

Aggregate hyperlocal grocery stock availability across independent small neighborhood merchants using Beckn protocol schemas. Allocate incoming consumer basket line items across multiple proximate shops to minimize fulfillment delays.

Workflow AutomationHosted by Vera
Challenge brief

What you are building

The core problem, expected build, and operating context for this challenge.

Aggregate hyperlocal grocery stock availability across independent small neighborhood merchants using Beckn protocol schemas. Allocate incoming consumer basket line items across multiple proximate shops to minimize fulfillment delays.

Hyperlocal commerce network operator

Ingest real-time stock updates from mock Kirana shop point-of-sale feeds formatted as Beckn item catalogs.

Parse multi-item buyer shopping carts submitted through mock Beckn buyer applications.

Execute split-order optimization to partition items across nearby shops with verifiable in-stock quantities.

Generate synchronized on_select quote packets and pickup routing plans for local couriers.

Hyperlocal fulfillment monitor displaying consumer carts, store availability heatmaps, and route splits.

Generate synthetic Kirana store inventories across a 5km urban radius and mock buyer cart payloads. Starter examples below are synthetic. They are not downloaded records.

Beckn protocol specifications Adopts Beckn protocol ordering stage specifications (select, on_select, init, confirm) for multi-merchant split carts.

crewai, pydantic, fastapi. CrewAI facilitates specialized agent roles for merchant stock evaluation, route distance estimation, and quote reconciliation. Hosted Claude or local instruction model capable of multi-agent tool execution and deterministic JSON outputs.

Submit runnable source, pinned dependencies, setup commands, a working interface, example outputs, and a recorded end-to-end demo. Include tests and an action log.

Partitions multi-item basket into minimum number of merchant pickup stops.

Generates valid Beckn on_select quote responses containing item breakdowns and tax line items.

Handles stockouts by re-routing specific line items to secondary shops within a 2km radius.

```json [ { "input": { "buyer_location": { "lat": 12.9716, "lng": 77.5946 }, "cart": [ { "item_id": "atta_10kg", "quantity": 1 }, { "item_id": "mustard_oil_1l", "quantity": 2 } ], "nearby_stores": [ { "store_id": "kirana_1", "distance_km": 0.8, "inventory": { "atta_10kg": 5, "mustard_oil_1l": 0 } }, { "store_id": "kirana_2", "distance_km": 1.2, "inventory": { "atta_10kg": 0, "mustard_oil_1l": 10 } } ] }, "expected_output": { "routing_status": "SPLIT_FULFILLMENT", "allocated_routes": [ { "store_id": "kirana_1", "items": [ { "item_id": "atta_10kg", "quantity": 1 } ] }, { "store_id": "kirana_2", "items": [ { "item_id": "mustard_oil_1l", "quantity": 2 } ] } ], "total_pickup_stops": 2, "unfulfilled_items": [] } }, { "input": { "buyer_location": { "lat": 12.9716, "lng": 77.5946 }, "cart": [ { "item_id": "spices_turmeric_500g", "quantity": 3 } ], "nearby_stores": [ { "store_id": "kirana_3", "distance_km": 1.5, "inventory": { "spices_turmeric_500g": 1 } } ] }, "expected_output": { "routing_status": "PARTIAL_UNFULFILLED", "allocated_routes": [ { "store_id": "kirana_3", "items": [ { "item_id": "spices_turmeric_500g", "quantity": 1 } ] } ], "total_pickup_stops": 1, "unfulfilled_items": [ { "item_id": "spices_turmeric_500g", "shortage_quantity": 2 } ] } } ] ```

Demonstration environment only; no actual monetary debits, delivery dispatch, or retailer commitments occur. Use mock external writes. Require human review before any real deployment.

Rules

Participation guide

Demonstration environment only; no actual monetary debits, delivery dispatch, or retailer commitments occur. Use mock external writes and human review.

Delivery guide

How work is evaluated

Evaluation

Partitions multi-item basket into minimum number of merchant pickup stops. Generates valid Beckn on_select quote responses containing item breakdowns and tax line items. Handles stockouts by re-routing specific line items to secondary shops within a 2km radius.

Submission format

Runnable source, pinned dependencies, setup commands, working interface, example outputs, recorded demo, tests, and action logs.

Datasets

Challenge datasets

Public datasets, plus the private datasets you have access to.

Evaluation rubric

How submissions are scored

These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.

Dimensions
4 scoring checks
Binary
1 pass or fail dimensions
Ordinal
3 scaled dimensions
Dimension 1

Complete workflow

Ingest real-time stock updates from mock Kirana shop point-of-sale feeds formatted as Beckn item catalogs. Parse multi-item buyer shopping carts submitted through mock Beckn buyer applications. Execute split-order optimization to partition items across nearby shops with verifiable in-stock quantities. Generate synchronized on_select quote packets and pickup routing plans for local couriers.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 2

Correctness and evidence

Partitions multi-item basket into minimum number of merchant pickup stops. Generates valid Beckn on_select quote responses containing item breakdowns and tax line items. Handles stockouts by re-routing specific line items to secondary shops within a 2km radius.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 3

Review interface

Hyperlocal fulfillment monitor displaying consumer carts, store availability heatmaps, and route splits.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 4

Safe execution

Demonstration environment only; no actual monetary debits, delivery dispatch, or retailer commitments occur.

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Learning goals

What you should walk away with

  • Ingest real-time stock updates from mock Kirana shop point-of-sale feeds formatted as Beckn item catalogs.

  • Parse multi-item buyer shopping carts submitted through mock Beckn buyer applications.

  • Execute split-order optimization to partition items across nearby shops with verifiable in-stock quantities.

  • Generate synchronized on_select quote packets and pickup routing plans for local couriers.

Resources and assets

Reference links and supporting material

Dataset notes

Generate synthetic Kirana store inventories across a 5km urban radius and mock buyer cart payloads. Supplied starter examples are synthetic, not source extracts.

Challenge setup

Configuration summary for this challenge.

Challenge input

Input details are not configured.

crewAI

Multi-agent orchestration framework

Evaluated output

No output checks are configured.

Evaluation checks
  • Ingest real-time stock updates from mock Kirana shop point-of-sale feeds formatted as Beckn item catalogs....
  • Partitions multi-item basket into minimum number of merchant pickup stops. Generates valid Beckn on_select...
  • Hyperlocal fulfillment monitor displaying consumer carts, store availability heatmaps, and route splits.
Configured evaluation evidence
  • 2 public reference cases
Configured runtime
  • 1 configured tool

Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.

View technical recipe

Configured tools

Action Space
  • crewAI · Optional

Evaluation contract

  • Complete workflow · Weight 40
  • Correctness and evidence · Weight 30
  • Review interface · Weight 20
  • Safe execution · Weight 10

Reference cases

  • 2 public reference cases

Workflow tasks

No workflow tasks are configured.

Recipe freeze marker

No recipe freeze time is recorded.

Frequently Asked Questions about Build a Decentralized Kirana Order Routing and Inventory Allocation Mesh