Такси қосымшасы сырттай қарапайым көрінеді: пайдаланушы экрандағы картада өз орнын көрсетеді, барар жерін таңдайды, жақын жердегі жүргізуші келіп алып кетеді. Бірақ осы бір-екі түртудің артында бір мезгілде жұмыс істейтін бірнеше жүйе жатыр: нақты уақыттағы геолокация, жүргізушіні іздеу алгоритмі, баға есептеу, төлем, хабарлама, қауіпсіздік және екі жақты қолданба. Сондықтан такси қосымшасын «карта мен батырмасы бар қосымша» деп бағалау - жобаның ең көп таралған қателіктерінің бірі.
Бұл мақалада такси қосымшасының не істейтінін, оның қандай бөліктерден тұратынын, қандай техникалық және бизнес мәселелер туындайтынын және жобаны қалай тәуекелі аз жолмен бастауға болатынын қарастырамыз. Мақала бастаған бизнеске де, өз қызметін цифрландырғысы келетін шағын такси паркіне де арналған.
Такси қосымшасы нені қамтиды: үш бөлік
Такси қызметі бір емес, үш бөлек өнімнен тұрады, және олар бір-бірімен үздіксіз деректер алмасып тұрады. Біріншісі - жолаушы қосымшасы, екіншісі - жүргізуші қосымшасы, үшіншісі - әкімші панелі мен диспетчерлік жүйе. Үшеуі де бірдей маңызды: жолаушы қосымшасы әдемі болса да, жүргізуші қосымшасы ыңғайсыз болса, парк жүргізушілерді ұстап тұра алмайды, ал әкімші панелі болмаса, бизнес өз қызметін басқара алмайды.
Бұл құрылым екі жақты платформаға ұқсайды: бір жағында тапсырыс беретін адамдар, екінші жағында оны орындайтындар, ал ортада олардың арасындағы келісімді басқаратын жүйе. Сондықтан маркетплейс жасау туралы жазылған көп нәрсе - тұрақты сенім, модерация, төлемді бөлу және екі жақты аудиторияны тарту - такси қосымшасына да қатысты.
Жолаушыға арналған қосымша
Жолаушы үшін ең маңыздысы - қарапайымдылық пен жылдамдық. Тіркелу қысқа болуы керек, көбіне телефон нөмірі мен SMS-кодпен-ақ кіруге болады. Картада адамның орналасқан жері автоматты түрде анықталып, барар жерді мекенжай бойынша немесе картадан таңдау ыңғайлы болуы керек. Содан кейін қосымша болжамды бағаны, жету уақытын және көлік түрін (эконом, комфорт және т.б.) көрсетіп, тапсырысты растайды.
Тапсырыс берілгеннен кейін жолаушы жүргізушінің қозғалысын картада нақты уақытта көреді, жүргізуші туралы мәлімет (аты, көлік маркасы, нөмірі, рейтингі) және онымен байланысу мүмкіндігі қолжетімді болады. Сапардан кейін төлем, баға мен пікір қалдыру, сапар тарихы және чек қарастырылады. Қосымша пайдалы функциялар - таңдаулы мекенжайлар (үй, жұмыс), алдын ала тапсырыс беру, бонустар мен промокодтар, жолаушының жақындарымен сапарды бөлісу мүмкіндігі.
Жүргізушіге арналған қосымша
Жүргізушіге арналған қосымша жолаушы қосымшасынан гөрі жиі бағаланбайды, бірақ парктің табысы көбіне осы қосымшаның ыңғайлылығына байланысты. Жүргізуші ең алдымен өзінің желіде екенін («лайнда») көрсете алуы керек, тапсырыс түскенде оны дыбыспен және экранда көріп, қабылдауға не бас тартуға мүмкіндігі болуы керек. Тапсырыс туралы қысқа, нақты ақпарат - жолаушының орны, бағыты және шамамен табыс - шешімді тез қабылдауға көмектеседі.
Жүргізушіге навигация, жолаушымен байланыс, сапарды бастау мен аяқтау, күндізгі табыс және есеп айырысу туралы мәлімет қажет. Көліктің жұмыс құжаттарын тіркеу мен тексеру де осы бөлікке кіреді. Қосымша жүргізушіні жұмысқа жұмсау емес, оған көмектесу үшін құрылуы тиіс: дүрбелең интерфейс пен батареяны тез түсіретін қосымша жүргізушілерді жылдам жоғалтады.
Әкімші панелі және диспетчерлік
Әкімші панелі такси қызметінің басқару орталығы. Онда жүргізушілерді тіркеу мен тексеру, көліктер тізімі, тариф пен коэффициенттерді баптау, тапсырыстар мен олардың мәртебесі, дау-дамай мен шағымдар, төлемдер мен жүргізушілермен есеп айырысу, статистика мен есептер болады. Нақты уақытта картада жүргізушілер мен тапсырыстарды көру мүмкіндігі диспетчерге қиын жағдайларда - мысалы, тапсырыс тағайындалмай қалғанда - араласуға көмектеседі.
Диспетчерлік жүйе қосымшаны қолданбайтын клиенттер үшін де маңызды: телефонмен қоңырау шалатын адамдар әлі де көп, және оператор тапсырысты қолмен енгізіп, жүргізушіге жібере алуы керек. Рөлдер мен рұқсаттар мұнда да ойластырылуы тиіс: оператор мен әкімші, бухгалтер мен басшы бәрі де әртүрлі деректерді көруі керек, бұл логика біздің LMS мақаласындағы рөлдер туралы айтқанымызға ұқсас.
Жүйенің жүрегі: жүргізушіні іздеу және тапсырыс тағайындау
Такси қосымшасының ең күрделі әрі ең маңызды бөлігі - тапсырыс түскенде оған ең лайықты жүргізушіні табу. Қарапайым нұсқада жүйе жолаушыға ең жақын бос жүргізушіні таңдайды. Бірақ іс жүзінде қарапайым «ең жақын» ұстанымы жеткіліксіз: нақты жол бойымен жету уақыты, жүргізушінің рейтингі, көлік түрі, тапсырыстан бас тартуы мен көптеген жағдайлар ескерілуі мүмкін.
Әдетте тапсырыс алдымен бір-екі жүргізушіге ұсынылады, ол белгілі уақыт ішінде жауап бермесе, келесіге өтеді. Жүйе жүргізушілердің орнын жиі жаңартып отыруы керек, бірақ ол сервер мен батареяға жүктеме түсіреді, сондықтан жаңарту жиілігі қозғалыс жағдайына қарай реттеледі. Бұл бөлік жобаның басында-ақ мұқият жобаланған жөн, себебі оның сапасы жолаушының күту уақыты мен жүргізушінің табысына тікелей әсер етеді, ал кейін қайта жасау қымбат.
Карталар, маршрут және баға есептеу
Картаны таңдау - жобаның маңызды шешімі. Қазақстанда қолжетімді нұсқалардың ішінде Google Maps, 2ГИС және ашық OpenStreetMap деректеріне негізделген шешімдер бар, және олар қамту дәлдігі, мекенжайларды іздеу сапасы, құны мен пайдалану шарттары бойынша ерекшеленеді. Таңдауға дейін сіздің қалаларыңыз бен аудандарыңызда мекенжайлар қаншалықты дәл екенін тексеру керек, ал лицензия шарттары мен ықтимал төлемдерді қолдану көлемін бағалап көру керек, өйткені тапсырыс көбейген сайын картаға сұраныстар саны да өседі.
Баға есептеу тарифке негізделеді: отырғызу құны, километр мен минут үшін ақы, түнгі, сағаттық және басқа коэффициенттер, күту ақысы. Көп платформа сұраныс жоғары кезеңде (жаңбыр, шың сағаттары) бағаны динамикалық түрде көтереді, бірақ мұндай шешім жолаушылар арасында қарсылық тудыруы мүмкін, сондықтан оны ашық және түсінікті ету қажет. Баға сапар басталмай тұрып көрсетілуі, ал соңғы құн болжамнан кенеттен айырмашылық жасамауы керек, себебі күтпеген соманы көрген клиент қосымшаға сенімін жоғалтады.
Төлем және комиссия
Такси қосымшасында төлемнің бірнеше тәсілі болады: қолма-қол ақша, банк картасы және басқа электронды тәсілдер. Қолма-қол төлем көп нарықта әлі де кең таралған, сондықтан жүйе оны ескеруі керек, ал комиссияны жүргізушінің балансынан ұстап қалу сияқты механизмдер қажет болады. Картамен төлем жағдайында ақша платформа арқылы өтіп, комиссия ұсталады, қалғаны жүргізушіге аударылады. Төлемді техникалық қосу мен қауіпсіздік туралы біз онлайн-төлем мақаласында толық жаздық.
Платформаның табыс моделі әдетте әр сапардан алынатын комиссияға негізделеді, ал кейбір қызметтер оған жүргізушілерге арналған жазылым не ақылы қосымша функциялар қосады. Жүргізушілер үшін комиссия мен жұмыс шарттары түсінікті әрі тартымды болуы керек, әйтпесе олар басқа платформаға ауысады. Қаржылық есептілікті, салықтар мен жүргізушілермен есеп айырысуды жобаның басында-ақ бухгалтермен және заңгермен талқылаған жөн.
Сұрақ қойыңыз немесе өтінім қалдырыңыз
Қалаңыз бен аудиторияңыз туралы айтыңыз — MVP құрамын анықтап, картаны таңдап, жүргізушіні іздеуді жобалауға көмектесеміз.
Форманы жіберу арқылы дербес деректерді өңдеуге келісім бересіз.
Қауіпсіздік және сенім
Такси - адамдар бейтаныс жүргізушіге өзін сеніп тапсыратын қызмет, сондықтан қауіпсіздік функциялары қосымшаның міндетті бөлігі. Жүргізушілерді тіркеу кезінде құжаттарын тексеру, көлік туралы мәліметті растау, рейтинг пен пікір жүйесі және шағымдарды қарау процесі сенімді қалыптастырады. Жолаушы үшін сапарды жақындарымен бөлісу, төтенше жағдайда көмек шақыру батырмасы және жүргізуші мен көлік деректерінің сәйкестігін тексеру мүмкіндігі пайдалы.
Жеке деректерге қатысты талаптар да ерекше назар аударуды қажет етеді: қосымша жолаушылар мен жүргізушілердің телефон нөмірлерін, орналасқан жерін, сапар тарихын және төлем ақпаратын өңдейді. Геолокация - әсіресе сезімтал деректер, сондықтан оны жинау мақсаты, сақтау мерзімі және қорғау тәсілдері алдын ала ойластырылып, құқықтық талаптарға сай болуы керек. Бұл туралы біз персональді деректерге арналған мақалада толық жаздық.
Техникалық архитектура және нақты уақыттағы жұмыс
Техникалық тұрғыдан такси қосымшасының басты ерекшелігі - деректердің нақты уақытта берілуі. Жүргізушінің орны үздіксіз жаңарып, жолаушының картасында қозғалып тұруы керек, тапсырыс мәртебесі лезде өзгеруі, ал хабарламалар кідіріссіз жетуі қажет. Бұл үшін әдетте нақты уақыттағы байланыс технологиялары (WebSocket және ұқсас механизмдер), push-хабарламалар және жедел өңдеуге бейімделген серверлік архитектура қолданылады.
Жүктеме жағынан такси қосымшасы біркелкі емес: шың сағаттарында тапсырыстар мен геолокация сұраныстары бірнеше есе өсуі мүмкін, сондықтан архитектура алдын ала масштабтауға есептелгені жөн. Іздеу, тапсырыс, төлем және хабарлама сияқты бөліктерді бөлек модульдерге бөлу кейін өсуді жеңілдетеді, бұл логика микросервистік архитектура мақаласында жазылған, бірақ бастапқыда шағын жобаға модульді монолит жеткілікті болуы мүмкін. Сыртқы жүйелермен - карта, төлем, SMS, хабарлама - интеграциялар да көп, олар туралы API интеграциялары мақаласында жаздық.
Мобильді бөлікті Flutter сияқты кросс-платформалы құралмен жасап, iOS пен Android-ты бір кодпен жабуға болады, бірақ геолокация мен фондық режимде жұмыс істеу үшін құрылғы мүмкіндіктеріне терең қол жеткізу керек, сондықтан бұл жағын мұқият тексеру қажет.
Бизнес-қиындық: екі аудиторияны тарту
Такси қосымшасын жасаудағы ең үлкен қиындық технологияда емес, нарықта. Жолаушы жүргізуші көп болса ғана қосымшаны қолданады, ал жүргізуші тапсырыс болса ғана жүреді. Бұл - маркетплейстердегі әйгілі «тауық пен жұмыртқа» мәселесі, және оны шешудің әмбебап формуласы жоқ. Дегенмен жұмыс істейтін тәсілдер бар: шағын қаладан немесе бір ауданнан бастап, сол ішінде жүргізушілердің тығыздығына жетіп, содан кейін кеңейту; жүргізушілерге алғашқы кезеңде төмен комиссия немесе кепілдендірілген табыс ұсыну; бар такси паркімен немесе диспетчерлік қызметпен бірігу.
Сондықтан такси қосымшасын жасамас бұрын нарықты бағалау қажет: сіздің қалаңызда қандай қызметтер бар, олардың артықшылықтары мен әлсіз жақтары қандай, сіз нені жақсырақ жасай аласыз. Ірі ойыншылармен жалпы бағытта бәсекелесу өте қиын, ал нақты бір қалада, нақты бір аудитория үшін - мысалы, шағын қалалар, корпоративтік тасымал, балаларды тасымалдау, әуежайға трансфер - әлдеқайда тиімді болуы мүмкін.
Құқықтық мәселелер
Такси қызметінің құқықтық жағы жобаның құрылымына байланысты: платформа тек жолаушы мен жүргізушіні байланыстыра ма, әлде өзі тасымалдаушы ретінде әрекет ете ме, жүргізушілер кім болады (жеке тұлғалар, ЖК немесе парктің қызметкерлері) және төлем қалай ұйымдастырылады. Бұл сұрақтар лицензиялау, салық, жауапкершілік және сақтандыру талаптарына әсер етеді, ал Қазақстанда оларға қатысты нақты ережелер мен олардың өзгерістерін жоба басында заңгермен тексеру қажет.
Сонымен қатар пайдаланушы келісімі, жүргізушімен шарт, құпиялылық саясаты және шағымдарды қарау ережесі құқықтық тұрғыдан дұрыс рәсімделуі тиіс. Бұл құжаттар платформаның жауапкершілік шекарасын анықтайды: жол апаты немесе дау болғанда кім не үшін жауап береді. Жалпы кеңес беруге болмайды, сондықтан мұндағы нақты талаптарды заңгермен нақтылаңыз.
Қайдан бастау керек: MVP
Такси қосымшасын бірден толық функционалмен жасау - қымбат және тәуекелді жол. Практикалық тәсіл - алдымен ең қажетті нәрсені ғана жасау: жолаушы тапсырыс береді, жүргізуші қабылдайды, сапар жүреді, төлем өтеді. Қосымша функциялар - алдын ала тапсырыс, бонустар, көпсатылы маршрут, бизнес-есептер - жүйе нақты пайдаланушылармен тексерілгеннен кейін қосылады. Бұл логика біздің MVP туралы мақалаларымызға сәйкес келеді.
Көп жобада алғашқы кезеңде тағайындау процесінің бір бөлігін қолмен орындау жеткілікті: мысалы, диспетчер тапсырысты қолмен жүргізушіге жібереді, ал автоматты іздеу алгоритмі кейін қосылады. Мұндай тәсіл шектеулі қалада, аз жүргізушімен нарықты сынап көруге және нақты мәселелерді көруге мүмкіндік береді. Сынақтың басты сұрағы - «біз қосымшаны жасай аламыз ба?» емес, «жүргізушілер мен жолаушылар шынымен келе ме және қайта оралады ма?».
Мерзім мен құнға не әсер етеді
Такси қосымшасының құны мен мерзімі бірнеше факторға байланысты: платформалар саны (iOS және Android), функционалдың күрделілігі, іздеу алгоритмінің тереңдігі, төлем тәсілдері мен олардың интеграциясы, карта таңдауы, әкімші панелі мен диспетчерліктің көлемі, көптілділік (қазақша, орысша, ағылшынша), жүктемеге қойылатын талап және қауіпсіздік деңгейі. Қарапайым MVP мен өсуге есептелген толық платформаның арасындағы айырмашылық бірнеше есе болуы мүмкін, сондықтан орташа баға туралы сөз қиын.
Жобаның жалпы құнын бағалағанда әзірлеуге ғана емес, карта мен хабарлама сервистері сияқты сыртқы қызметтерге тұрақты шығындарды, серверді, қолдауды және пайдаланушыларды тартуға кететін маркетингті де қосу керек. Әзірлеушіден нақты ұсыныс алу үшін мүмкіндіктер тізімін емес, мақсатты нәтижені сипаттаған дұрыс, ал бағаларды салыстыру кезінде не кіретінін егжей-тегжейлі сұрау керек.
Жиі кездесетін қателіктер
Ең жиі қате - такси қосымшасын қарапайым жоба деп бағалау: ол бір емес, үш өнімнен тұрады және нақты уақыттағы күрделі жүйені қажет етеді. Екінші типтік қате - технологиядан бастап, жүргізушілер мен жолаушыларды тарту мәселесін кейінге қалдыру: қосымша дайын болады, бірақ бос қалады. Үшіншісі - жүргізуші қосымшасын назардан тыс қалдыру, ал парктің табысы көбіне оның ыңғайлылығына тәуелді.
Сонымен қатар алғашқы нұсқаға тым көп функция сыйғызу, тапсырыс тағайындау алгоритмін тым қарапайым қалдыру немесе керісінше тым ерте күрделендіру, қауіпсіздік пен геолокация деректерін қорғауды ескермеу, құқықтық және салықтық мәселелерді соңына қалдыру және бағаны жолаушыға түсініксіз түрде көрсету жиі кездеседі. Тағы бір қауіп - жүктеме шыңдарына дайын болмау: белсенді сағаттарда қосымша баяулап немесе құлап қалса, ол клиенттерді тез жоғалтады.
Тексеру тізімі
- Нарық пен бәсекелестер талданған, қай қалада және қай аудиторияға арналатыны анық
- Үш бөлік жоспарланған: жолаушы қосымшасы, жүргізуші қосымшасы, әкімші панелі мен диспетчерлік
- Жүргізушіні іздеу және тапсырыс тағайындау логикасы жобаланған
- Карта мен маршрут шешімі таңдалған, шарттары мен құны бағаланған
- Тариф пен баға есептеу ережелері жазылған, баға жолаушыға ашық көрсетіледі
- Төлем тәсілдері (қолма-қол, карта) және комиссия механизмі ойластырылған
- Жүргізушілерді тексеру, рейтинг, шағым мен қауіпсіздік функциялары қарастырылған
- Геолокация мен жеке деректерді қорғау, пайдаланушы келісімі құқықтық тұрғыдан рәсімделген
- Архитектура нақты уақыттағы жұмыс пен шың жүктемелерге есептелген
- Жүргізушілер мен жолаушыларды тарту жоспары бар
- Алғашқы нұсқа шағын аймақта MVP ретінде сынау үшін жоспарланған