TAS

Introduction

TAS (Tolkdienst Aanname System = Interpreting Service Acceptance System) is a complete system for interpreting services that arranges everything from the request to the sending of the invoice. Applications come in both by telephone and online. In the Netherlands, TAS mediates approximately 500,000 interpreting services per year. At peak times, a service is requested every five seconds.

TAS supports three types of services:

  • A customer calls and immediately needs an interpreter (ad-hoc)
  • An interpreting service is scheduled and carried out by phone or video (remotely)
  • An interpretation service is planned and performed on location (on location)

Due to the structure of the Dutch market, most interpreting services are requested by telephone. Therefore, between 2,000 and 3,000 telephone calls must be handled every day. Partly because TAS is fast and stable, this is possible with a relatively small number of front office employees.

Before it can be determined who is the most suitable interpreter, a lot has to be calculated. Which interpreters are there for the requested language? Does the interpreter meet the desired requirements? Is he or she available? Are there conflicting other agreements, taking into account the travel times? Does the interpreter provide connecting services that are useful? What do they charge? The search for the best interpreter and the approach is fully automatic. Only if the system does not find a suitable interpreter before the deadline, does the assignment fall back to the staff.

History

In 1996, I first came to what was then called the Interpreter and Translation Centre (TVC) Eindhoven. At the time, the front office was staffed by five employees. Without computers, but with line dialer telephones. All appointments were recorded in large paper diaries. I was there to install a call centre solution that I had developed for Frontline Systems. A local company would supply the PCs with an MS Access application so that they could start with ad-hoc services.

The MS Access application failed, after which I was given the opportunity to develop the application. In mid-1997, the first version of TAS went live as a VB5 application with a central SQL Server 6.5 database on an NT4 server. The first version was fully focused on ad hoc interpreting services. It went so well that other types of services were soon added. A year later, a financial module was added.

At that time, the Netherlands had six regional Interpreter and Translation centers. Three other TVCs had signed a contract with KPN for a system equivalent to TAS, but KPN was unable to deliver a properly functioning product, after which the contract between KPN and the TVC’s was partially dissolved. After some minor adjustments, TAS was also sold to the other TVCs. In 1999, TAS ran at all TVCs in the Netherlands. Around 2002, the six merged into one Interpreter and Translation Center Netherlands (TVcN). The six local databases were merged and from that moment there was one TAS, which was active nationally. In 2005, TVcN was sold to Manpower and at the end of 2018 to Opportunity Partners. After which the name was changed to Global Talk.

Between 2013 and 2020, TAS expanded further so that more than 90 percent of applications are now handled fully automatically. Most workflow processes are handled independently by TAS. As a result, far fewer front office employees are needed.

Important functions

Call Log screen

The call log screen is the most used part of TAS. This screen is used for all calls. Via this screen, front office employees can arrange almost everything, such as: request a new interpreting service, change an existing interpreting service, cancel an interpreting service, create a contact person, request an overview of the interpreting service, handle a telephone interpreting service and transfer it.

This is the screen which front office employees spend most of their working hours working with. It is opened more than three thousand times a day. That’s why efficiency is an absolute requirement! Every delay costs money and results in a worsened customer experience. The user interface is procedural as much as possible. This promotes efficiency and reduces input errors. The forms for requesting and changing an interpretation service are dynamic: the form adapts depending on various factors. Input fields for language and customer, for example, are a combination of a search field with a dropdown, which is very fast work. There is no imperative order in the input: the conversation with the customer is leading.

The front office user interface is designed to handle large numbers of calls quickly. The average talk time is slightly above one minute. As a result, 3000 calls per day are handled with a relatively small staffing capacity.

Back office user interface

The back office employees also use the TCC.Client, as they do not need a standard telephone set. They use the call log screen to make calls if necessary. They mainly work with the back office user interface. It is mainly set up for registration. The design of the call registration screen and the back office screens are the same.

Tasnet

Tasnet is the website for interpreters and applicants. Due to the complexity of the Dutch market, where the applicant is often not the payer, many applicants prefer to call. The look and feel is that of a modern responsive website.

Financial

After the privatisation of TVcN, the tariff structure in the Netherlands became increasingly complex. This is mainly because the vast majority of services are provided through tenders from various authorities. The contracting authority determines the rate structure. Some rules relate not only to the service itself but also to the previous and/or next service. Also, tenders are not synchronised, which means that old and new rates for different tenders are mixed up. As a result, a rate now has about 110 parameters and there are more than 6000 different rates.

The financial module is also an important part of the search for an interpreter. The various machines always look for the cheapest interpreter for the customer, within the set requirements.

Ad-hoc machine

