TAS

Introductie

TAS (Tolkdienst Aanname Systeem) is een compleet systeem voor tolkdiensten dat alles regelt: vanaf de aanvraag tot aan het versturen van de factuur. De aanvragen komen zowel telefonisch als online binnen. In Nederland bemiddelt TAS ongeveer 500.000 tolkdiensten per jaar. Op piekmomenten wordt er iedere vijf seconden een dienst aangevraagd.

TAS ondersteunt drie soorten diensten:

  • Een klant belt in en heeft direct een tolk nodig (ad-hoc)
  • Een tolkdienst wordt gepland en via de telefoon of video uitgevoerd (op afstand)
  • Een tolkdienst wordt gepland en op locatie uitgevoerd (op locatie)

Door de structuur van de Nederlandse markt worden de meeste tolkdiensten telefonisch aangevraagd. Daarom moeten er dagelijks tussen de 2000 en 3000 telefoongesprekken worden afgehandeld. Mede doordat TAS snel en stabiel is, kan dat met een relatief klein aantal frontoffice medewerkers.

Voordat bepaald kan worden wie de beste tolk is, moet er veel berekend worden. Welke tolken zijn er voor de gevraagde taal? Voldoet de tolk aan de gewenste vereisten? Is hij of zij beschikbaar? Zijn er conflicterende andere afspraken, rekening houdend met de reistijden? Biedt de tolk aansluitende diensten die goed van pas komen? Wat kost hij of zij? Het zoeken van de beste tolk en het benaderen gebeurt volautomatisch. Alleen als het systeem voor de deadline geen geschikte tolk vindt, valt de opdracht terug naar de medewerkers.

Geschiedenis

In 1996 kwam ik voor het eerst bij het toenmalige Tolk en Vertaalcentrum (TVC) Eindhoven. Er werkten toen vijf medewerkers op de frontoffice. Zonder computers, maar met lijnkiezer telefoontoestellen. Alle afspraken werden in grote papieren agenda’s vastgelegd. Ik was daar voor de installatie van een callcenter-oplossing die ik had ontwikkeld voor Frontline Systems. Een lokaal bedrijf zou de pc’s leveren met een MS-Access applicatie zodat ze konden beginnen met ad-hoc dienstverlening.

De MS-Access applicatie mislukte waarna ik de mogelijkheid kreeg om de applicatie te ontwikkelen. Halverwege 1997 ging de eerste versie van TAS live als een VB5-applicatie met een centrale SQL Server 6.5 database op een NT4 server. De eerste versie was volledig gericht op ad-hoc tolk-dienstverlening. Het ging zo goed dat er al snel andere soorten van dienstverlening werden toegevoegd. Een jaar later werd er een financiële module toegevoegd.

Op dat moment kende Nederland zes regionale Tolk en Vertaalcentra. Drie andere TVC’s hadden een contract gesloten met KPN voor een gelijkwaardig systeem als TAS, maar het lukte KPN niet om een goedwerkend product te leveren, waarna het contract tussen KPN en de TVC’s voor een deel ontbonden werd. Na wat kleine aanpassingen werd TAS ook verkocht aan de andere TVC’s. In 1999 draaide TAS bij alle TVC’s in Nederland. Rond 2002 fuseerde de zes tot één Tolk en Vertaalcentrum Nederland (TVcN). De zes lokale databases werden samengevoegd en vanaf dat moment was er één TAS, dat landelijk actief was. In 2005 werd TVcN verkocht aan Manpower en eind 2018 aan Opportunity Partners. Waarna de naam veranderd werd in Global Talk.

Tussen 2013 en 2020 breidde TAS verder uit zodat nu meer dan 90 procent van de aanvragen volautomatisch wordt afgehandeld. De meeste workflow processen worden zelfstandig door TAS afgehandeld. Daardoor zijn er veel minder frontoffice-medewerkers nodig.

Belangrijke functies

Gespreksregistratie-scherm

Het gespreksregistratie-scherm is het meest gebruikte onderdeel van TAS. Voor alle gesprekken wordt dit scherm gebruikt. Via dit scherm kunnen frontoffice-medewerkers bijna alles regelen, zoals onder andere: een nieuwe tolkdienst aanvragen, een bestaande tolkdienst wijzigen, een tolkdienst annuleren, een contactpersoon aanmaken, een overzicht van de tolkdienst opvragen, een telefonische tolkdienst afhandelen en die doorverbinden.

Frontoffice-medewerkers werken het merendeel van hun werktijd met dit scherm. Het wordt meer dan drieduizend maal per dag geopend. Daarom is efficiëntie een must! Iedere vertraging kost geld en geeft een minder goede klantervaring. De gebruikersinterface is zoveel mogelijk procedureel. Dit bevordert efficiëntie en vermindert invoerfouten. De formulieren voor het aanvragen en wijzigen van een tolkdienst zijn dynamisch: afhankelijk van verschillende factoren past het formulier zich aan. Invoervelden voor bijvoorbeeld taal en klant zijn een combinatie van een zoekveld met dropdown, wat erg snel werk. Er is geen dwingende volgorde in de invoer: het gesprek met de klant is leidend.

