# Business Logic — JKKPauseChgRsvClCC.dsleOpSvcKeiNetflix() [80 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `com.fujitsu.futurity.bp.custom.common.JKKPauseChgRsvClCC` |
| Layer | Controller / Common Component (CC) |
| Module | `common` (Package: `com.fujitsu.futurity.bp.custom.common`) |

## 1. Role

### JKKPauseChgRsvClCC.dsleOpSvcKeiNetflix()

This method implements the Netflix Premium Option cancellation workflow -- the business operation of cancelling a customer's active Netflix subscription add-on as part of the broader pause/change reservation contract flow. It is a specialized dispatch method invoked after a pause/change transaction (e.g., when a customer's service contract is being terminated or changed). The method acts as a service-type router: it first validates that the target service code corresponds to "01: Internet Service" (NET `[-> CD00130_01="01"]`), then further narrows down to Netflix-specific accounts by checking if the customer's bundle division is "001: Hulu Netflix Package" (NET `[-> TAJGS_BUNDLE_DIV_001="001"]` from `JKKStrConst.java:754`).

Within the Netflix bundle context, the method performs a status-based dispatch to one of two cancellation paths. If the option service contract status indicates "Order Received" (`"010"`) or "Investigation Complete" (`"020"`) -- meaning the Netflix subscription has been ordered but not yet activated -- the method triggers a cancel operation (`callEKK0351C220`) to void the pending order without a full termination. If instead the status indicates "Contract Complete" (`"030"`) or "Service Provision In Progress" (`"100"`) -- meaning the Netflix subscription is already active -- the method performs a full termination sequence: first calling `callEKK0351C240` to terminate the contract, then `callEKK0351C250` to confirm the termination, and finally registering the progress.

