For any given request it needs to be possible to determine what position the request has in the prioritised queue (oldest first at the moment) for an item.
When a request is created, it should be possible to know its position
When a request is closed (e.g. cancelled, expires or is fulfilled), all requests behind it should move one position higher in the queue
- Optionally determine the position dynamically when a request is asked for
- Determine (and store) the position in the queue during creation, fulfilment or cancellation