WFM Shift Swap API 409 Conflict During High-Volume Agent Self-Service Window

What’s the best way to handle concurrent shift swap requests via the shift trading endpoints when multiple agents attempt to trade overlapping shifts simultaneously during our weekly planning window?

We are experiencing a significant spike in 409 Conflict errors specifically when agents use the self-service portal to propose trades. The environment is running Genesys Cloud Release: 2024-05 (Patch 2) with BYOC Edge Version: 10.2.1 hosted in AWS us-east-1. Our timezone is America/Chicago.

The issue appears when two agents, both scheduled for the same shift block, attempt to swap with a third agent who is available for either slot. If the third agent accepts the first proposal within milliseconds of the second, the second request fails with a 409 error citing a version mismatch on the schedule object. The error payload indicates:

{
 "errors": [
 {
 "message": "Resource version mismatch. The schedule has been modified since this request was initiated.",
 "code": "CONFLICT"
 }
 ]
}

This is disrupting our shift coverage planning. Agents are frustrated because the UI does not clearly indicate that their trade was rejected due to a race condition, leading them to retry manually, which further congests the API. We have verified that the Accept-Language header is set correctly and that the If-Match header contains the correct ETag from the initial GET request.

Is there a recommended retry logic or a specific flag in the request body to handle optimistic locking more gracefully? We are considering implementing a client-side delay, but that feels like a workaround rather than a solution. We need a reliable way to ensure that valid trade requests are not lost due to timing issues during peak planning hours (09:00-11:00 CST). Any insights on best practices for handling these concurrent modifications in the WFM module would be appreciated.