We have been working on an application for a call center where calls
are scripted for phone operators. Upon receiving a phone call, the
operator is presented with a screen that tells them what to say, and
what information to collect from the caller. Based on the information
received from the call, the operator is taken through a progression of
similar screens, where the page flow can change dramatically based on
the caller's responses. Extensive information about the call itself
is logged, in addition to the information relayed to the operator by
The operator may have to add a caller as a client, look their existing
client record up, reconcile situations where a caller believes that
they are an existing client, but no information is found, etc. In the
context of a phone call, adding a client or identifying a client from
a list drops the operator back into the phone call flow, however
resources such as clients can be managed in a more typical CRUD
scenario in addition to being interacted with during a phone call,
where adding a client would route the user to back to the client list.
Typically, associations to clients and as many as six other business
objects are made during a call.
We have been working on restructuring this part of the application to
be more RESTful, but haven't landed on anything that we are happy
with. Any input would be greatly appreciated.