Get Cab: taksi platforma su automatiniu mašinų paskirstymu ir telefonijos užsakymu.
Sukūrėme Get Cab - pilną taksi užsakymų ekosistemą: keleivių iOS ir Android programėles, vairuotojo programėlę, dispečerinės sistemą, telefonijos integraciją (taksi galima užsisakyti skambučiu net be operatoriaus) ir backend, kuris automatiškai paskirsto artimiausias laisvas mašinas realiu laiku.
MediaPulsas kuria taksi ir pavežėjų užsakymų platformas - su keleivių bei vairuotojų programėlėmis, dispečerine, telefonijos integracija ir automatiniu mašinų paskirstymu.

KlientasApie projektą
Taksi verslas atrodo paprastas tik iš keleivio pusės - paspaudei, atvažiavo. Už šito slypi realaus laiko koordinavimo uždavinys: dešimtys mašinų juda mieste, užsakymai plūsta iš programėlės ir telefonu, o kiekvieną reikia per sekundes priskirti artimiausiam laisvam vairuotojui. Get Cab sukūrėme būtent tokią sistemą - jungiančią keleivius, vairuotojus ir dispečerius į vieną realaus laiko tinklą.
Sprendimą sudaro kelios sinchronizuotos dalys: keleivių programėlės užsakymui ir sekimui, vairuotojo programėlė kelionėms priimti, dispečerinės sistema operatoriams ir telefonijos integracija, leidžianti užsisakyti taksi skambučiu - net be operatoriaus. Visą tai jungia backend, automatiškai paskirstantis mašinas pagal vietą ir prieinamumą.
Kaip veikia sistema
Užsakymo kelias nuo iškvietimo iki kelionės - per programėlę arba telefonu, su automatiniu mašinos priskyrimu:
- Keleivis
- Užsakymas (programėlė arba skambutis)
- Backend paskirstymas
- Artimiausia laisva mašina
- Vairuotojas priima
- Realaus laiko sekimas
- Kelionė
Iššūkis
Taksi platforma - realaus laiko koordinavimo uždavinys, kur kiekviena sekundė lemia laukimo laiką ir keleivio patirtį:
- Užsakymai ateina dviem kanalais - programėle ir telefonu - ir turi patekti į tą pačią sistemą
- Kiekvieną užsakymą reikia per sekundes priskirti artimiausiai laisvai mašinai
- Vairuotojų ir mašinų vietos privalo būti sekamos realiu laiku
- Dispečeriams reikia viso miesto vaizdo ir galimybės įsikišti rankiniu būdu
- Telefonijos integracija turi leisti užsakymą net be operatoriaus
- Sistema turi atlaikyti piko valandų užsakymų ir judėjimo srautus
Kodėl tai buvo sudėtinga: techniniai iššūkiai
Automatinis mašinų paskirstymas
Užsakymą reikia priskirti ne bet kuriai, o artimiausiai laisvai mašinai. Paskirstymo branduolys realiu laiku vertina vairuotojų vietą, prieinamumą ir užsakymo tašką, kad kelionė prasidėtų greičiausiai ir keleivis mažiau lauktų.
Du užsakymų kanalai, viena sistema
Vieni keleiviai užsako programėle, kiti - įpratę skambinti. Telefonijos integracija ir programėlė maitina tą patį paskirstymo branduolį, todėl abu srautai valdomi vienodai, be atskiros apskaitos.
Telefonija be operatoriaus
Skambučiu užsakymas gali vykti ir be gyvo operatoriaus: telefonijos sistema atpažįsta skambinantįjį ir inicijuoja užsakymą automatiškai, sumažindama dispečerinės apkrovą piko metu.
Realaus laiko vietos sekimas
Keleivis nori matyti, kur mašina, vairuotojas - maršrutą, dispečeris - visą miestą. GPS pagrindu veikiantis sekimas realiu laiku rodo mašinų vietą visoms pusėms vienu metu.
Dispečerinės valdymas
Automatika sprendžia daugumą atvejų, bet operatoriui reikia galimybės įsikišti - perskirti užsakymą, matyti laisvas mašinas, spręsti išimtis. Dispečerinė duoda viso tinklo vaizdą ir rankinį valdymą.
Piko apkrovos
Vakarais ir per šventes užsakymų bei judėjimo srautas šokteli. Architektūra atskiria užsakymų priėmimą nuo paskirstymo, kad pikas nesulėtintų sistemos ir nė vienas iškvietimas nepasimestų.
„Taksi sistemos širdis - ne programėlė, o paskirstymo logika: kaip per sekundes rasti artimiausią laisvą mašiną kiekvienam užsakymui, iš kur jis beateitų - programėlės ar skambučio."
- MediaPulsas architektų komanda
Sprendimas
Sukūrėme pilną taksi užsakymų ekosistemą:
- Keleivių iOS ir Android programėlės užsakymui ir sekimui
- Vairuotojo Android programėlė kelionėms priimti ir vykdyti
- Dispečerinės sistema operatoriams su viso miesto vaizdu
- Telefonijos integracija su užsakymu net be operatoriaus
- Automatinis mašinų paskirstymas pagal vietą ir prieinamumą
- Realaus laiko GPS sekimas visoms pusėms
Architektūra ir inžineriniai sprendimai
Get Cab - ne viena programėlė, o kelių sinchronizuotų dalių ekosistema: keleivių programėlės, vairuotojo programėlė, dispečerinė ir telefonijos integracija. Visų centre - paskirstymo branduolys, kuris yra sistemos širdis: jis priima užsakymus iš abiejų kanalų (programėlės ir telefono) ir realiu laiku priskiria juos artimiausioms laisvoms mašinoms pagal vietą bei prieinamumą.
Realaus laiko koordinavimui naudojami kanalai, pristatantys vietos ir būsenų pokyčius iškart. Telefonijos sistema integruota su užsakymų srautu taip, kad skambutis galėtų virsti užsakymu ir be operatoriaus, o dispečerinė leidžia rankiniu būdu įsikišti į automatiką. Užsakymų priėmimas atskirtas nuo paskirstymo, kad piko valandų srautai nesulėtintų sistemos.
Architektūriniai pasirinkimai: kodėl būtent taip
Kodėl automatinis paskirstymas, o ne vien dispečeris?
Rankinis mašinų skirstymas lėtas ir netolygus, ypač piko metu. Automatinis paskirstymas per sekundes randa artimiausią laisvą mašiną, o dispečeris lieka išimtims - taip sutrumpėja laukimas ir sumažėja operatorių apkrova.
Kodėl telefonija integruota į tą patį branduolį?
Dalis keleivių niekada nenaudos programėlės - jie skambina. Jei telefoniniai užsakymai gyventų atskirai, atsirastų dvi sistemos ir dviguba apskaita. Integravus juos į tą patį branduolį, abu kanalai valdomi vienodai.
Kodėl užsakymas galimas be operatoriaus?
Piko valandomis operatoriai - siaurasis kaklelis. Kai telefonijos sistema atpažįsta skambinantįjį ir inicijuoja užsakymą automatiškai, dispečerinės apkrova mažėja, o keleivis užsako greičiau.
Kodėl realaus laiko sekimas visoms pusėms?
Keleivis, vairuotojas ir dispečeris turi skirtingus, bet susijusius poreikius: kur mašina, koks maršrutas, kokia miesto būklė. Vienas realaus laiko vietos sluoksnis maitina visus tris vaizdus vienu metu.
Kodėl priėmimas atskirtas nuo paskirstymo?
Piko metu užsakymų srautas šokteli. Atskyrus priėmimą nuo paskirstymo, sistema priima visus iškvietimus iš karto, o paskirsto pastoviu tempu - nė vienas užsakymas neprarandamas.
Technologijos
- Keleivio programėlė (iOS / Android)
- Vairuotojo programėlė (Android)
- Dispečerinės sistema
- Telefonijos integracija
- Paskirstymo branduolys
- Realaus laiko kanalai
- GPS sekimas
- Užsakymų būsenų valdymas
- REST API
- Push pranešimai
- Mastelio architektūra
- Backend servisai
Rezultatai
Get Cab tapo veikiančia taksi užsakymų platforma su automatiniu paskirstymu ir dviem užsakymų kanalais:
Ko išmokome
- Taksi platformoje širdis yra paskirstymo logika, ne programėlės sąsaja - nuo jos priklauso laukimo laikas
- Du užsakymų kanalai (programėlė ir telefonas) turi maitinti tą patį branduolį, kitaip atsiranda dvi sistemos
- Automatika turi spręsti daugumą atvejų, bet dispečeriui būtina galimybė įsikišti į išimtis
- Piko apkrovų atskyrimas nuo paskirstymo būtinas ten, kur srautas labai netolygus
Kam tinka panašus sprendimas
- Taksi ir pavežėjų verslams
- Mobilumo ir transporto platformoms
- Kurjerių ir pristatymo tinklams
- Verslams su dispečerinės poreikiu
- Įmonėms su realaus laiko paskirstymu
- Telefonijos ir užsakymų integracijoms
- Kelių programėlių ekosistemoms
- Bet kam, kam reikia realaus laiko logistikos koordinavimo
Dažniausi klausimai
Kas yra Get Cab platforma? +
Kaip veikia automatinis mašinų paskirstymas? +
Ar taksi galima užsisakyti be programėlės? +
Ar galite sukurti panašią taksi ar mobilumo platformą? +
Kas Lietuvoje kuria taksi užsakymų platformas? +
Turite idėją? Paverskime ją produktu
Papasakokite, ką norite pasiekti - per 48 valandas gausite apimties ir biudžeto įvertinimą bei mūsų siūlymą, nuo ko pradėti. Nemokamai ir be įsipareigojimų.
mediapulsas

