1 Zadání Byli jste najati firmou CarFix, zabývající se opravou vozidel, která chce expandovat a diverzifikovat své portfolio službou car-sharingu. Firma provozuje autoopravny v různých městech v Česku a na Slovensku. Jejich vize je provozovat flotilu vozidel ve městech s opravnou k dispozici ke krátkodobé a dlouhodobé výpůjčce. Jedním z požadavků je paperless pronájem, se zjednodušeným pay-and-ride modelem. Pokud by se služba odvděčila, firma chce expandovat i do dalších měst kde není opravna. 図 1: Ilustrace sci-fi auta 1.1 Výpůjčka Auta K zapůjčení vozidla musí zákazník udělat objednávku přes aplikaci (na webu nebo mobilu). Proces výpůjčky obsahuje specifikaci typu nebo konkrétního vozidla, výběrem délky výpůjčky, místo převzetí a odevzdání, a itinerář cesty (řidiči a země kudy auto pojede). Po výběru konkrétního vozidla pro výpůjčku může zákazník specifikovat další služby (pojistka, výběr specifického místa převzetí a odevzdání). Cena je pak vypočítána na základě doby výpůjčky (cena za den je levnější, když je výpůjčka na více dní), doprovodných služeb a pojištění (je několik úrovní). Potom, nájemce a všichni řidiči podepíšou kontrakt a částka je zablokována na nájemcově kartě. Dlouhodobé výpůjčky a specifická místa převzetí mimo město musí být potvrzena manažerem. Pronajaté vozidlo je dostupné pro výpůjčku ve specifickém čase a je pronajaté, dokud není explicitně vráceno. Vozidlo nemá klíč, takže vrácení, zamykání a odemykání je pomocí mobilního telefonu (volání na dané číslo) nebo aplikací. Pro optimální UX musí být příkazy zpracovány do 5 sekund. Zamykání a odemykání může provést jakýkoliv řidič. Pro nastartování auta se musí řidič autorizovat vůči vozidlu pomocí asymetrické kryptografie. To znamená že řidičův veřejný klíč je uložen ve vozidle a privátní klíč na uživatelově zařízení. Pro navrácení auta, musí být vozidlo zaparkované, prázdné, zamčené, a s plnou nádrží/baterií. 1.2 Poplatky K výpůjčce můžou být přidány další poplatky. Pokud není vozidlo vráceno včas (plus hodinový buffer), je pronájem zpoplatněn ve stylu pay-as-you-go s další 50% přirážkou. Pokud uživatel vrátí vozidlo jinde (300 m tolerance), platí přirážku, která se odvíjí od vzdálenosti (přirážka má různé úrovně, takže nechat auto ve stejném městě je nižší než ho nechat v jiném). Dále může uživatel pořádat o změnu výpůjčky. To zahrnuje přidání dalších řidičů nebo změnu itineráře. Tyto jsou zpoplatněny běžným způsobem. Nicméně další přirážky mohou být započítány při nedovoleném chování (např. cesta do zahraničí). Změna musí být povolena manažerem. Prodloužení výpůjčky je 1 možné pouze pokud neexistuje žádná rezervace stejného vozidla. Výpůjčka může být ukončena předčasně s 75% storno poplatkem. 1.3 Uživatelský Účet Pro využití služby se musí uživatel zaregistrovat. Registrace obsahuje všechny důležité informace pro potřeby fakturace. Dále, pro řízení auta, musí uživatel vložit svůj řidičský průkaz a vygenerovat klíč pro autorizaci ve vozidle. Zákazník může kdykoliv smazat svůj účet, s tím že historie je zachována. Z důvodu ochrany osobních údajů je požadována aby výpůjčky starší dvou let bez aktivního účtu měli uloženy pouze smlouvy a faktury. 1.4 Flotila Vozidel CarFix vlastní flotilu vozidel, které jseou dostupné pro výpůjčku. Každé vozidlo je organizováno pod jednou autoopravnou, v závislosi na vzádlenosti. Tyto auta mohou být podle potřeby přepsány operátorem. Každé auto spadá pod nějakou kategorii (např. sport, malé, XL, pickup, elektrické, luxusní, automatická převodovka) pro zjednodušení vyhledávání. Dále každé auto má jinou cenovou kategorii. Některé vozidla umožnují pay-as-you-go výpůjčku. Každé auto je vybaveno infotainment systémem a sadou senzorů (lokace, rychlost, palivo). Podporuje � CarBoardX“ API, které má podporu pro účty řidičů a používá kryptograficky zabezpečený, autentický kanál pro komunikaci. Telemetrie je přenášena pomocí MQTT protokolu. Pokud autu dochází palivo/baterie, je nemožné si ho pronajmout pro pay-as-you-go a notifikuje operátora. Technik pak auto vyzvedne pomocí servisního klíče/tokenu. 1.5 Pay-as-you-Drive Některé vozidla jsou k dispozici pro pay-as-you-drive výpůjčku. Pro vypůjčení je potřeba zadat pouze začátek výpůjčky s nespecifikovaným koncem. Každé takové vozidlo může řídit pouze jeho nájemce a musí být vrácen pouze v rámci určeného místa (typicky město). Může být řízeno mimo město, ale nesmí překročit státní hranici. Zákazník je fakturován v závislosti na času výpůjčky. Sleva může být aplikována, pokud je auto vráceno na určité místo (například specifické parkovací místo, nebo nabíjecí stanici). 1.6 Slevové Akce Během používání služby dostává zákazník body do � génius“ programu. Toto je úrovňový program nabízející slevy. Body do programu jsou získány řízením auta a platbou za rezervaci. Během výpůjčky má uživatel slevy v partnerských místech (např. čerpací stanice, parkoviště, motoresty). 2