After applying for an ad hoc interpreting service, this is offered to the ad hoc machine. TAS will then independently look for an interpreter and the front office employee can then continue with the next interview. The core of the machine is a procedure that makes a calculation for all interpreters in the requested language. Does the interpreter meet the set requirements? Is the interpreter not on holiday? Are there any conflicting agreements, taking into account travel times? There is also a calculation of the cost price and the selling price and a static calculation of the telephone availability of the interpreter. The system sorts the result and calls the best interpreter. Using an IVR script, it checks that the correct interpreter is on the line and asks if he or she wants to accept the assignment. If the interpreter accepts the service, he or she is connected to the client and the interpreting service starts. If not, the system moves on to the next interpreter.

If the ad hoc machine cannot find an interpreter, the conversation will fall back to the front office so that the employee can determine, in consultation with the customer, how the process should proceed. Perhaps a lesser interpreter will now be allowed or an alternative service will be created.

Scheduling machine

After requesting a remote or on-site interpreting service, this is offered to the scheduling machine. TAS will then independently look for an interpreter and the employee can continue with the next interview. The core of the machine consists of a procedure that performs a calculation for all interpreters in the requested language. Does the interpreter meet the set requirements? Is the interpreter not on holiday? Are there no conflicting agreements, taking into account any travel times? Are there connecting interpreting services? What is the cost and sales price? The best interpreter is offered the service and receives a notification, SMS and/or e-mail. He or she accepts or declines the service using Tasnet. If the interpreter refuses or does not accept the service within a certain time, the service is (also) offered to the next interpreter. This continues until an interpreter is found or no more interpreters are available. If the system cannot find an interpreter, the assignment will be placed on an action list for the front office employees.

Invoicing

A batch of invoices is created at the touch of a button. Several times a month, the system invoices smaller groups of services and once a month everything that is still outstanding is invoiced.

Sometimes it happens that a correction takes place after the service has been invoiced. With 40,000 services per month, this can of course no longer be managed manually. The recalculation and creation of a correction entry is therefore automated.

On average, approximately 3,500 invoices are generated every month. These are also sent by TAS.

Given the volume of the number of invoices and services, only the totals per invoice are exported to the administration.

Architecture

Database

In the early days, workplace PCs were equipped with Windows 95 and regularly crashed. These crashes should of course not lead to database problems. That is why MS SQL Server was chosen as the database backend from the start.

The first version of TAS was a VB5 client with ODBC connection to SQL Server. The VB client used standard SQL statements. I soon ran into the limits of this architecture. The calculation of the ad hoc call list took too long. I solved this by placing this calculation in a stored procedure. Over time, more and more stored procedures were added.

Stored procedures have major advantages with regard to performance and stability. The performance gain depends on the complexity of the calculation and can amount to a factor of ten or more. This makes the software less complex and opens up new possibilities. The problem with stored procedures is that they are difficult to program and maintain. Typed-TSQL solves this problem. Typed-TSQL is a programming language based on T-SQL with additional typing information and language extensions. Typed-TSQL is implemented as an extension for Visual Studio. Typed-TSQL also generates proxies used in the user interface code. This means there is type control from backend to front end during compile time. This prevents many programming errors.

The current database (MS-SQL 2016) contains more than 250 tables, more than 600 stored procedures and more than 100 functions.

User Interface

The original user interface was a VB client and an aspx website for interpreters. In 2015, we started replacing the website. One of the conditions was that it would also function properly on a mobile phone. We then opted for a Single Page Application written in TypeScript.

This went so well that we started building the intranet site for the employee user interface in 2018. Both the internal and external website have the same architecture and use the same libraries. They are complete Single Page Applications. Partly because everything is loaded dynamically, both sites are super fast.

Tasnet / Internet

Tasnet was designed in collaboration with Alientrick and has the look and feel of a modern responsive website. Tasnet works well on PC and mobile. Tasnet also forms the user interface of the hybrid app that feels like a native app.

Intranet

The call log screen and back office user interface are both part of the intranet website. A simple and quiet design has been chosen that resembles a traditional PC user interface rather than a web interface. Moreover, much attention has been paid to ensure that users work as efficiently as possible.

TaskServer

TaskServer is an NT Service that hosts about thirty background processing operations. The processing can run continuously, periodically or at the request of a user. Sending an SMS, for example, goes via SMPP and is a continuous process. A group of processes runs periodically, from every four seconds to once a day. The export of the invoices to the accounting is done at the initiative of a user. Rules determine which processing operations are performed in parallel and which are sequential. TaskServer is written in C#.

Hardware

TAS and TCC run on one NT Server. The hardware is a simple server with a quad core CPU, 32 GB main memory and SSD disks. SQL Server, IIS and all NT services run on the server. The load is barely measurable (<3%).

Production

1997 - present Global Talk/TVcN

Technologies

C#, SQL Server 2016, Transact-SQL, Typed-TSQL, HTML5, CSS3, TypeScript, JavaScript

My function

When I started with TAS, there was no automation and only a desire for ad hoc services. Ultimately, TAS has grown into a system that handles 90 percent of the mediation automatically. I had to design all functionality myself from scratch. My position is therefore broader than just software architect and lead developer. Without me, Global Talk/TVcN would have looked very different.