De frontoffice gebruikersinterface is ingericht om grote hoeveelheden telefoontjes snel af te handelen. De gemiddelde gesprekstijd ligt iets boven de minuut. Hierdoor worden met een relatief kleine bezetting toch 3000 gesprekken per dag afgehandeld.

Backoffice gebruikersinterface

Ook de backoffice-medewerkers gebruiken de TCC.Client, aangezien ze dan geen standaard telefoontoestel nodig hebben. Ze gebruiken het gespreksregistratiescherm om indien nodig te bellen. Ze werken hoofdzakelijk met de backoffice-gebruikersinterface. Die is vooral registratief ingericht. De vormgeving van het gespreksregistratiescherm en de backofficeschermen zijn hetzelfde.

Tasnet

Tasnet is de website voor tolken en aanvragers. Door de complexiteit van de Nederlandse markt, waarbij de aanvrager vaak niet de betaler is, prefereren veel aanvragers het om te bellen. De look-and-feel is die van een moderne responsive-website.

Financieel

Na de privatisering van TVcN werd de tariefstructuur in Nederland steeds complexer. Dat komt met name omdat het overgrote deel van de dienstverlening via aanbestedingen van verschillende overheden gaat. De aanbesteder bepaalt de tariefstructuur. Sommige regels hebben niet alleen betrekking op de dienst zelf maar ook op de vorige en/of volgende dienst. Ook lopen aanbestedingen niet gelijk waardoor er oude en nieuwe tarieven van verschillende aanbestedingen door elkaar heen lopen. Het gevolg is dat een tarief nu ongeveer 110 parameters kent en dat er meer dan 6000 verschillende tarieven zijn.

De financiële module is ook een belangrijk onderdeel bij het zoeken naar een tolk. De verschillende automaten zoeken altijd de goedkoopste tolk voor de klant, binnen de gestelde eisen.

Ad-hoc automaat

Na het aanvragen van een ad-hoc tolkdienst wordt deze aangeboden aan de ad-hoc automaat. TAS gaat dan zelfstandig op zoek naar een tolk en vervolgens kan de frontoffice-medewerker verder met het volgende gesprek. De kern van de automaat is een procedure die voor alle tolken in de gevraagde taal een berekening maakt. Voldoet de tolk aan de gestelde eisen? Is de tolk niet op vakantie? Zijn er conflicterende afspraken, rekening houdend met reistijden? Ook volgt er een berekening van de kostprijs en de verkoopprijs en een statische berekening van de telefonische bereikbaarheid van de tolk. Het systeem sorteert het resultaat en belt de beste tolk. Met behulp van een IVR-script controleert het of de juiste tolk aan de lijn is en vraagt het of hij of zij de opdracht wil accepteren. Accepteert de tolk de dienst, dan wordt hij of zij doorverbonden met de klant en start de tolkdienst. Zo niet, dan gaat het systeem verder naar de volgende tolk.

Kan de ad-hoc automaat geen tolk vinden, dan valt het gesprek terug naar de frontoffice zodat de medewerker in overleg met de klant kan bepalen hoe het traject verder gaat. Misschien wordt nu een mindere tolk toegestaan of wordt er een alternatieve dienst aangemaakt.

Planautomaat

Na het aanvragen van een op-afstand- of op-locatie-tolkdienst wordt deze aangeboden aan de planautomaat. TAS gaat dan zelfstandig op zoek naar een tolk en de medewerker kan verder met het volgende gesprek. De kern van de automaat bestaat uit een procedure die voor alle tolken in de gevraagde taal een berekening uitvoert. Voldoet de tolk aan de gestelde eisen? Is de tolk niet op vakantie? Zijn er geen conflicterende afspraken, rekening houdend met eventuele reistijden? Zijn er aansluitende tolkdiensten? Wat is de kost- en verkoopprijs? De beste tolk krijgt de dienst aangeboden en ontvangt een notificatie, sms en/of e-mail. Hij of zij accepteert of weigert de dienst met behulp van Tasnet. Als de tolk de dienst weigert of niet binnen een bepaalde tijd accepteert, wordt de dienst (ook) aan de volgende tolk aangeboden. Dit gaat door totdat er een tolk gevonden is of er geen tolk meer beschikbaar is. Als het systeem geen tolk kan vinden dan komt de opdracht op een actielijst voor de frontoffice-medewerkers.

Facturatie

Met één druk op de knop wordt er een batch van facturen aangemaakt. Meerdere keren per maand factureert het systeem kleinere groepen diensten en eenmaal per maand wordt alles wat nog openstaat gefactureerd.

