Hogyan készül egy menetrend chatbot?

A MÁV évente több mint 1 000 000 személyvonatot közlekedtet, és több százmillió utazást biztosít az utasainak. Ahogy a kritikus tömeg, úgy én is az Elvirát használtam, hogy megtudjam mikor, mennyi idő alatt és mennyiért juthatok el A-ból B-be. Az elvira.hu funkcionálisan tökéletesen kiszolgálta a felhasználót, minden információt megkaptunk, de a csapatunkkal úgy gondoltuk, hogy képesek vagyunk létrehozni egy saját szájízünk szerint kialakított, jobb felhasználói élménnyel rendelkező menetrend chatbotot. Így kezdtük meg a Sihuhu Máv menetrend bot fejlesztését.

 

Próbáld ki a Sihuhut:
https://m.me/roborobosihuhu/

A koncepció

Egy gyorsan és kényelmesen használható menetrendet szerettünk volna fejleszteni. A cél lerövidíteni az utat az alkalmazás funkciói és a felhasználói igények között. Egyaránt használni terveztük a bot által nyújtott grafikus felületeket, az üzeneteket és a Messenger UI elemeket, mindig azt, ami a legjobban ki tudja szolgálni a felhasználót.

Jelenleg a Sihuhu 1.1.0 verziója érhető el.

Felépítés

Az alkalmazást aszerint készítettük el, hogy a menetrend információkhoz a lehető legkevesebb energia befektetéssel lehessen hozzáférni. Például egy egyszerű menetrend kereséshez a felhasználónak nincs más dolga, mint 2 települést elküldeni üzenetben (pl. Szeged-Budapest), és a bot azonnal munkához is lát.

Mivel a menetrendben egyszerre kell látnunk az összes járatot és a hozzájuk tartozó különböző paramétereket, úgy döntöttünk, hogy a teljes listát ( ami akár több tucat járatot is tartalmazhat😲 ) egy külön Webview ablakban jelenítjük meg. A fejlesztés során készítettünk egy olyan verziót is, ahol a vonatutak megjelenítéséhez a Messenger kártya és lista UI elemeit használtuk, de ez közel sem nyújtott olyan UX-t, mint egy jól struktúrált Webview lista.

Chabot / Webview - Sihuhu menetrend chatbot

A pontosított keresések esetében ( pl. Mikor megy a következő vonat Pécsről Budapestre? ) szövegesen válaszol a bot, hogy időt spóroljon a usernek.

Intelligencia

A fejlesztést megelőzően egy termetes kérdésadatbázist állítottunk össze különböző use casek alapján. Olyan élethelyzeteket kerestünk, ahol a felhasználók szűkíteni szeretnék a járatok listáját, vagy egy adott információhoz szeretnének hozzáférni. Ilyen például a másnapi első vonat indulási időpontja, vagy a menetjegy ára egy kiválasztott vonalon.

Bot intelligencia - Sihuhu menetrend chatbot

Bot intelligencia - Sihuhu menetrend bot

 

Néhány rövid példa, hogy milyen üzeneteket képes feldolgozni a Sihuhu:

  • “Berettyóújfalu-Békéscsaba”
    A Sihuhu elküldi a két település közötti menetrendet oda és vissza úttal, valamint egy külön menetrend kártyát is.
  • “Következő vonat: Pécs » Győr”
    A Sihuhu kikeresi a következő induló vonatot az adott napon a két település között és még az azt követő 3-at. Az adatokat összesíti és elküldi üzenetben.
  • “Mikor indul az első vonat Szegedről a Nyugatiba?”
    A Sihuhu kikeresi az első induló vonatot az adott napon a két település között és még az azt követő 3-at. Az adatokat összesíti és elküldi üzenetben.
  • “Utolsó vonat Bp – Szeged?”
    A Sihuhu kikeresi az adott napon utolsó induló vonatot a két település között és még az azt megelőző 3-at. Az adatokat összesíti és elküldi üzenetben.
  • “Köki,Kecskemét menetjegy”
    A Sihuhu kikeresi az összes jegyárat a két település között és felhasználja a felhasználóhoz beállított kedvezmény százalékot. Az adatokat összesíti és elküldi üzenetben.
  • “Átszállás nélkül Szeghalom Békéscsaba között.”
    A Sihuhu kikeresi az első induló vonatot a holnapi napon a két település között és még az azt követő 3-at. Az adatokat összesíti és elküldi üzenetben.

