Do not implement cancellation request processing as history deletion: a small design that separates suspension and compensation confirmation.
A customer has sent an email saying, "Please cancel this request." If the request is still in the queue, it can be stopped by blocking it, but if the request has already been sent externally, the same action cannot be taken. However, if all cases are covered with a single "cancelled" value, it becomes difficult to explain what was stopped and what remains. This article is a conceptual design for a small business tool. It does not mean that the following functions are implemented in official emails. The intention to cancel and the execution result are on different axes. The requester's intention may change to "withdrawn," but the "completed" execution history does not automatically disappear. It is easier to understand if the following facts are stored separately rather than adding another status. Request status: valid / withdrawn Execution status: waiting / in_progress / paused / confirmed / completed ...
This article discusses the concept design for a small business tool that handles request cancellations. It highlights the importance of distinguishing between a requester's cancellation intention and the actual execution result. The article proposes a system that tracks request status and execution status separately, with the former including "valid" and "withdrawn" states, and the latter including "waiting", "in progress", "interrupted", and "completed" states.
The system also considers follow-up actions, such as confirming or taking measures, and notes that cancellation notifications should be handled carefully to avoid duplicate actions or incorrect status updates.
Written by urgent.news from Dev.to's report — not a translation of it. Machine-written — may contain errors; check the original before relying on it.