The method implements a layered guard/dispatch design pattern with cascading conditionals that progressively filter: service type -> bundle division -> contract existence -> status branch. It delegates all heavy lifting to lower-level service components (EKK0351B012, EKK0351C220, EKK0351C240, EKK0351C250, EKK0791A010) and returns the updated last-updated timestamp for flow continuation. This method is a shared utility within the `JKKPauseChgRsvClCC` class, called by both batch (`pauseChgTranBat`) and online (`pauseChgTranOn`) pause/change transaction paths.

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["dsleOpSvcKeiNetflix"])

    START --> GET_MSG["Get msgEKK0081A010 from resultHash"]
    GET_MSG --> SVC_CD["svcCd = msg.getString(SVC_CD)"]
    SVC_CD --> PCRS_CD["pcrsCd = msg.getString(PCRS_CD)"]

    PCRS_CD --> BR1{svcCd equals CD00130_01
01 Internet Service}

    BR1 -->|No| END_R["Return lastUpdDtm"]
    BR1 -->|Yes| CALL_EKK0791A010["callEKK0791A010(handle, param, fixedText, pcrsCd)"]

    CALL_EKK0791A010 --> GET_WORK1["getWorkCAANMsg(rsltEKK0791A010)"]
    GET_WORK1 --> GET_MSG_LIST["getCAANMsgList(EKK0791A010CBSMSG1LIST)"]
    GET_MSG_LIST --> GET_FIRST_MSG["msgEKK0791A010 = msgList[0]"]
    GET_FIRST_MSG --> GET_TAJGS["tajgsBundleDiv = msg.getString(TAJGS_BUNDLE_DIV)"]

    GET_TAJGS --> BR2{tajgsBundleDiv equals
TAJGS_BUNDLE_DIV_001 = 001
Hulu Netflix Package}

    BR2 -->|No| END_R
    BR2 -->|Yes| CALL_EKK0351B012["callEKK0351B012(handle, param, fixedText, B136)"]

    CALL_EKK0351B012 --> GET_WORK2["getWorkCAANMsg(rsltEKK0351B012)"]
    GET_WORK2 --> GET_OP_MSG["getCAANMsgList(EKK0351B012CBSMSG1LIST)"]

    GET_OP_MSG --> BR3{msgList length > 0}

    BR3 -->|No| END_R
    BR3 -->|Yes| GET_STAT["opSvckeiStatNetflix = getString(OP_SVC_KEI_STAT)"]

    GET_STAT --> BR4{Stat equals 010 or 020}

    BR4 -->|Yes| BR5{Stat equals 030 or 100}

    BR4 -->|No| BR5

    BR5 -->|No| END_R
    BR5 -->|Yes| BR5A

    BR4 -->|Yes| BR5A

    BR5A["Order Received or
Investigation Complete"]

    BR5A --> CALL_CNCL["callEKK0351C220 (Cancel)"]

    CALL_CNCL --> UPDATE_DT1["lastUpdDtm = msg.getString(UPD_DTM)"]

    UPDATE_DT1 --> CALL_TERM["callEKK0351C240 (Terminate)"]

    CALL_TERM --> UPDATE_DT2["lastUpdDtm = msg.getString(UPD_DTM)"]

    UPDATE_DT2 --> CALL_TERM2["callEKK0351C250 (Terminate Confirm)"]

    CALL_TERM2 --> UPDATE_DT3["lastUpdDtm = msg.getString(UPD_DTM)"]

    UPDATE_DT3 --> PROG_R["makeProgressOpSvcKei (Register Progress)"]

    PROG_R --> END_R
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `handle` | `SessionHandle` | Session handle carrying session management context (database connections, transaction state, user authentication info) required for executing downstream service component calls. |
| 2 | `param` | `IRequestParameterReadWrite` | Request parameter object containing the model group and control map for the pause/change transaction. Carries transaction context such as customer IDs, order references, and screen-level control data. |
| 3 | `fixedText` | `String` | User-specified fixed text string, typically used as an audit trail identifier or logging label in service component calls to trace the origin of operations. |
| 4 | `resultHash` | `HashMap<String, Object>` | Results hash populated by prior processing steps. Must contain the key `RESULT_KEY_EKK0081A010` whose value is a `CAANMsg` holding the service code (`SVC_CD`) and PCRS code (`PCRS_CD`) from the prior service inquiry. |
| 5 | `lastUpdDtm` | `String` | Last update timestamp string, used as input to the cancel/terminate service components and updated through the method to track the latest modification time. |
| 6 | `mskmDtlNo` | `String` | Order detail number (申込明細番号) -- the internal identifier for a specific service contract line item. Used to target the correct subscription record during cancel/terminate operations. |

**External State Read:**
- `resultHash` entries: The method reads `RESULT_KEY_EKK0081A010` from the result hash, which is expected to be a pre-populated `CAANMsg` object from a prior `EKK0081A010` service component call (service/inquiry).

## 4. CRUD Operations / Called Services

### Pre-computed evidence from code analysis graph:

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| R | `callEKK0791A010` | EKK0791A010SC | N/A | Calls `callEKK0791A010` to retrieve bundle division info for the PCRS -- verifies if the customer is in the Hulu Netflix Package bundle |
| R | `getWorkCAANMsg` (EKK0791A010) | EKK0791A010SC | N/A | Extracts work message from EKK0791A010 response for bundle division data |
| R | `callEKK0351B012` | EKK0351B012SC | N/A | Calls `callEKK0351B012` with option service code B136 (Netflix Premium Option) to check for active Netflix subscription contracts |
| R | `getWorkCAANMsg` (EKK0351B012) | EKK0351B012SC | N/A | Extracts work message from EKK0351B012 response containing option service contract details |
| C/R | `callEKK0351C220` | EKK0351C220SC | N/A | Cancel option service contract -- voids a pending Netflix Premium Option order (for status 010/020) |
| R | `callEKK0351C240` | EKK0351C240SC | N/A | Terminate option service contract -- terminates an active Netflix Premium Option subscription (for status 030/100) |
| C | `callEKK0351C250` | EKK0351C250SC | N/A | Confirm termination of option service contract -- finalizes the Netflix Premium Option cancellation (for status 030/100) |
| - | `makeProgressOpSvcKei` | N/A | N/A | Registers the progress of the option service contract cancellation transaction |
| R | `getWorkCAANMsg` (EKK0351C220) | EKK0351C220SC | N/A | Extracts updated last-updated timestamp from EKK0351C220 response |
| R | `getWorkCAANMsg` (EKK0351C240) | EKK0351C240SC | N/A | Extracts updated last-updated timestamp from EKK0351C240 response |
| R | `getWorkCAANMsg` (EKK0351C250) | EKK0351C250SC | N/A | Extracts updated last-updated timestamp from EKK0351C250 response |

### CRITICAL: Service Component Descriptions

- **EKK0081A010**: Service inquiry -- provides the base service code and PCRS code from prior result hash.
- **EKK0791A010**: Service inquiry for third-party bundle division -- determines if the PCRS is part of the Hulu Netflix Package bundle. Returns `TAJGS_BUNDLE_DIV` field.
- **EKK0351B012**: Option service contract inquiry -- retrieves active option service contracts for the given option service code (`OP_SVC_CD_B136 = "B136"` -- Netflix Premium Option). Returns `OP_SVC_KEI_STAT` (option service contract status).
- **EKK0351C220**: Option service contract cancel -- cancels a pending option service contract (used when status is 010 "Order Received" or 020 "Investigation Complete").
- **EKK0351C240**: Option service contract terminate -- terminates an active option service contract (used when status is 030 "Contract Complete" or 100 "Service Provision In Progress").
- **EKK0351C250**: Option service contract termination confirmation -- finalizes the termination, making it irreversible.

## 5. Dependency Trace

### Direct Callers

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | `JKKPauseChgRsvClCC.pauseChgTranBat()` | Batch: pauseChgTranBat -> dsleOpSvcKeiNetflix | `callEKK0791A010 [R]`, `callEKK0351B012 [R]`, `callEKK0351C220 [C]`, `callEKK0351C240 [U]`, `callEKK0351C250 [C]`, `makeProgressOpSvcKei [-]` |
| 2 | `JKKPauseChgRsvClCC.pauseChgTranOn()` | Online: pauseChgTranOn -> dsleOpSvcKeiNetflix | `callEKK0791A010 [R]`, `callEKK0351B012 [R]`, `callEKK0351C220 [C]`, `callEKK0351C240 [U]`, `callEKK0351C250 [C]`, `makeProgressOpSvcKei [-]` |

### Downstream Terminal Operations

| # | Called Method | SC Code | Terminal CRUD | Description |
|---|--------------|---------|---------------|-------------|
| 1 | `callEKK0791A010` | EKK0791A010SC | R | Third-party bundle division inquiry -- reads bundle info for Netflix Package detection |
| 2 | `callEKK0351B012` | EKK0351B012SC | R | Option service contract inquiry -- reads Netflix Premium Option subscription status |
| 3 | `callEKK0351C220` | EKK0351C220SC | C | Option service contract cancel -- creates cancel record for pending orders (path: status 010/020) |
| 4 | `callEKK0351C240` | EKK0351C240SC | U | Option service contract terminate -- updates contract to terminated state (path: status 030/100) |
| 5 | `callEKK0351C250` | EKK0351C250SC | C | Option service contract termination confirmation -- creates confirmation record (path: status 030/100) |
| 6 | `makeProgressOpSvcKei` | N/A | - | Registers transaction progress -- updates processing status |

## 6. Per-Branch Detail Blocks

**Block 1** — [SET] Retrieve Netflix service info from result hash (L962)

> Retrieve the previously-populated service inquiry message from the result hash, then extract the service code and PCRS code needed for subsequent Netflix-specific processing.

| # | Type | Code |
|---|------|------|
| 1 | SET | `msgEKK0081A010 = (CAANMsg)resultHash.get(RESULT_KEY_EKK0081A010)` | // Netflix service inquiry result from prior step |
| 2 | SET | `svcCd = msgEKK0081A010.getString(EKK0081A010CBSMsg1List.SVC_CD)` | // Service category code -- identifies "01: Internet Service" |
| 3 | SET | `pcrsCd = msgEKK0081A010.getString(EKK0081A010CBSMsg1List.PCRS_CD)` | // PCRS code -- subscription identifier for bundle division lookup |

**Block 2** — [IF] Service code is Netflix Internet Service `[CD00130_01="01"]` (L967)

> Check whether the target service is an Internet service (code "01" -- NET `[-> CD00130_01="01" (JKKStrConst.java:340)]`). This is the first filter to narrow down to Netflix accounts, since Netflix is offered as an internet service add-on.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `JKKStrConst.CD00130_01.equals(svcCd)` | // NET: Is this service code "01" (Internet Service)? |

**Block 2.1** — [IF-BODY] Netflix Internet Service match -- retrieve bundle division (L968)

> The service code matches Internet Service. Retrieve the third-party bundle division from the EKK0791A010 service component to determine if this PCRS belongs to the Hulu Netflix Package.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `rsltEKK0791A010 = callEKK0791A010(handle, param, fixedText, pcrsCd)` | // Query bundle division info for this PCRS |
| 2 | SET | `workEKK0791A010 = getWorkCAANMsg(rsltEKK0791A010)` | // Extract work message from EKK0791A010 response |
| 3 | SET | `msgEKK0791A010List = workEKK0791A010.getCAANMsgList(EKK0791A010CBSMsg.EKK0791A010CBSMSG1LIST)` | // Get bundle division message list |
| 4 | SET | `msgEKK0791A010 = msgEKK0791A010List[0]` | // Take the first (and typically only) bundle division record |
| 5 | SET | `tajgsBundleDiv = (String)msgEKK0791A010.getString(EKK0791A010CBSMsg1List.TAJGS_BUNDLE_DIV)` | // Third-party bundle division code |

**Block 2.1.1** — [IF] Bundle division is Hulu Netflix Package `[TAJGS_BUNDLE_DIV_001="001"]` (L977)

> Check whether the customer's bundle division is "001" (Hulu Netflix Package) `[-> TAJGS_BUNDLE_DIV_001="001" (JKKStrConst.java:754)]`. The method null-checks the value using `nullToBlank`. Only Netflix package customers proceed to cancellation logic.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `JKKStrConst.TAJGS_BUNDLE_DIV_001.equals(JKKStringUtil.nullToBlank(tajgsBundleDiv))` | // Is this the Hulu Netflix Package? |

**Block 2.1.1.1** — [IF-BODY] Netflix package confirmed -- check active subscription (L978)

> The customer has the Hulu Netflix Package. Now check if there is an active Netflix Premium Option subscription by querying the option service contract with code B136 `[-> OP_SVC_CD_B136="B136" (JKKStrConst.java:2055)]`.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `rsltEKK0351B012 = callEKK0351B012(handle, param, fixedText, JKKStrConst.OP_SVC_CD_B136)` | // Query Netflix Premium Option contracts |
| 2 | SET | `workEKK0351B012 = getWorkCAANMsg(rsltEKK0351B012)` | // Extract work message from EKK0351B012 response |
| 3 | SET | `msgEKK0351B012List = workEKK0351B012.getCAANMsgList(EKK0351B012CBSMsg.EKK0351B012CBSMSG1LIST)` | // Get option service contract list |
| 4 | SET | `msgEKK0351B012 = msgEKK0351B012List[0]` | // First option service contract record |

**Block 2.1.1.1.1** — [IF] Active Netflix subscription exists (length > 0) (L987)

> Check whether any Netflix Premium Option contracts were found. If the list is empty, the customer has no active Netflix subscription to cancel, and processing skips to return.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `msgEKK0351B012List.length > 0` | // Does an active Netflix subscription exist? |

**Block 2.1.1.1.1.1** — [IF-BODY] Subscription found -- get status and branch by status (L990)

> An active Netflix subscription exists. Retrieve its status code and dispatch to either cancel (for pending orders) or terminate (for active subscriptions).

| # | Type | Code |
|---|------|------|
| 1 | SET | `opSvckeiStatNetflix = (String)msgEKK0351B012List[0].getString(EKK0351B012CBSMsg1List.OP_SVC_KEI_STAT)` | // Option service contract status for Netflix Premium |

**Block 2.1.1.1.1.1.1** — [IF] Status is "Order Received" or "Investigation Complete" `[OP_SVC_STAT_UKETSUKEZUMI="010", OP_SVC_STAT_SHOSAZUMI="020"]` (L997)

> The Netflix Premium Option is in a pre-activation state. Status "010" (Order Received) or "020" (Investigation Complete) `[-> OP_SVC_STAT_UKETSUKEZUMI="010" (JKKStrConst.java:2093), OP_SVC_STAT_SHOSAZUMI="020" (JKKStrConst.java:2097)]` means the Netflix subscription has been ordered but not yet activated. In this case, perform a cancel operation (void the order) rather than a full termination.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `JKKStrConst.OP_SVC_STAT_UKETSUKEZUMI.equals(opSvckeiStatNetflix)` | // Is status 010 "Order Received"? |
| 2 | EXEC | `JKKStrConst.OP_SVC_STAT_SHOSAZUMI.equals(opSvckeiStatNetflix)` | // Is status 020 "Investigation Complete"? |
| 3 | CALL | `rsltEKK0351C220 = callEKK0351C220(handle, param, fixedText, lastUpdDtm, mskmDtlNo, msgEKK0351B012)` | // Cancel: void the pending Netflix Premium Option order |
| 4 | CALL | `makeProgressOpSvcKei(handle, param, fixedText, msgEKK0351B012, mskmDtlNo)` | // Register the cancellation progress |
| 5 | SET | `msgEKK0351C220 = getWorkCAANMsg(rsltEKK0351C220)` | // Get response message from cancel operation |
| 6 | SET | `lastUpdDtm = msgEKK0351C220.getString(EKK0351C220CBSMsg.UPD_DTM)` | // Update last-updated timestamp |

**Block 2.1.1.1.1.1.2** — [ELSE-IF] Status is "Contract Complete" or "Service Provision In Progress" `[OP_SVC_STAT_TEIKETSUZUMI="030", OP_SVC_STAT_SVCTK_CHU="100"]` (L1006)

> The Netflix Premium Option is in an active/operational state. Status "030" (Contract Complete) or "100" (Service Provision In Progress) `[-> OP_SVC_STAT_TEIKETSUZUMI="030" (JKKStrConst.java:2100), OP_SVC_STAT_SVCTK_CHU="100" (JKKStrConst.java:2103)]` means the Netflix subscription is already live and in use. A full termination sequence is required: terminate -> confirm -> register progress.

| # | Type | Code |
|---|------|------|
| 1 | EXEC | `JKKStrConst.OP_SVC_STAT_TEIKETSUZUMI.equals(opSvckeiStatNetflix)` | // Is status 030 "Contract Complete"? |
| 2 | EXEC | `JKKStrConst.OP_SVC_STAT_SVCTK_CHU.equals(opSvckeiStatNetflix)` | // Is status 100 "Service Provision In Progress"? |
| 3 | CALL | `rsltEKK0351C240 = callEKK0351C240(handle, param, fixedText, lastUpdDtm, mskmDtlNo, msgEKK0351B012)` | // Terminate: terminate the active Netflix Premium Option |
| 4 | SET | `msgEKK0351C240 = getWorkCAANMsg(rsltEKK0351C240)` | // Get response message from terminate operation |
| 5 | SET | `lastUpdDtm = msgEKK0351C240.getString(EKK0351C250CBSMsg.UPD_DTM)` | // Update last-updated timestamp |
| 6 | CALL | `rsltEKK0351C250 = callEKK0351C250(handle, param, fixedText, lastUpdDtm, mskmDtlNo, msgEKK0351B012)` | // Confirm termination: finalize the Netflix Premium Option cancellation |
| 7 | SET | `msgEKK0351C250 = getWorkCAANMsg(rsltEKK0351C250)` | // Get response message from termination confirmation |
| 8 | CALL | `makeProgressOpSvcKei(handle, param, fixedText, msgEKK0351B012, mskmDtlNo)` | // Register the termination progress |
| 9 | SET | `lastUpdDtm = msgEKK0351C250.getString(EKK0351C250CBSMsg.UPD_DTM)` | // Update last-updated timestamp with final value |

**Block 3** — [RETURN] Return last updated timestamp (L1038)

> After all processing (or if no Netflix subscription was found), return the updated last-updated timestamp for flow continuation by the caller.

| # | Type | Code |
|---|------|------|
| 1 | RETURN | `return lastUpdDtm` | // Return updated timestamp |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `dsleOpSvcKeiNetflix` | Method | Netflix Premium Option cancellation processing -- handles cancellation of Netflix subscription add-ons |
| `svcCd` | Field | Service code -- classifies the type of service (01 = Internet Service, 02 = Telephone, 03 = Television) |
| `pcrsCd` | Field | PCRS code -- customer subscription identifier used for bundle division lookup |
| `mskmDtlNo` | Field | Order detail number (申込明細番号) -- internal identifier for a specific service contract line item |
| `tajgsBundleDiv` | Field | Third-party bundle division code -- indicates which third-party bundle the PCRS belongs to (001 = Hulu Netflix Package) |
| `opSvckeiStatNetflix` | Field | Option service contract status for Netflix Premium -- tracks the lifecycle state of the Netflix subscription |
| `lastUpdDtm` | Field | Last updated date/time -- timestamp tracking the most recent modification to the contract record |
| `OP_SVC_CD_B136` | Constant | Option service code "B136" -- Netflix Premium Option service code (NET `[-> "B136" (JKKStrConst.java:2055)]`) |
| `CD00130_01` | Constant | Service code "01" -- Internet Service (NET `[-> "01" (JKKStrConst.java:340)]`) |
| `TAJGS_BUNDLE_DIV_001` | Constant | Bundle division "001" -- Hulu Netflix Package (NET `[-> "001" (JKKStrConst.java:754)]`) |
| `OP_SVC_STAT_UKETSUKEZUMI` | Constant | Status "010" -- Order Received (NET `[-> "010" (JKKStrConst.java:2093)]`); Netflix subscription ordered but not yet activated |
| `OP_SVC_STAT_SHOSAZUMI` | Constant | Status "020" -- Investigation Complete (NET `[-> "020" (JKKStrConst.java:2097)]`); Netflix subscription under review |
| `OP_SVC_STAT_TEIKETSUZUMI` | Constant | Status "030" -- Contract Complete (NET `[-> "030" (JKKStrConst.java:2100)]`); Netflix subscription contract finalized and active |
| `OP_SVC_STAT_SVCTK_CHU` | Constant | Status "100" -- Service Provision In Progress (NET `[-> "100" (JKKStrConst.java:2103)]`); Netflix subscription actively being provided |
| EKK0081A010 | SC | Service inquiry -- retrieves base service code and PCRS code from customer subscription data |
| EKK0791A010 | SC | Third-party bundle inquiry -- retrieves third-party bundle division information for a given PCRS |
| EKK0351B012 | SC | Option service contract inquiry -- retrieves option service contract records for a given option service code |
| EKK0351C220 | SC | Option service contract cancel -- cancels a pending/active option service contract (pre-activation cancel) |
| EKK0351C240 | SC | Option service contract terminate -- terminates an active option service contract (post-activation termination) |
| EKK0351C250 | SC | Option service contract termination confirmation -- confirms and finalizes the contract termination |
| CAANMsg | Class | Common Application Architecture Abstract Network Message -- Fujitsu's message/DTO class for inter-component data transfer |
| SessionHandle | Class | Session handle carrying session context (DB connections, transaction state, authentication info) |
| IRequestParameterReadWrite | Interface | Request parameter interface providing read/write access to model groups and control maps |
| Netflix Premium Option | Business term | A subscription add-on that provides access to Netflix streaming service, offered as part of K-Opticom internet plans |
| Hulu Netflix Package | Business term | A bundled offering combining Hulu and Netflix streaming services; identified by bundle division code "001" |
| SOD | Acronym | Service Order Data -- telecom order fulfillment entity used in order management |
| PCRS | Acronym | Customer subscription/contract record identifier used in the service provisioning system |
| NET | Business term | Abbreviation for Netflix; used in method names (e.g., `dsleOpSvcKeiNetflix`) and comments |
| 解約 (Kaiya) | Japanese term | Cancellation -- the business operation of terminating a subscription or service contract |
| 解約処理 (Kaiya Shori) | Japanese term | Cancellation processing -- the full workflow of cancelling a Netflix Premium Option subscription |
| 予約 (Yoyaku) | Japanese term | Reservation -- refers to the pause/change reservation contract flow in which this method participates |
| 休止 (Yushi) | Japanese term | Pause/Suspension -- refers to the pause period during which service is temporarily suspended |