Ezen felül a menetrend keresések során a bot különböző ellenőrzéseket hajt végre. Például, ha üzenetben kérünk egy menetrendet 2 település között, és valamelyik útvonalon vonatpótló busz jár, a bot külön üzenetben értesít minket róla.

Megosztás

A Sihuhu egyik legjobb feature a megosztás! A felhasználók megoszthatják a kiválasztott vonatút adatlapját egy vagy több ismerősükkel.  A címzettek a kártyát megnyitva egy Webview felület látnak, ahol az utazás részleteit tekinthetik meg. Pontosan nyomon követhetik az utunkat, így ha egy picit késik a vonat, nincs szükség telefonálgatásra, hogy mikor kell kijönniük értünk az állomásra. Az utazással kapcsolatos esetleges késések láthatóak az menetrendben.

Megosztás - Sihuhu menetrend chatbot

A vonatutak megosztása biztosítja a felhasználói bázisunk folyamatos növekedését.

UI / Messenger

Több alkalommal is a Messenger Generic Templatejét (jómagam csak kártyának hívom : egy részletes cikk ) használjuk, mivel az 1:1 vagy 1:1.91 arányú képeken rengeteg információt tudunk megjeleníteni. A kártyákra szerver oldalon egyedi grafikát generálunk a dinamikus adatok alapján, hogy könnyebben értelmezhetőek legyenek. A mentett vonatutaknál a kártya kép hátterébe több eltérő kép közül válogat a rendszer, így ha user több utat is lement egymás alá, könnyebb megkülönböztetni őket az eltérő háttérképeknek köszönhetően. A menetrend kereséseknél párhuzamosan elküldjük az oda és visszautat is.

Dinamikus kártyák - Sihuhu menetrend chatbot

A nem egyedileg generálódó kártyákra nagy és jól értelmezhető ikonokat helyeztünk el, ami a kártyán keresztül elérhető funkciót szimbolizálja.

Statikus kártyák - Sihuhu menetrend chatbot

UI / Webview

Egyedi UI-t készítettünk a Sihuhu számára. Keresést követően lista nézetben jelenítjük meg a vonatutakat, ezen a felületen csak a legfontosabb paramétereket jelenítjük meg. A vonatutak részletes információinak megtekintéséhez csak le kell nyitni a listaelemet.

A lenyitást követően férhetnek hozzá a felhasználók a kiválasztott úttal kapcsolatos funkciókhoz:

  • vonatút mentése
  • vonatút megosztása ismerőssel
  • jegyvásárlás

Webview UI - Sihuhu menetrend bot

Oktatás

A felhasználók a bot használatának megkezdésekor csak a legalapabb funkciókról tudnak: ha üzenetben elküldenek kettő települést, a Sihuhu válaszul megküldi a települések közötti menetrend kártyákat. Ez az esetek többségében elég is lehet, de van amikor egy kis pontosítással azonnal hozzájuthat a felhasználó az őt érdeklő információhoz.

💡 Ezért a bot tárolja a felhasználókhoz, hogy az app melyik featureit használták eddig.

A Sihuhu egy idő után mini tutorialokat küld, amiben bemutatja az alkalmazásban rejlő lehetőségeket ( pl. kártya mentés, pontosított keresés, jegyvásárlás ). A felhasználók pozitívan fogadták a bot javaslatait és sokan azonnal ki is próbálták a bemutatott funkciót.

Tutorial - Sihuhu menetrend bot

Eredményeink

🚀 A post írásakor több mint 7500 egyéni felhasználóval büszkélkedhetünk. A felhasználóink nagyon aktívak, folyamatosan jobbnál jobb ötletekkel látnak el minket, amiket igyekszünk rövid időn belül beépíteni.

7500+ Sihuhu felhasználó

A Sihuhu a RoboRobo saját projektje, amit folyamatosan fejlesztünk a felhasználók visszajelzései alapján. Minél több funkciót építünk be, annál több igény érkezik a userektől, egyre szofisztikáltabb funkciókat várnak el tőlünk, és mi igyekszünk eleget tenni az elvárásaiknak.

 

Próbáld ki a Sihuhut:
https://m.me/roborobosihuhu/