a. Task queues based on first-in-first-out to be maintained at a team level
b. If there are multiple unassigned tasks in the queue until the earliest created task is assigned, the queue wouldn’t move forward (next task won’t be assigned)
c. For the first task on the queue, we can run batch wise algorithm already in the system
d. This would mean if the earliest task remains unattended, other later tasks will all remain unassigned
2. The criteria for clubbing the tasks:
a. Both tasks should have the same pickup location
b. Both tasks should have similar drop location (distance parameter to be defined and can be flexible)
c. Order threshold time (Once the order is received, only after a defined time period, the tasks is available for clubbing)
d. Clubbing Preference (If 2 tasks (say T3 & T4) can be grouped with a task (say T1) , the older of the two tasks T3 & T4 gets grouped with T1)
3. At the time of sending the earliest task in the queue, the system additionally checks if other tasks from the queue can be clubbed. Then those would also be dispatched along with the first task. It would be a single request which if accepted with assign all the tasks to the agent.
4. There is a limit to the number of orders that can be clubbed and it is flexible.
5. If 2 tasks are clubbed, the task oldest in the queue has to be completed before the next task.