Praktický návod

Jak navrhnout stavový systém objednávek v e-shopu

Aby objednávka neskákala chaoticky mezi stavy. Nejdřív popiš pravidla na papír, pak je převeď do aplikace.

15 minut · E-shop

Nejdřív stručně

Proč nestačí jedno volné políčko se stavem?

Stavový systém říká, v jakém kroku objednávka právě je a kam smí pokračovat. Nejde jen o názvy stavů. Důležitá jsou pravidla mezi nimi.

Například objednávka může čekat na platbu, být zaplacená, odeslaná nebo zrušená. Neměla by se ale omylem vrátit z odeslané rovnou do čekání na platbu.

Připrav si

Co si ujasnit předem

Nezačínej knihovnou ani tabulkou v databázi. Začni tím, co se s objednávkou skutečně děje.

  • Seznam reálných stavů. Použij slova, kterým rozumí zákaznická podpora i sklad.
  • Kdo smí změnu provést: zákazník, administrátor, sklad nebo automatická platba.
  • Co se má stát po každé změně. Třeba rezervace zásob, e-mail nebo předání dopravci.
  • Kde budeš ukládat aktuální stav i historii. Obvykle do databáze.

Krok 1

Navrhni pravidla po malých krocích

Cílem není dlouhý seznam výjimek. Cílem je pár srozumitelných stavů a jasné přechody mezi nimi.

1. Napiš stavy, ne technické detaily

  1. Začni jednoduchým seznamem, například nová, čeká na platbu, zaplacená, odeslaná a zrušená.
  2. Nesnaž se hned pokrýt každou výjimku. Neobvyklý případ se dá doplnit později, až mu budeš rozumět.
  3. Odděl stav platby od stavu doručení, pokud se mění nezávisle. Jinak brzy vzniknou matoucí kombinace.

2. Urči povolené přechody

  1. Ke každému stavu napiš, kam může objednávka dál. Třeba z čekání na platbu do zaplacené nebo zrušené.
  2. Nepovoluj změnu jen proto, že ji umíš zapsat do políčka. Aplikace má odmítnout krok, který nedává smysl.
  3. Pravidla udržuj na jednom místě. Ne roztroušená v kontroleru, administraci a importu.

3. Ulož změnu i její historii

  1. Při přechodu zapiš nový stav, čas a důvod změny. Hodí se i informace, kdo ji spustil.
  2. Následnou akci prováděj až po úspěšném uložení změny. Například e-mail o odeslání až po označení objednávky jako odeslané.
  3. Díky historii později snadno zjistíš, proč se objednávka dostala do konkrétního stavu.

Krok 2

Ověř pravidla na konkrétní objednávce

Projeď běžnou cestu i jednu chybu. Teprve pak budeš vědět, že pravidla nejsou jen na papíře.

  1. Projdi běžný scénář

    Vytvoř testovací objednávku a změň ji od nové až po odeslanou. U každého kroku zkontroluj aktuální stav i historii.

  2. Zkus zakázaný skok

    Zkus třeba označit novou objednávku rovnou jako odeslanou. Aplikace má změnu odmítnout a srozumitelně vysvětlit proč.

  3. Zkontroluj navazující akci

    Ověř, že e-mail, sklad nebo jiná návazná práce reaguje jen na správný přechod. Nemá se spustit při každém uložení objednávky.

Když to zlobí

Nejčastější chyby

Stav lze přepsat odkudkoliv

Změnu nenechávej volně zapisovat ve formuláři ani v každém kusu kódu. Vytvoř jednu cestu pro přechod, která zkontroluje pravidla.

Jeden stav míchá platbu, dopravu a reklamaci

Rozděl nezávislé oblasti. Stav platby nemusí být stejný jako stav doručení. V opačném případě rychle přibývá zbytečných kombinací.

Nevíš, kdo stav změnil

Ukládej historii přechodů. Zapiš starý a nový stav, čas, zdroj změny a případně důvod. Při řešení reklamace ti to ušetří hodiny.

Dvě změny přijdou ve stejnou chvíli

Při ukládání chraň data před souběhem. Dobře nastavená databázová transakce pomůže, aby se změna uložila celá, nebo vůbec.

Hotovo

Objednávka má jasnou cestu.

Začni s několika stavy a přechody, které opravdu používáš. Až potom doplňuj další pravidla podle reálných situací.

Zavolejte mi

Zavolám vám následující pracovní den mezi 9:00 a 17:00.

Můžete mi také zavolat rovnou.

+420 605 181 728

Nechte mi telefonní číslo a pošlete žádost o zpětné zavolání.

Odesláním souhlasíte se zpracováním údajů pro vyřízení žádosti.