Уебсайтове · Индивидуален сайт и резервационна система
Planirent - Сайт за коли под наем и резервации
Индивидуален сайт и резервационна система за коли под наем с плащане с карта, логика за наличност и практични работни процеси за оператора.

Накратко
Planirent е бизнес за коли под наем. Изградихме сайта и резервационната система зад него: каталог на автомобилите, наличност по дати, плащане с карта, страници за потвърждение, зона за управление на резервации, стъпка за одобрение от оператор и обработка на връщане на суми.
Бизнес контекст
Отдаването на коли под наем е оперативен бизнес, облечен в сайт. Публичната част трябва да направи автомобила да изглежда достоен за наемане и резервацията да се усеща сигурна, а операторът зад нея трябва да пази контрол кои резервации се приемат, кога една кола наистина е свободна и какво се случва при отказ. Двете аудитории искат различни неща от една и съща система.
Предизвикателството
Работният процес не пасваше на нито един готов плъгин за наеми. Наличността е по период, а не по отделен ден, депозитът се взима при резервация, всяка резервация изисква одобрение от оператор, преди да бъде потвърдена, вместо да се приема автоматично, а отказите изискват връщане на суми, което зачита вече взетото. Всяко от тези неща поотделно съществува в някой плъгин; комбинацията - не, а заобикалянето ѝ би означавало един плъгин да се бори с други три.
Потребителско изживяване и интерфейс
Публичната част започва с автомобилите, защото решението се взима по тях. Изборът на дати е поставен преди каталога, а не след него, за да виждат клиентите резултати, филтрирани по наличност, вместо да откриват при плащането, че датите им не стават. Всяка стъпка от резервацията показва какво е избрано и какво още липсва, а общата сума - включително депозитът - се вижда преди стъпката на плащане, а не на нея.
Разработка
Изградено на React и TypeScript. Резервационната логика е написана, а не конфигурирана: проверки за наличност по период, задържане на чакащи резервации, преходи между състоянията чакаща, потвърдена, отказана и възстановена, и правилата кои преходи са позволени. Плащанията минават през Stripe, като състоянието на плащането и състоянието на резервацията се държат съгласувани, за да не може успешно плащане да остави непотвърдена резервация.
Архитектура и интеграции
Записът на резервацията е единственият източник на истина за състоянието ѝ, а събитията по плащане и връщане се закачат към него, вместо да се следят отделно. Stripe поема данните на картата, така че приложението никога не ги съхранява. Транзакционните имейли се задействат от смяната на състоянието, а не от интерфейса, така че потвърждение не може да бъде изпратено за резервация, която реално не е сменила състояние.
Скорост и търсене
Публичните представителни страници и страниците на автомобилите се генерират на сървъра и са обходими; зоната за управление на резервации и инструментите на оператора са зад вход и са изключени от индексиране и от sitemap. Страниците на автомобилите имат уникални заглавия, описания и заглавни нива, а не генериран шаблон, а изображенията са с правилни размери и се доставят адаптивно.
Какво беше доставено
Работеща платформа за наеми, в която посетител може да провери наличност, да резервира автомобил и да плати, а операторът може да одобрява, управлява и възстановява суми от едно място - замествайки работен процес, който никаква комбинация от плъгини не покриваше. Нямаме проверени данни за конверсии или приходи след пускането, които да публикуваме.
Обхват
- Публичен сайт и каталог на автомобилите
- Логика за наличност и цени по дати
- Резервационен поток от търсене до потвърждение
- Интеграция за плащане с карта
- Страници за потвърждение и транзакционни имейли
- Зона за управление на резервации за клиента
- Работен процес за одобрение от оператор и връщане на суми
Подход и ключови решения
Моделиране на наличността преди дизайна на екраните
Наличността е сърцето на продукта, затова беше моделирана първа: резервацията заема период, периодите за един автомобил не могат да се застъпват, а чакащите резервации задържат своя период, докато чакат одобрение. Проектиране на интерфейса преди това би дало екрани, които не могат да изразят реалните правила.
Операторът остава в процеса по замисъл
Автоматичното потвърждение е по-лесно за изграждане и грешно за този бизнес. Резервацията се създава като чакаща, задържа датите и става потвърдена едва когато операторът я одобри. Текстовете към клиента го казват направо, за да не пристигне никой за кола, която никога не е била приета.
Състоянията при неуспех се проектират първи
Отказани карти, дати, които са станали заети по време на плащането, откази и връщане на суми - това са местата, където резервационните системи реално се чупят. Тези състояния бяха проектирани като част от потока, а не поети от обща страница за грешка.
Махаме триене, без да махаме контрол
Клиентският път е кратък - дати, автомобил, данни, плащане, потвърждение - без задължителна регистрация. Контролът, от който бизнесът има нужда, живее от страната на оператора, вместо да бъде избутан в клиентския поток като допълнителни стъпки.
Това описание представя извършената работа и изградените възможности. Не съдържа данни за трафик, конверсии или приходи, защото нямаме проверени измервания след пускането, които да публикуваме.
Имаш подобен проект?
Разкажи ни какво искаш да изградиш и ще върнем ясен и честен план.