Soms komt het voor dat er een correctie plaatsvindt nadat de dienst gefactureerd is. Met 40.000 diensten per maand kan dit natuurlijk niet meer handmatig. Het herberekenen en aanmaken van een correctieboeking is daarom geautomatiseerd.

Maandelijks worden er gemiddeld ongeveer 3500 facturen aangemaakt. Deze worden ook door TAS verstuurd.

Gezien het volume van het aantal facturen en diensten worden alleen de totalen per factuur naar de administratie geëxporteerd.

Architectuur

Database

In de begindagen waren de werkplek-pc’s uitgerust met Windows 95 en liepen ze regelmatig vast. Deze crashes mochten natuurlijk niet leiden tot database-problemen. Daarom is vanaf het begin gekozen voor MS SQL Server als database backend.

De eerste versie van TAS was een VB5 client met ODBC-koppeling naar SQL Server. De VB client gebruikte standaard SQL statements. Al vrij snel liep ik tegen de limieten van deze architectuur aan. De berekening van de ad-hoc bellijst duurde te lang. Dit losten ik op door deze berekening in een stored-procedure onder te brengen. In de loop van de tijd kwamen er steeds meer stored-procedures bij.

Stored-procedures hebben grote voordelen met betrekking tot performance en stabiliteit. De performancewinst is afhankelijk van de complexiteit van de berekening en kan oplopen tot factor tien of meer. Hierdoor hoeft de software minder complex gemaakt te worden en dat opent nieuwe mogelijkheden. Het probleem met stored-procedures is dat ze lastig te programmeren en te onderhouden zijn. Typed-TSQL lost dit probleem op. Typed-TSQL is een programmeertaal gebaseerd op T-SQL met extra typing-informatie en taalextensies. Typed-TSQL is geïmplementeerd als een extensie voor Visual Studio. Typed-TSQL genereert ook proxy’s die gebruikt worden in de gebruikersinterface-code. Hierdoor is er tijdens de compileertijd type controle van backend tot front-end. Dat voorkomt veel programmeerfouten.

De huidige database (MS-SQL 2016) bevat ruim 250 tabellen, ruim 600 stored-procedures en meer dan 100 functions.

User Interface

De originele gebruikersinterface was een VB-client en een aspx-website voor tolken. In 2015 begonnen we met het vervangen van de internetsite. Een voorwaarde was dat deze ook goed zou functioneren op een mobiele telefoon. We hebben toen gekozen voor een Single Page Application geschreven in TypeScript.

Dit beviel zo goed dat we in 2018 begonnen met het bouwen van de intranet-site voor de medewerkers-gebruikersinterface. Zowel de interne als externe site hebben dezelfde architectuur en gebruiken dezelfde libraries. Het zijn volledige Single Page Applications. Mede doordat alles dynamisch geladen wordt, zijn beide sites razendsnel.

Tasnet / Internet

De vormgeving van Tasnet is ontworpen in samenwerking met Alientrick en heeft de look-and-feel van een moderne responsive website. Tasnet werkt goed op de pc en mobiel. Ook vormt Tasnet de gebruikersinterface van de hybride app die aanvoelt als een native app.

Intranet

Het gespreksregistratiescherm en de backoffice-gebruikersinterface zijn allebei onderdeel van de intranet-site. Er is gekozen voor een eenvoudige en rustige vormgeving die meer lijkt op een traditionele pc-gebruikersinterface dan op een web-interface. Bovendien is er veel aandacht besteedt om gebruikers zo efficiënt mogelijk te laten werken.

TaskServer

TaskServer is een NT-Service die de host is voor een dertigtal achtergrondverwerkingen. De verwerkingen kunnen continu, periodiek of op verzoek van een gebruiker draaien. Het versturen van SMS gaat bijvoorbeeld via SMPP en is een continu proces. Een groep verwerkingen draait periodiek, van iedere vier seconden tot één maal per dag. Het exporteren van de facturen naar de boekhouding gaat op initiatief van een gebruiker. Regels bepalen welke verwerkingen parallel en welke sequentieel uitgevoerd worden. TaskServer is geschreven in C#.

Hardware

TAS en TCC draaien op één NT-Server. De hardware is een eenvoudige server met een quadcore CPU, 32 GB main memory en SSD disks. Op de server draaien SQL Server, IIS en alle NT-Services. De load is nauwelijks meetbaar (<3%).

Productie

1997 - heden Global Talk/TVcN

Technologieën

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

Mijn functie

Toen ik begon met TAS was er geen automatisering en alleen een wens voor ad-hoc-dienstverlening. Uiteindelijk is TAS uitgegroeid tot een systeem dat 90 procent van de bemiddeling automatisch afhandelt. Ik heb alle functionaliteit zelf vanaf niets moeten ontwerpen. Mijn functie is dus breder dan alleen software-architect en hoofdontwikkelaar. Zonder mij had Global Talk/TVcN er heel anders uitgezien.