Розробка мобільного додатку для залізничних квитків

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Розробка мобільного додатку для залізничних квитків
Середній
від 2 тижнів до 3 місяців
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Розробка мобільного додатку для залізничних квитків

Додаток для продажу залізничних квитків вимагає інтеграції з API перевізника—у Росії це ОАО РЖД через ІС «Експрес-3» або через посередницькі платформи (Tutu.ru API, UFS, Ticketcloud). Прямий доступ до Експрес-3 доступний лише уповноважених агентів, тому більшість незалежних додатків використовує агрегаторів.

Особливості інтеграції з ж/д API

Пошук маршрутів в Експрес-3 повертає поїзди зі всіма вагонами, типами місць та наявністю. Відповідь важка—до 500 KB XML на популярних напрямках типу Москва–Санкт-Петербург. Десеріалізація на головному потоці—гарантована ANR на Android або зависання на iOS. Парсимо в background queue: DispatchQueue.global(qos: .userInitiated) на iOS, Dispatchers.IO на Android.

Вибір місця у вагоні—інтерактивна схема, аналогічна авіа, але з купе, плацкартою та СВ. Кожна схема різна; дані про розкладку вагона надходять з API у вигляді масиву місць з координатами. Рендеримо через Canvas—кастомний компонент з підтримкою zone select mode (нижня/верхня полиця для плацкарти).

// Фільтрування вагонів за типом
data class CarriageFilter(
    val type: CarriageType, // PLATZKART, COUPE, SV, SITTING
    val onlyLowerBerths: Boolean = false,
    val withBedding: Boolean = true
)

// Composable для вибору типу вагона
@Composable
fun CarriageTypeSelector(
    available: List<CarriageType>,
    selected: CarriageType,
    onSelect: (CarriageType) -> Unit
) {
    LazyRow(horizontalArrangement = Arrangement.spacedBy(8.dp)) {
        items(available) { type ->
            FilterChip(
                selected = type == selected,
                onClick = { onSelect(type) },
                label = { Text(type.localizedName()) }
            )
        }
    }
}

Електронний квиток та офлайн-доступ

Після оплати користувач отримує маршрутну квитанцію у PDF. Контролер РЖД приймає QR-код—його потрібно зберігати локально, доступно без інтернету. На iOS—WKWebView з локально завантаженим PDF, або нативна відрисовка через PDFKit. На Android—PdfRenderer з android.graphics.pdf.

Push-повідомлення через FCM/APNs: зміна розпису, затримка поїзда (дані через API статусу поїзда РЖД), нагадування за 24 години до відправлення.

Оплата та повернення

СБП—бажаний варіант для більшості користувачів: миттєво, без комісії для фізичних осіб. YooKassa або ПСБ (Промсвязьбанк, офіційний еквайєр РЖД). Apple Pay через PKPaymentRequest та Google Pay через PaymentsClient—обов'язкові для високої конверсії.

Повернення квитка—окремий API-виклик з розрахунком штрафу за тариф: більше 8 годин до відправлення—повне повернення мінус сервісний збір, менше 8 годин—50% вартості. Логіку розрахунку штрафу не реалізуємо на клієнті—лише показуємо дані від сервера. Деякі агрегатори (UFS, Tutu) повертають суму повернення прямо у відповіді на запит скасування.

Пошук та історія поездок

Пошук за маршрутом: поле звідки-куди з автодоповненням—для Tutu API це GET /v1/cities?q=mosk. Довідник станцій завантажується при першому запуску та кешується локально (близько 2500 станцій РЖД).

Типовий пошук повертає 10–30 поїздів з різними часами відправлення. Сортування: за часом відправлення, за часом у подорожі, за ціною (нижчого класу). Фільтрація: тип вагона, лише з нижніми полицями, час відправлення (день/ніч).

Історія поездок у «Мої квитки»: активні (майбутні), архів. Для кожної поїздки—кнопка «Повернути квиток» з розрахунком суми повернення та кнопка «Показати QR» для офлайн-доступу.

Динамічні ціни та «лотерея» місць

В ІС «Експрес-3» діє динамічне ціноутворення: ціна нижньої полиці в купе зростає в міру зменшення вільних місць та наближення дати відправлення. При пошуку «Москва–Адлер» за місяць ціна купе може бути 3500 руб., за тиждень—5800 руб., за день—7200 руб. Показуємо цю інформацію в карточці поїзда.

Терміни

6–8 тижнів для додатку з пошуком, вибором місць, оплатою, поверненням та історією поездок через агрегаторський API. Вартість розраховується індивідуально після аналізу вимог.