Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.
Mobile

Offline Order Booking and Route Planner for Field Sales Reps

A final year project that builds a mobile app for FMCG and pharma field sales reps who visit 30 or more shops a day: an offline day plan, a suggested visit order, order booking against stock and credit limits, and sync when signal returns. Aimed at small distributors who cannot afford enterprise tools.

Difficulty

Intermediate

A small team, or one strong student willing to learn something new.
Effort

2 semesters · 3 students

Deliverables

7 to ship

3 optional extras

Suggested stack

FlutterDrift (SQLite)OpenStreetMap + flutter_mapNode.js or Django REST APIPostgreSQL + PostGISBackground sync queue
A suggestion, not a requirement. Swap anything for what you already know.

What you should ship

  • Rep app that downloads the day plan, shop list, price list and stock snapshot, then works fully offline for a whole day
  • Visit ordering that suggests a sensible route through the day using a nearest-neighbour plus 2-opt heuristic on the device
  • Order booking with price, scheme discounts, available stock and customer credit limit checks, all enforced offline
  • Outbox-based sync with idempotency keys so a retried upload never creates a duplicate order
  • Distributor web page listing orders, visits, missed shops and a simple map of the day
  • Route quality comparison against the rep order and against an exact solver on small instances
  • Pilot with at least one real distributor or a realistic simulation of 3 reps over 5 days

If you have time left

  • Time windows per shop (closed after 1pm, Friday closed) in the route heuristic
  • Stock reservation across reps so two reps cannot sell the last cartons twice
  • Van sales mode where the rep delivers and invoices on the spot

The problem small distributors have with order booking

A regional distributor of biscuits, soap or medicines employs order bookers who walk or ride through markets, visit each shop, take an order and move on. Many still write orders in a book, phone them in at the end of the day, or type them into a WhatsApp message that someone re-keys. Orders get lost, prices are wrong, a scheme discount is forgotten, and a shop that already owes too much gets more goods on credit.

The visit order is also left to habit. A rep may cross the same main road four times a day. Signal in basements, wholesale lanes and small towns is patchy, so an app that needs a connection to book an order fails at the exact moment it is needed.

What already exists and the gap

  • Salesflo: a large Pakistani distribution management platform with order booking, route plans and offline support; priced and sold for large principals.
  • FieldAssist and Rapidor: Indian sales force automation tools with similar scope for brands and big distributors.
  • Circuit and Routific: route optimisation apps for delivery drivers; they plan stops but do not book orders or enforce credit.

The gap is the small distributor with 3 to 15 reps who needs order booking and a sensible route together, working offline all day, at a price they can pay without an enterprise sales cycle.

What you build

  • Rep app: morning download, day plan with suggested order, shop card with outstanding balance, order entry, visit outcome (ordered, closed, no order and why), end of day sync.
  • Distributor view: a small web page with orders, visits, missed shops and a map.
  • Server: shops, products, price lists, schemes, credit limits and a sync API.

Flows: plan, visit, book, sync, review.

The technically interesting part

Two problems make this more than CRUD.

Offline correctness. The rep books orders against a stock and credit snapshot taken in the morning. Every order goes into a local outbox with a client-generated idempotency key, and the server accepts each key once, the same pattern Stripe describes for safe retries. You must decide what happens when two reps sell the last stock: reject, back-order or allow and flag. Write the rule down and test it.

Routing on the phone. Visiting 30 to 40 shops is a travelling salesman problem. An exact solver is too slow on a low-end phone, so implement a nearest-neighbour start improved by 2-opt, using straight-line or cached road distances. Show evaluators how close it gets to an exact answer on small instances and how long it takes on a cheap device.

How to evaluate it

  • Route length of the heuristic versus the rep's habitual order and versus an exact solver on instances of up to 12 shops.
  • Heuristic run time for 40 shops on a phone with 2 to 3 GB RAM.
  • Sync correctness: inject network drops and duplicate uploads in 100 simulated sessions and show zero duplicate or lost orders.
  • Time to book an order compared with the paper or WhatsApp process, with real reps if possible.

Suggested plan

  1. Weeks 1 to 3: interview a distributor, collect a real product list, schemes and credit rules.
  2. Weeks 4 to 8: server schema, morning download, offline shop list and order entry.
  3. Weeks 9 to 14: outbox sync with idempotency, conflict rules, first tests.
  4. Semester 2, weeks 1 to 5: route heuristic, map screen, benchmark.
  5. Weeks 6 to 10: distributor view and pilot.
  6. Weeks 11 to 14: evaluation and write-up.

Path to a product

Sell per rep per month to small distributors, starting with one you already know. A distributor will pay if the app cuts order errors and shows missed shops. Later, principals (the brands) may pay for visibility across many small distributors, which is how the larger platforms grew.

Scope warning

Do not build a full ERP, accounting or warehouse system. Do not implement turn-by-turn navigation; hand off to a maps app. Do not attempt a general vehicle routing solver with many vehicles.

Learn what you need on Sefism

Get help with this idea

The sync rules and the route benchmark are what examiners will probe. A mentor can help you cut the scope to what your team can finish, choose between the stack options above, and design an evaluation your examiners will respect. You still build it; the help is on decisions, not code.

New here? Create a free account first.

Ideas and guidance, not finished projects

These are project ideas and scoping guidance, published free for students to use as a starting point. I do not build, write, or sell final-year projects, and I do not complete coursework for anyone. Take an idea, make it yours, and build it.

Not sure this one fits you?

I help students pick an idea that matches their skills and their deadline, then scope it down until it is finishable. Guidance only, never done for you.

Discuss this idea
Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.