Coop Loto boonussüsteem

Teenused:

Tarkvaraarendus

Tehnoloogiad:

.NET Core
Mikroteenused
Coopi eesmärgiks oli luua uus boonussüsteem, kus kliendid saaks ostudelt teenitud boonuspunktide osas valida boonusraha asemel lotopiletite kogumise. Uus loto mikroteenus pidi olema integreeritud nii CRMiga, kassasüsteemiga, tšekisüsteemiga, Coopi veebipoega ning veel mitmete teiste tarkvaralahendustega, et tagada süsteemi veatu toimimine, muuta lotode administreerimine võimalikult lihtsaks ning pakkuda klientidele igal hetkel täielikku ülevaadet sellest, mis on loto ja nende lotopiletitega parasjagu toimumas.

Eesmärgid

  • Luua uus teiste süsteemiga hästi integreeritud lotosüsteem
  • Ehitada üles virtuaalne rahakott
  • Tagada süsteemi toimimine millisekundite jooksul

Uptime'i lahendus

  • .NET Core’il ja MS SQLil põhinev mikroteenus
  • Uus lotomoodul Coopi CRMis
  • API liidestuses veebipoes, iseteeninduses ja tavakassades

Tähistasime hiljuti Coop Loto esimese aasta möödumist. Loto on klientide poolt väga hästi vastu võetud ja siiani tõrgeteta töötanud. Koostöö Uptime’iga kulges sujuvalt, loodud lahendus vastab meie ootustele ning arendustiim suutis meie ärilisi vajadusi selgelt mõista ja need reaalsuseks muuta. Jätkame koostööd järgmiste etappide arendamisel.

Gert Sumeri
Coopi lojaalsussüsteemi arendusjuht

Coopi autoloos pälvis kiirelt klientide heakskiidu, pakkudes võimalust pelgalt poes käimise eest võita midagi suurt ja ihaldusväärset. Küll aga piiras ülisuur auhind potentsiaalsete võitjate hulka, mistõttu otsustas Coop tuua klientideni uue võimaluse eriilmelisi auhindu võita – Coop Loto. Coop valis keeruka ning mitmetahulise lotosüsteemi arenduspartneriks Uptime’i.

Coopi äriliseks eesmärgiks oli luua uus boonussüsteem, kus kliendid saaks ostudelt teenitud boonuspunktide osas valida boonusraha asemel lotopiletite kogumise. Seejuures pidi uus loto mikroteenus olema integreeritud nii CRMiga, kassasüsteemiga, tšekisüsteemiga, Coopi veebipoega ning veel mitmete teiste tarkvaralahendustega, et tagada süsteemi veatu toimimine, muuta lotode administreerimine võimalikult lihtsaks ning pakkuda klientidele igal hetkel täielikku ülevaadet sellest, mis on loto ja nende lotopiletitega parasjagu toimumas.

“Mõistagi on süsteemi osaks ka tugev lotomootor, mis päriselt õigel hetkel võitja välja valib. Selle loomisel pidime silmas pidama laia hulka nüansse. Liialt sügavalt sellesse paraku minna ei saa” kommenteeris Coop Loto arendust Uptime’i tiimijuht Kädi Keinast.

Mikroteenused

Lotosüsteemi iseärasusi ning varem loodut arvesse võttes ehitati uus lotopunkti mikroteenus .NET Core’i ja MS SQLi andmebaasi peale. Selle lähenemise toel oli võimalik tagada sujuv ning kiire infovahetus, mugav administreerimine ning hästi töötav APIde liidestus.

“Laias plaanis saame Coop Loto arendusest rääkida nelja suurema valdkonna abil – lotode administreerimine, lotomootor, rahakott ning liidestused,” selgitas Keinast. “Kõik need eeldasid mõneti erinevat lähenemist ning pakkusid erinevaid väljakutseid, seda nii süsteemi enda keerukuse kui ka Coopi mastaapsuse tõttu.”

Selleks, et lotosid korraldada, lõi Uptime Coopi CRMi uue lotomooduli, kust saab uusi loosimisi luua, määrata auhindu, vaadata varasemaid loose ja võitjaid ning hallata kõike muud, mida Coopi personalil võib vaja minna.

Kliendid peavad lotoprogrammiga liitumiseks oma nõusoleku andma, mida saab tänu API-liidestustele teha iseteeninduskeskkonnas veebis, kaupluse iseteeninduskassas ja tavakassas– ühtekokku on lotoga liidestatud neli erinevat kassasüsteemi ja ca 320 kauplust. Kusjuures pärast ostu sooritamist jõuab tšekile info selle kohta, kui palju boonuspunkte ning lotopileteid kliendil kogunenud on.

“Tšekile peab info jõudma millisekundite jooksul, mis tähendab, et pidime looma piisavalt väleda lahenduse, et lotomoodul ei hakkaks tšekkide genereerimist aeglasemaks muutma,” rääkis tiimijuht. “Niisamuti arendasime välja stopp-süsteemi, mille abil saab vaid ühe klikiga peatada kassades lotoga liitumise pakkumise. See tähendab, et ükskõik mis probleemi või ootamatuse tekkimisel saab uued liitumised ajutiselt pausile panna, seejuures muud süsteemi mõjutamata.”

Kuna üks ja sama info on nähtaval mitmes erinevas teenuses, tuli arenduse käigus tagada ka andmete samaaegne sünkroniseerimine ning kõikjal samade summade kuvamine. Seeläbi välditakse olukordasid, kus tšeki alaosas kuvatakse ühte numbrit, kuid iseteenindusse sisse logides midagi muud.

Virtuaalne rahakott

Kuna loto ja boonuspunktide arvestus toimub kuupõhiselt, on süsteemi osaks ka virtuaalne rahakott, mille abil kantakse kuust-kuusse boonuspunktide jääki edasi. Kui üks lotopilet maksab 50 boonuspunkti, siis on võimalik, et kuu lõpus jääb kliendil 30 punkti üle ning selle eest ta uut piletit ei saa. Küll aga ei kanta punkte maha, vaid liigutatakse need edasi järgmise kuu arvestusse.

“Lotosüsteemi ja boonuspunktide kasutamise juures tuli rinda pista veel mitmete väiksemate küsimuste lahendamisega,” ütles Keinast. “Näiteks ei saa loosis osaleda alaealised, küll aga saab nende kliendikaardi liidestada perekontoga; loosimises ei saa osaleda juriidilised isikud ega Coopi töötajad; sünnipäevadel on boonuspunktide arvestus teistsugune; ning boonuspuntide kogumisel on erinevad tasemed, mis pidevalt ajas muutuvad.”

Hoolimata süsteemi keerukusest ning erinevatest väljakutsetest läks lototeenuse live’i viimine probleemivabalt.

Rando Siimon

Äriarendusjuht

Võta ühendust

Liitu uudiskirjaga