Skip to main content

Lifecycle · Article 2.1

Cykl życia propozycji od początku do końca

Każda propozycja przechodzi przez maksymalnie dziewięć przejść statusów, z dwoma aktorami (Tobą i klientem) przekazującymi sobie kontrolę po drodze. Oto kanoniczna mapa.

To najczęściej zapisywana w zakładkach strona w dokumentacji Clozo. Gdy nie jesteś pewien, gdzie znajduje się propozycja, dlaczego akcja nie jest dostępna lub jaki e-mail właśnie wyszedł, znajdź aktualny status na poniższym diagramie i kliknij, aby przejść do szczegółowego artykułu. Każda plakietka statusu jest głębokim linkiem.

Quick visual tour

  1. lifecycle-overview step 1: Każda propozycja zaczyna się tutaj. Osiem statusów przed nami, dwa zjazdy awaryjne.

    Step 1: Każda propozycja zaczyna się tutaj. Osiem statusów przed nami, dwa zjazdy awaryjne.

  2. lifecycle-overview step 2: Status 1: Draft. Widzisz go tylko Ty. Edytuj swobodnie.

    Step 2: Status 1: Draft. Widzisz go tylko Ty. Edytuj swobodnie.

  3. lifecycle-overview step 3: Status w trakcie: klient podpisał, zaliczka zapłacona, jesteś w pracy.

    Step 3: Status w trakcie: klient podpisał, zaliczka zapłacona, jesteś w pracy.

  4. lifecycle-overview step 4: Faktura końcowa rozliczona. Pieniądze trafiają na Twoje konto.

    Step 4: Faktura końcowa rozliczona. Pieniądze trafiają na Twoje konto.

  5. lifecycle-overview step 5: Osiągasz Completed — propozycja jest zamknięta i zarchiwizowana.

    Step 5: Osiągasz Completed — propozycja jest zamknięta i zarchiwizowana.

  6. lifecycle-overview step 6: Istnieją dwa zjazdy awaryjne: Declined (klient mówi nie) i Expired (90 dni ciszy).

    Step 6: Istnieją dwa zjazdy awaryjne: Declined (klient mówi nie) i Expired (90 dni ciszy).

Plakietka statusu na każdej propozycji w pulpicie, oś czasu na stronie szczegółów propozycji oraz baner u góry strony („Awaiting client signature", „Payment received" itp.), który podaje jednozdaniowe podsumowanie statusu w prostym języku.

Why this works this way

Cykl życia jest zaimplementowany jako automat skończony w backendzie (backend/apps/proposals/models.py:Proposal.STATUS_*). Pole status jest źródłem prawdy — każdy element UI, wyzwalacz e-maila, widoczność przycisku i handler webhooka odczytuje z niego. Ujawniamy przejścia w diagramie, abyś mógł przewidzieć, co nadejdzie, bez uczenia się implementacji.

Format dwuaktorowych torów (swimlane) wyraźnie pokazuje, które przejścia możesz uruchomić Ty, a które uruchamia klient. Większość dokumentacji narzędzi dla freelancerów zwija to w pojedynczy liniowy przepływ, co zaciemnia kluczowy fakt: od Sent przez Signed czekasz na klienta; nie masz przycisku, aby przesunąć stan. Niektóre statusy (np. Viewed) może uruchomić tylko klient.

Troubleshooting

Keep reading