Move statuses to support service counseling
User Story: Create new move "status" for Services Counseling
We need to define states for when moves go to service counseling and when service counseling is complete *it would be nice to minimize the impact of this to downstream systems.
Considered Alternatives
- Create two states and one new timestamp
- When a customer submits a move, the submitted timestamp is always set.
- If the move is routed to service counseling, the move state is set to
needs_service_counseling
. Otherwise it is set tosubmitted
. - When the service counselor is done, the move state is set to
service_counseling_completed
and theservice_counseling_completed_at
is set to the current time. - The TOO queue excludes items in
draft
,needs_service_counseling
and shows those inservice_counseling_completed
(along with other states it currently shows).
- create one state and one new timestamp
- When a customer submits a move, the submitted timestamp is always set.
- If the move is routed to service counseling, the move state is set to
needs_service_counseling
. Otherwise it is set tosubmitted
. - When the service counselor is done, the move state is set to
submitted
and theservice_counseling_completed_at
is set to the current time. - The TOO queue excludes items in
draft
,needs_service_counseling
and shows those insubmitted
(along with other states it currently shows).
Decision Outcome
- Chosen Alternative: Create two states and one new timestamp
- This more closely matches the mental model of the user and is not significantly more work than the alternative.
- We don't get into a confusing situation where moving to submitted updates different timestamps.