Help desk assignment queue
Once player reports are accepted, ordinary requests such as missing rewards or account questions should be assigned in the order they arrived. The report log preserves history, but it does not express “take the oldest waiting report next.”
The C# solution
var waitingReports = new Queue<Ticket>();
waitingReports.Enqueue(new("GS-2042", "Season reward missing", 3, null));
waitingReports.Enqueue(new("GS-2043", "Account access locked", 2, null));
Ticket nextReport = waitingReports.Dequeue(); // GS-2042
What works
Queue<T> makes the first-in, first-out rule visible in the API. Enqueue adds at the back and Dequeue removes from the front, so ordinary report assignments do not need to scan the whole collection.
The limitation that remains
A FIFO queue cannot choose a matchmaking outage that arrived after routine reports. It also cannot undo the latest change to a report: arrival order and recent-action order are different requirements. If priority becomes the requirement, using repeated scans or inserting manually would make the policy harder to express and maintain.
The queue is the assignment policy for routine work. It should not be used for undo history or urgent incidents with a different ordering rule.