Deal stages
All deal stages from the state machine: who moves it, what is required to enter, SLA and what happens automatically. The table is generated from code.
Every deal goes through state machine stages, from lead to close. It is one logic for Desk, the client cabinet, Track, the API and the bots.
The table below is not edited by hand
It is generated by the generate script from @core/domain (DEFAULT_MACHINE) when the documentation is
built. A test checks that the committed version matches the code. These are the default stages: your
company can rename, disable or hide some of them.
How transitions work
- Forward to the next stage is possible only after its required conditions are met (for example the contract is signed, the deposit received, a VIN and lot price exist, a container or B/L exists). The transition dialog in Desk shows what is missing.
- Skipping stages. Some stages can be skipped depending on the deal type (the "Can be skipped" column): full service, auction only, logistics only, resale. "Consultation", "Bid approved", "Inland to border", "Certification" and "Registration" can be skipped in all types.
- Backwards and into side statuses (hold, dispute, cancelled, lost) require a reason. Only the owner can cancel a deal after the "Lot won" stage.
- Automatic actions on entering a stage: a notification to the client or manager (Telegram, Viber, email, SMS per your settings), tasks with due dates, document generation (a deposit invoice, a lot invoice), ETA recalculation, a client approval request.
- SLA is the standard time in a stage, in days. A stage becomes "due soon" at 80 % of the time and "overdue" after it. The client's progress is weighted by SLA: 45 days at sea is a big part of the journey.
- Visibility to the client. The "Client sees" column is the stage name on Track and in the cabinet. A stage can be hidden from the client (
public: false).
Your stage settings
In tenant settings (stages_override) for a stage you can:
- disable it (unless it is mandatory: "New lead", "Car handed over", "Closed" and the side statuses cannot be disabled);
- change its SLA;
- rename it for the client and for the manager (per language);
- hide it from the client.
When you disable a stage, its required conditions are not lost: they move to the nearest transition that "jumps over" the disabled stage (unless you explicitly opt out with dropRequirements). The "Settings → Deal stages" screen is In development; for now the operator changes the settings.
Stage table
Main flow
| # | Stage | Client sees | Phase | SLA, days | Progress | Who moves it | Required to enter | Can be skipped | Automatic actions |
|---|---|---|---|---|---|---|---|---|---|
| 1 | leadNew lead | Request received | Agreement | 1 | 0% | owner, manager | — | — |
|
| 2 | consultConsultation | Consultation | Agreement | 3 | 1% | owner, manager | Contact has no phone, email or messenger | all deal types |
|
| 3 | contract_signedContract signed | Contract signed | Agreement | 3 | 3% | owner, manager, accountant | A signed contract (or uploaded scan) is required | — |
|
| 4 | deposit_paidDeposit received | Deposit paid | Agreement | 2 | 5% | owner, manager, accountant | No successful deposit payment | logistics only |
|
| 5 | searchingSearching | Searching for a car | Auction | 21 | 6% | owner, manager | — | logistics only, resale |
|
| 6 | bid_approvedMax bid approved | Bid approved | Auction | 7 | 19% | owner, manager, client | Client has not approved the max bid | all deal types |
|
| 7 | wonLot won | Car purchased | Auction | 3 | 24% | owner, manager | Enter the lot price; Enter a valid VIN | logistics only, resale |
|
| 8 | paid_to_auctionPaid to auction | Car paid | Auction | 3 | 26% | owner, manager, accountant | Auction lot is not paid | logistics only, resale |
|
| 9 | pickup_scheduledTowing ordered | Pickup scheduled | USA | 7 | 28% | owner, manager, logistics | Enter a valid VIN; Enter the pickup date | auction only, resale |
|
| 10 | at_us_warehouseAt US warehouse | At US warehouse | USA | 10 | 32% | owner, manager, logistics | — | auction only, resale, land (car-carrier) route |
|
| 11 | loadedLoaded | Loaded into container | USA | 7 | 39% | owner, manager, logistics | Enter the container or bill of lading number | auction only, resale |
|
| 12 | in_transit_seaIn transit (sea) | On the way by sea | Sea | 45 | 44% | owner, manager, logistics | Enter the vessel; Enter the departure date (ETD); Enter the estimated arrival (ETA) | auction only, resale, land (car-carrier) route |
|
| 13 | at_eu_portAt EU port | Arrived at port | EU | 7 | 73% | owner, manager, logistics | Enter the actual arrival date (ATA) | auction only, resale, land (car-carrier) route |
|
| 14 | inland_to_borderInland to border | On the way to the border | EU | 5 | 77% | owner, manager, logistics | — | all deal types |
|
| 15 | customs_clearingCustoms clearing | Customs clearance | Customs | 5 | 81% | owner, manager, logistics | Create a customs case (declarant or declaration number) | auction only, logistics only, resale |
|
| 16 | customs_clearedCustoms cleared | Customs cleared | Customs | 3 | 84% | owner, manager, logistics | Enter the customs release date | auction only, logistics only, resale |
|
| 17 | certificationCertification | Certification | Customs | 10 | 86% | owner, manager, logistics | — | all deal types |
|
| 18 | registrationRegistration | Registration | Customs | 7 | 92% | owner, manager, logistics | — | all deal types |
|
| 19 | ready_for_handoverReady for handover | Ready for handover | Handover | 5 | 97% | owner, manager, logistics | — | — |
|
| 20 | handed_overHanded over | Car handed over | Handover | 14 | 100% | owner, manager, logistics | A signed handover act is required | — |
|
| 21 | closedClosed | Order completed (hidden from the client) | Handover | — | 100% | owner, accountant | Client has an outstanding balance | — |
|
Side statuses
| # | Stage | Client sees | Phase | SLA, days | Progress | Who moves it | Required to enter | Can be skipped | Automatic actions |
|---|---|---|---|---|---|---|---|---|---|
| — | lostLost | Request closed (hidden from the client) | Other | — | — | owner, manager | Enter a reason | — | — |
| — | cancelledCancelled | Order cancelled | Other | — | — | owner, manager | Enter a reason | — |
|
| — | on_holdOn hold | On hold | Other | 14 | — | owner, manager | Enter a reason | — |
|
| — | disputeDispute | Reviewing your claim | Other | 14 | — | owner, manager, client | Enter a reason | — |
|
Side statuses
- Lost: a lead did not become a client (from "New lead" and "Consultation").
- Cancelled: from contract signing to ready for handover; creates a task to settle the deposit.
- On hold and Dispute: from any non-terminal stage; you return to the stage you came from. A dispute can also be opened by the client.