Scheduled Suspension
Summary
I planned advance reservations for temporary suspensions that previously required a same-day contract status change. I separated the current state from future suspension dates and defined how the same pause period applies to collection, billing, re-contracting, and renewal.
- Role
- Product Owner (planning lead, policy definition, UI and workflow design)
- Outcome
- Advance suspension reservations, shared date rules for collection and billing, suspension settings carried through re-contracting and renewal
Problem
Knowing the Pause Date Still Meant Acting on the Day
Temporary suspension pauses a contract before service resumes. Previously, changing its status to "suspended" took effect immediately, and the start date could only be today. Even when the date was known in advance, an operator had to return and change the status that day. A pause starting on a weekend therefore required weekend handling.
Entering a date in advance was not enough to make this a reservation workflow. Contract status affects CX contract management, collection schedules for operations, and billing for accounting. The policy needed to define both how collection continues before the reserved date and how the actual pause period applies to billing.
I planned and led this work. I confirmed the necessary conditions with accounting, CX, and operations and mapped their effects on contract status, billed amounts, work shown in the driver app, and re-contracting. I translated those conditions into reservation and state-transition policies, then designed the interface and processing flow with designers and developers.
Design Direction
Reserving a Future Pause While Keeping Today’s Collection Running
I first separated the current contract state from the future suspension schedule. Previously, the date fields appeared only after the status was changed to "suspended." Allowing a future start date within that structure would immediately suspend that day’s collection tasks when an operator reserved next week’s pause.
I specified a separate setting for the suspension period, non-payment status, and reason while leaving the current contract status unchanged. A future reservation keeps collection running until the scheduled job changes the status on the reserved start date. The interface also distinguishes the current state from the reserved period.
The driver app follows the same period. Schedules before the pause starts remain available for normal execution, while those during the suspension are hidden and cannot be performed. Distinguishing the reservation date from the day collection stops preserves the work that still needs to run.
The end date is the last day included in the suspension. A pause through October 10 stops collection through that day; the scheduled job releases it the following day, and collection resumes on October 11. Without an end date, the contract remains suspended. Each pause and resumption has its own history so billing can use the periods when service was actually suspended.
Policy and Exceptions
Transition Rules for Contract Changes and Collection Already Underway
The contract state at reservation may not last until the pause date. I defined transition conditions that account for the contract state on that date and collection already in progress.
Normal creation and start-date editing allow today or a later date. A provisional contract, however, has not started service. It stays provisional even when the reserved start date arrives, and suspension is evaluated when it becomes active. Ended contracts are excluded because their service can no longer be paused and resumed.
A status transition also needed to preserve collection already underway. At the time of planning, I restricted immediate suspension and release when a contract had a schedule in progress. Separating reservation eligibility from the conditions for an immediate state change allowed future dates to be registered while protecting work already underway.
| Condition | Behavior |
|---|---|
| Normal creation or start-date editing | Choose today or later; end date must be on/after the start or unspecified |
| An active contract reaches its start date | Transition to suspended immediately |
| Start date in the future | Keep current state + "suspension scheduled" flag → auto-transition on the start date |
| A provisional contract reaches its start date | Keep provisional status; evaluate suspension when it becomes active |
| Day after the end date | Scheduled job releases suspension; collection resumes |
| No end date set | Open-ended suspension |
| Contract has a schedule in progress | Can’t flip straight to/from suspended (protects work underway) |
Billing Policy
Calculating Actual Paused Days and Protecting Issued Invoices
After defining the dates used for collection, I clarified how the same period applies to billing. In practice, paused periods were not billed, but the interface still offered "continue settlement," allowing the selection to change the billed amount.
Accounting needed to distinguish pauses caused by non-payment for receivables management. I therefore removed the choice of whether to bill and retained non-payment status as separate information. For plans with a fixed base fee, such as subscriptions, I improved the policy so the base fee is prorated by operating days excluding the suspension period, regardless of the reason for the pause.
Only paused days that overlap each billing period are deducted. Deducting an entire pause spanning two months from a single invoice would also remove days outside that invoice’s period, causing underbilling. The same rule applies to repeated pauses and pauses crossing month boundaries: each invoice uses the actual paused days within its own period.
Date editing also needed to respect billing. Changing a pause after an invoice is issued changes the operating days without changing the issued amount. My initial policy therefore blocked edits to an entire suspension record if it overlapped a billing period with an issued invoice.
That restriction also blocked future changes that did not affect the invoice. If December has been billed and a pause runs from December 15 to March 31, bringing the end forward to January 19 leaves December’s paused days unchanged. Moving the start to December 20, however, changes the billing basis for December 15–19.
I refined the policy to protect dates already reflected in billing rather than locking the entire record. Comparing paused dates within each billing period before and after a change blocks changes affecting issued invoices while allowing dates outside those periods to be adjusted. I applied the same rule to reservations, edits, and releases.
Contract Transition
Continuing the Pause on a New Contract with Separate History
The pause period needed to carry through re-contracting and renewal for collection and billing. Losing the setting on the new contract could restart collection while the pause was still in effect.
For re-contracting, I specified that suspension settings are copied from the previous contract while a new history entry is created for the new one. Copying past history would mix the previous contract’s dates into the new contract’s billing basis. Settings that still apply carry forward, while the history remains associated with the contract where it occurred.
An ongoing pause can have a start date in the past. Entering a new past date and continuing an existing pause are different situations, so I allowed re-contracts and renewals to inherit the existing start date of an ongoing suspension.
For renewals, suspension status is evaluated when the contract becomes active, and a new history entry is created then. A warning dialog asks the user to confirm suspension settings included in a re-contract or renewal. This lets the operator check whether the pause continues as the contract changes.
Results and Lessons
From Same-day Status Changes to Advance Suspension Reservations
Separating the request date from the effective pause date lets operators prepare weekend and public-holiday suspensions during the working week. Collection continues until the pause starts, and the period connects CX contract management, collection schedules for operations, and billing for accounting. The settings also carry through re-contracting and renewal.
Suspension changes on weekends and public holidays fell by 76.2%, from approximately 3.09 to 0.74 per 1,000 active contracts per month. Their share of all suspension-related changes decreased by 89.1%, from 16.00% to 1.75%. Both the monthly frequency relative to contract volume and the share of all changes were lower.
This work showed how the same pause period serves different decisions in contract status, collection, and billing. I separated the current state from future reservations, dates already billed from dates that could still change, and settings needed by a new contract from the previous contract’s history. Connecting these rules so each workflow applies the same dates consistently was the central planning task.
| Metric | 2025 | 2026 | Decrease |
|---|---|---|---|
| Holiday suspension change rate (per 1,000 contracts) | ≈3.09 | ≈0.74 | 76.2% |
| Holiday suspension change rate (per change record) | 16.00% | 1.75% | 89.1% |