Monday, June 22, 2020

Display an updated value for the estimated wait time to the guest waiting for agent

How to show the 'current' estimated wait time (and have it refresh) for a waiting guest.  Estimated wait time is basically the average wait time for the queue, minus the wait time that has elapsed for the guest...and of course, formatted using minutes and seconds

Add this to the Chime adaptive card resource for the automated reply


@{
  var expectedWait = @Model.SeekerAverageWaitTimeMinutes - @Model.SeekerTimeWaitingMinutes;
  var expectedWaitStr = expectedWait.TotalSeconds > 0 ? expectedWait.ToString("mm\\:ss") : "momentarily";
}
{
  "type": "AdaptiveCard",
  "version": "1.0",
  "speak": "IT Service Desk Current Statistics",
  "body": [
    {
      "type": "Container",
      "items": [
        {
          "type": "TextBlock",
          "text": "IT Service Desk Current Statistics",
          "size": "Large",
          "isSubtle": true
        },
        {
          "type": "TextBlock",
          "text": "May 16, 2019 12:51 PM",
          "isSubtle": true
        },
        {
          "type": "TextBlock",
          "text": "Please wait, @Model.SeekerFullName, while I locate an expert for you."
        }
      ]
    },

    {
      "type": "Container",
      "spacing": "none",
      "items": [
        {
          "type": "ColumnSet",
          "columns": [
            {
              "type": "Column",
              "width": "stretch",
              "items": [
                {
                  "type": "TextBlock",
                  "text": "Approx wait: @expectedWaitStr",
                  "size": "medium"
                }
              ]
            },
            {
              "type": "Column",
              "width": "auto",
              "items": [
                {
                  "type": "FactSet",
                  "facts": [
                    {
                      "title": "Waiting",
                      "value": "2"
                    },
                    {
                      "title": "Agents",
                      "value": "5"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

Here is an example of how that text reply may appear in a web client