All Digital

Уебсайтове · Индивидуален сайт и резервационна система

Planirent - Сайт за коли под наем и резервации

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

Сайтът на Planirent за коли под наем с каталога на автомобилите и резервационния поток
Сайтът на Planirent за коли под наем с каталога на автомобилите и резервационния поток

Накратко

Planirent е бизнес за коли под наем. Изградихме сайта и резервационната система зад него: каталог на автомобилите, наличност по дати, плащане с карта, страници за потвърждение, зона за управление на резервации, стъпка за одобрение от оператор и обработка на връщане на суми.

Бизнес контекст

Отдаването на коли под наем е оперативен бизнес, облечен в сайт. Публичната част трябва да направи автомобила да изглежда достоен за наемане и резервацията да се усеща сигурна, а операторът зад нея трябва да пази контрол кои резервации се приемат, кога една кола наистина е свободна и какво се случва при отказ. Двете аудитории искат различни неща от една и съща система.

Предизвикателството

Работният процес не пасваше на нито един готов плъгин за наеми. Наличността е по период, а не по отделен ден, депозитът се взима при резервация, всяка резервация изисква одобрение от оператор, преди да бъде потвърдена, вместо да се приема автоматично, а отказите изискват връщане на суми, което зачита вече взетото. Всяко от тези неща поотделно съществува в някой плъгин; комбинацията - не, а заобикалянето ѝ би означавало един плъгин да се бори с други три.

Потребителско изживяване и интерфейс

Публичната част започва с автомобилите, защото решението се взима по тях. Изборът на дати е поставен преди каталога, а не след него, за да виждат клиентите резултати, филтрирани по наличност, вместо да откриват при плащането, че датите им не стават. Всяка стъпка от резервацията показва какво е избрано и какво още липсва, а общата сума - включително депозитът - се вижда преди стъпката на плащане, а не на нея.

Разработка

Изградено на React и TypeScript. Резервационната логика е написана, а не конфигурирана: проверки за наличност по период, задържане на чакащи резервации, преходи между състоянията чакаща, потвърдена, отказана и възстановена, и правилата кои преходи са позволени. Плащанията минават през Stripe, като състоянието на плащането и състоянието на резервацията се държат съгласувани, за да не може успешно плащане да остави непотвърдена резервация.

Архитектура и интеграции

Записът на резервацията е единственият източник на истина за състоянието ѝ, а събитията по плащане и връщане се закачат към него, вместо да се следят отделно. Stripe поема данните на картата, така че приложението никога не ги съхранява. Транзакционните имейли се задействат от смяната на състоянието, а не от интерфейса, така че потвърждение не може да бъде изпратено за резервация, която реално не е сменила състояние.

Скорост и търсене

Публичните представителни страници и страниците на автомобилите се генерират на сървъра и са обходими; зоната за управление на резервации и инструментите на оператора са зад вход и са изключени от индексиране и от sitemap. Страниците на автомобилите имат уникални заглавия, описания и заглавни нива, а не генериран шаблон, а изображенията са с правилни размери и се доставят адаптивно.

Какво беше доставено

Работеща платформа за наеми, в която посетител може да провери наличност, да резервира автомобил и да плати, а операторът може да одобрява, управлява и възстановява суми от едно място - замествайки работен процес, който никаква комбинация от плъгини не покриваше. Нямаме проверени данни за конверсии или приходи след пускането, които да публикуваме.

Обхват

  • Публичен сайт и каталог на автомобилите
  • Логика за наличност и цени по дати
  • Резервационен поток от търсене до потвърждение
  • Интеграция за плащане с карта
  • Страници за потвърждение и транзакционни имейли
  • Зона за управление на резервации за клиента
  • Работен процес за одобрение от оператор и връщане на суми

Подход и ключови решения

Моделиране на наличността преди дизайна на екраните

Наличността е сърцето на продукта, затова беше моделирана първа: резервацията заема период, периодите за един автомобил не могат да се застъпват, а чакащите резервации задържат своя период, докато чакат одобрение. Проектиране на интерфейса преди това би дало екрани, които не могат да изразят реалните правила.

Операторът остава в процеса по замисъл

Автоматичното потвърждение е по-лесно за изграждане и грешно за този бизнес. Резервацията се създава като чакаща, задържа датите и става потвърдена едва когато операторът я одобри. Текстовете към клиента го казват направо, за да не пристигне никой за кола, която никога не е била приета.

Състоянията при неуспех се проектират първи

Отказани карти, дати, които са станали заети по време на плащането, откази и връщане на суми - това са местата, където резервационните системи реално се чупят. Тези състояния бяха проектирани като част от потока, а не поети от обща страница за грешка.

Махаме триене, без да махаме контрол

Клиентският път е кратък - дати, автомобил, данни, плащане, потвърждение - без задължителна регистрация. Контролът, от който бизнесът има нужда, живее от страната на оператора, вместо да бъде избутан в клиентския поток като допълнителни стъпки.

Това описание представя извършената работа и изградените възможности. Не съдържа данни за трафик, конверсии или приходи, защото нямаме проверени измервания след пускането, които да публикуваме.

Имаш подобен проект?

Разкажи ни какво искаш да изградиш и ще върнем ясен и честен план.