# Business Logic — KKW00128SFLogic.setListKKW00128SFBean() [441 LOC]

| Field | Value |
|-------|-------|
| Fully Qualified Name | `eo.web.webview.KKW00128SF.KKW00128SFLogic` |
| Layer | Controller (Web presentation / screen logic) |
| Module | `KKW00128SF` (Package: `eo.web.webview.KKW00128SF`) |

## 1. Role

### KKW00128SFLogic.setListKKW00128SFBean()

This method is a screen-initiation display-preparation routine for the **Service Contract Update (eo Hikari Net)** screen (screen ID: KKW00128). Its business purpose is to populate the list-type service form beans with pre-computed display values that the end user sees when the screen first loads in view mode (shikai mode). The method reads data from the service response (already fetched by a prior service call in `actionInitKKW00128`), and performs several categories of display-side transformation: (1) a complex **work-unlinked-flag** calculation that determines whether the service start date field should be active based on the customer's mansion-type service classification, service provision status, and work project (koji) state machine; (2) **transaction-division-aware pulldown initialization** that resets commission, standard work fee, and penalty fields to their default values when the user is performing a plan change (ido_div = "00009") versus a termination (ido_div = "00005"); (3) **fee code display mapping** for the current service's price course code, discount presence, and penalty occurrence code; and (4) **sequential label resolution** for approximately 14 distinct display fields spanning PON type, residential form, floor count, work scope, information consent, relocation division, construction PON type, new building project, duplicate equipment re-application, telephone contact window, and construction application contact.

The method implements a **screen-dispatch design pattern**: it branches on the `ido_div` instance field (which is set by `getSessionKKW00128Bean` from the inherited customer contract information) to provide different default values depending on the business operation type (plan change, termination, or other). It also implements a **conditional subbean routing** logic (LT-2013-0000279 fix): when the service type is not home-type (svcFlg != "1"), it redirects the construction project info subbean to the mansion variant.

**Design pattern**: This method is a shared display-preparation utility called by the screen's init action handler. It does not perform CRUD operations or call CBS/SC services directly; all data is sourced from the already-populated `svcFormBean` (X31SDataBeanAccess), and the method's sole output is side-effects on that bean (setting display values, pulldown selections, and flags).

## 2. Processing Pattern (Detailed Business Logic)

```mermaid
flowchart TD
    START(["setListKKW00128SFBean(svcFormBean)"])
    S1["Get Subbeans: svc_kei_Info, svc_kei_kaisen_ucwk_Info, wribki_svc_kei_Info, koji_Info, koji_net_Info"]
    S2["Get koji_netmans_Info + svcFlg"]
    S3{"svcFlg != 1?
(Home type)"}
    S4["koji_net_subbean = koji_netmans subbean"]
    S5["Get prcGrpCd + pcrsCd + kojiakStatRenChk + mansKojiakStatCd"]
    S6["Get idoDivOldest"]
    S7{"prcGrpCd == 04?
(Mansion type)"}
    S8["Get svcKeiStat"]
    S9{"svcKeiStat < 100?
(Not yet providing)"}
    S10{"pcrsCd == Mansion Private
OR Mansion Global
OR Hikari Consent?"}
    S11{"idoDivOldest == 00002?
(Service Addition)"}
    S12["kojiNotRenFlg = true"]
    S13{"kojiakStatRenChk != null?"}
    S14{"kojiakStat 120-200?
(Registered to Completed)"}
    S15{"mansKojiakStatCd < 200?
(Mansion Not Completed)"}
    S16["kojiNotRenFlg = true"]
    S17["kojiNotRenFlg = false"]
    S18["kojiNotRenFlg = false"]
    S19["Set KOJI_NOT_REN_FLG on svcFormBean"]
    S20{"ido_div == 00009?
(Plan Change)"}
    S21["Init Jimu Commision = 02 + Standard Kojihi"]
    S22["Clear display fields"]
    S23{"ido_div == 00005?
(Termination)"}
    S24["Set STDARD_KOJIHI_DIV_LIST = 0"]
    S25["Get pcrs_cd"]
    S26{"ido_div == 00009?
(Plan Change)"}
    S27["selectedPulldownIndex pcrs_cd
(Update mode)"]
    S28["Display pcrs_nm (View mode)"]
    S29["Get wribki_svc_kei_no"]
    S30{"wribki_svc_kei_no empty?"}
    S31["Set SKWARI_UM = No discount"]
    S32["Set SKWARI_UM = Has discount"]
    S33["Get pnlty_hassei_cd"]
    S34{"ido_div == 00009?
(Plan Change)"}
    S35{"ido_div == 00005?
(Termination)"}
    S36{"pnlty_hassei_cd == 0?"}
    S37{"pnlty_hassei_cd == 1?"}
    S38["Set PNLTY div = No (Plan Change)"]
    S39["Set PNLTY div = Yes (Termination)"]
    S40["Display pnlty per actual value"]
    S41["Set malware blocking flag display"]
    S42["Set skekka_tchi display"]
    S43["Set skekka_hoki display + label"]
    S44["Set pon_sbt + setString"]
    S45["Set ad_form_cd display"]
    S46["Set flr_cnt_cd display"]
    S47["Set kj_scope display"]
    S48["Set info_juju_doi display"]
    S49["Set isetsu_div display"]
    S50["Set koji_pon_sbt display"]
    S51["Set newconst_bukken display"]
    S52["Set same_equip_re_mskm display"]
    S53["Set telno_rrk_kibo_time display"]
    S54["Set kj_apo_rrks display"]
    END(["Return void"])

    START --> S1 --> S2 --> S3
    S3 -->|Yes| S4
    S3 -->|No| S5
    S4 --> S5
    S5 --> S6 --> S7
    S7 -->|Yes| S8 --> S9
    S7 -->|No| S19
    S9 -->|Yes| S10
    S9 -->|No| S19
    S10 -->|Yes| S11
    S10 -->|No| S18
    S11 -->|Yes| S12 --> S13
    S11 -->|No| S13
    S13 -->|Yes| S14
    S13 -->|No| S18
    S14 -->|Yes| S15
    S14 -->|No| S17
    S15 -->|Yes| S16
    S15 -->|No| S17
    S16 --> S19
    S17 --> S18 --> S19
    S18 --> S19
    S19 --> S20
    S20 -->|Yes| S21
    S20 -->|No| S22 --> S23
    S21 --> S23
    S23 -->|Yes| S24
    S23 -->|No| S25
    S24 --> S25
    S25 --> S26
    S26 -->|Yes| S27
    S26 -->|No| S28
    S27 --> S29
    S28 --> S29
    S29 --> S30
    S30 -->|Yes| S31
    S30 -->|No| S32
    S31 --> S33
    S32 --> S33
    S33 --> S34
    S34 -->|Yes| S38
    S34 -->|No| S35
    S35 -->|Yes| S39
    S35 -->|No| S36
    S36 -->|Yes| S38
    S36 -->|No| S37
    S37 -->|Yes| S39
    S37 -->|No| S40
    S38 --> S41
    S39 --> S41
    S40 --> S41
    S41 --> S42 --> S43 --> S44 --> S45 --> S46 --> S47 --> S48 --> S49 --> S50 --> S51 --> S52 --> S53 --> S54 --> END
```

## 3. Parameter Analysis

| No | Parameter Name | Type | Business Description |
|----|---------------|------|---------------------|
| 1 | `svcFormBean` | `X31SDataBeanAccess` | The service form bean (DataBean access class) that holds all list-type screen display data for the Service Contract Update (eo Hikari Net) screen. It contains sub-bean arrays for service contract info, service line details, discount services, and various construction project records. The method reads values from this bean and writes back display-formatted values, pulldown selections, and computed flags. |

**Instance fields read by this method:**

| Field | Type | Business Description |
|-------|------|---------------------|
| `ido_div` | `String` | Transaction division code — determines the type of contract change operation being performed (e.g., "00009" = plan change, "00005" = termination). Set by `getSessionKKW00128Bean()` from inherited customer contract info before this method is called. |

## 4. CRUD Operations / Called Services

This method performs **no direct CRUD operations** (no database reads/writes, no CBS/SC calls). It is a pure display-preparation routine that operates entirely on in-memory `X31SDataBeanAccess` objects.

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

| CRUD | SC / CBS | SC Code | Entity / DB | Operation Description |
|------|----------|---------|-------------|----------------------|
| - | `OneStopDataBeanAccessArray.getDataBeanArray` | OneStopDataBeanAccessArray | - | Extracts a sub-bean array from the form bean by constant key (e.g., service contract info, construction project info) |
| R | `OneStopDataBeanAccessArray.getDataBean` | OneStopDataBeanAccessArray | - | Retrieves the first element (index 0) of a sub-bean array |
| R | `OneStopDataBeanAccess.sendMessageString(String, String)` | OneStopDataBeanAccess | - | Reads a string value from a DataBean field (DATABEAN_GET_VALUE mode) |
| - | `OneStopDataBeanAccess.sendMessageString(String, String, String)` | OneStopDataBeanAccess | - | Writes a string value to a DataBean field (DATABEAN_SET_VALUE mode) |
| R | `KKW00128SFLogic.getLabelString` | KKW00128SFLogic | - | Formats a pulldown code + name into a display label (e.g., "02.some_label") |
| R | `KKW00128SFLogic.getPulldownMame` | KKW00128SFLogic | - | Retrieves the display label (mame/text) for a given pulldown code |
| - | `KKW00128SFLogic.isHikariConsent` | KKW00128SFLogic | - | Business rule: checks if Hikari Consent service pattern code equals "51" |
| - | `KKW00128SFLogic.isMansionPrivate` | KKW00128SFLogic | - | Business rule: checks if pcrsCd is in the mansion private price course code list |
| - | `KKW00128SFLogic.isMansionGlobal` | KKW00128SFLogic | - | Business rule: checks if pcrsCd is in the mansion global price course code list |
| R | `KKW00128SFLogic.selectedPulldownIndex` | KKW00128SFLogic | - | Sets the pulldown selection index to a given code value on the form bean |
| - | `KKW00128SFLogic.setString` | KKW00128SFLogic | - | Sets a string value on the form bean by field name |
| - | `JBSbatInterface.trim` | JBSbatInterface | - | Calls `trim()` utility on telephone contact time string to remove whitespace |
| - | `JZMBatCommon.trim` | JZMBatCommon | - | Calls `trim()` utility (general string trim for dataBeanAccess) |
| - | `JBSbatKKBmpKaihkPrdChokNoDel.trim` | JBSbatKKBmpKaihkPrdChokNoDel | - | Calls `trim()` utility on telno_rrk_kibo_time string |
| - | `JBSbatKKSodSendReqBase.trim` | JBSbatKKSodSendReqBase | - | Calls `trim()` utility |
| - | `JBSbatKKTchishoDelete.trim` | JBSbatKKTchishoDelete | - | Calls `trim()` utility |

## 5. Dependency Trace

### Callers

| # | Caller (Screen/Batch) | Call Chain (Full Path to this Method) | Terminal (SC / CRUD / Entity) |
|---|----------------------|--------------------------------------|-------------------------------|
| 1 | Method: `KKW00128SFLogic.actionInitKKW00128` | `actionInitKKW00128()` -> `setListKKW00128SFBean(svcFormBean)` | None (display-only, no terminal CRUD) |

### Call Chain Detail
- `KKW00128SFLogic.actionInitKKW00128()` is the screen initialization entry point for the Service Contract Update (eo Hikari Net) screen. It first calls `invokeInitService()` to fetch data from CBS/SC services, then calls `getSessionKKW00128SFBean()` to set instance fields (including `ido_div`), and finally calls `setListKKW00128SFBean()` to populate the list-type form beans for display.

### Terminal operations from this method
`sendMessageString` [-] (write), `sendMessageString` [-] (write), `getLabelString` [R] (read), `getPulldownMame` [R] (read), `sendMessageString` [-] (write), `sendMessageString` [-] (write), `sendMessageString` [-] (write), `sendMessageString` [-] (write), `getLabelString` [R] (read), `trim` [-] (utility), `trim` [-] (utility), `trim` [-] (utility), `trim` [-] (utility), `trim` [-] (utility), `getPulldownMame` [R] (read), `trim` [-] (utility), `trim` [-] (utility), `trim` [-] (utility), `trim` [-] (utility), `trim` [-] (utility)

## 6. Per-Branch Detail Blocks

### Block 1 — SUBBEAN SET (Lines 1776–1808)

> Extracts sub-bean arrays from the form bean for all major data sections: service contract info, service line details, discount services, construction project, construction project (eo Hikari Net), and construction project (eo Hikari Net mansion). Also retrieves svcFlg to determine home-type vs non-home-type.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `svcFormBean.getDataBeanArray(EKK0081A010CBSMSG1LIST)` // Get service contract info array [-> Constant: EKK0081A010CBSMSG1LIST] |
| 2 | CALL | `svc_kei_Info.getDataBean(0)` // Get first service contract subbean |
| 3 | CALL | `svcFormBean.getDataBeanArray(EKK0241B001CBSMSG1LIST)` // Get service line details array [-> Constant: EKK0241B001CBSMSG1LIST] |
| 4 | CALL | `svc_kei_kaisen_ucwk_Info.getDataBean(0)` // Get service line details subbean |
| 5 | CALL | `svcFormBean.getDataBeanArray(EKK0451B010CBSMSG1LIST)` // Get discount service array [-> Constant: EKK0451B010CBSMSG1LIST] |
| 6 | CALL | `wribki_svc_kei_Info.getDataBean(0)` // Get discount service subbean |
| 7 | CALL | `svcFormBean.getDataBeanArray(KU0011A010BSMSG1LIST)` // Get construction project info [-> Constant: KU0011A010BSMSG1LIST] |
| 8 | CALL | `koji_Info.getDataBean(0)` // Get construction project subbean |
| 9 | CALL | `svcFormBean.getDataBeanArray(KU0021A010BSMSG1LIST)` // Get construction project eo Hikari Net [-> Constant: KU0021A010BSMSG1LIST] |
| 10 | CALL | `koji_net_Info.getDataBean(0)` // Get eo Hikari Net subbean |

### Block 1.1 — MANSION SUBBEAN ROUTING (LT-2013-0000279) (Lines 1809–1815)

> When svcFlg is NOT "1" (i.e., not a home-type customer), redirect the construction project subbean to use the mansion variant instead. This is a fix for a display issue where the termination date was not showing correctly on service contract update/view screens for non-home-type customers.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `svcFormBean.getDataBeanArray(KU0061A010BSMSG1LIST)` // Get mansion construction project [-> Constant: KU0061A010BSMSG1LIST] |
| 2 | CALL | `svcFormBean.sendMessageString(SVC_FLG, DATABEAN_GET_VALUE)` // Get service type flag |
| 3 | SET | `koji_net_subbean = koji_netmans_Info.getDataBean(0)` // [-> Conditional: SVC_FLG != "1"] |

### Block 2 — WORK UNLINKED FLAG CALCULATION (ANK-1918/ANK-2410/ANK-2423/ANK-3387) (Lines 1817–1965)

> Checks whether construction work is not linked to the service order system. If not linked, the service start date field should be active for the user to input. This calculation depends on mansion-type classification (prcGrpCd == "04"), service provision status (svcKeiStat < "100" means not yet providing), and price course code (mansion private/global or Hikari Consent). For mansion customers, it further evaluates construction project status (kojiakStatRenChk) and mansion-specific construction status (mansKojiakStatCd). For non-mansion customers (FTTH/fiber lines), different status thresholds apply.

| # | Type | Code |
|---|------|------|
| 1 | SET | `kojiNotRenFlg = false` // Initialize work unlinked flag |
| 2 | CALL | `svcFormBean.getDataBeanArray(KOJI_NOT_REN_CHK_LIST_LIST)` // Get work-unlinked-check array [-> Constant: KOJI_NOT_REN_CHK_LIST_LIST] |
| 3 | CALL | `koji_ren_Info.getDataBean(0)` // Get subbean |
| 4 | CALL | `svc_kei_subbean.sendMessageString(PRC_GRP_CD_03, DATABEAN_GET_VALUE)` // Get price group code [-> Constant: PRC_GRP_CD_03] |
| 5 | CALL | `svc_kei_subbean.sendMessageString(PCRS_CD_03, DATABEAN_GET_VALUE)` // Get price course code [-> Constant: PCRS_CD_03] |
| 6 | CALL | `koji_ren_Info_subbean.sendMessageString(KOJIAK_STAT_19, DATABEAN_GET_VALUE)` // Get work project status [-> Constant: KOJIAK_STAT_19] |
| 7 | CALL | `koji_ren_Info_subbean.sendMessageString(MANS_KOJIAK_STAT_CD_19, DATABEAN_GET_VALUE)` // Get mansion work project status [-> Constant: MANS_KOJIAK_STAT_CD_19] |
| 8 | CALL | `svcFormBean.getDataBeanArray(EKK0081B024CBSMSG1LIST_LIST)` // Get service contract history list [-> Constant: EKK0081B024CBSMSG1LIST_LIST] |
| 9 | CALL | `ekk0081b024bean.getDataBean(0)` // Get subbean |
| 10 | CALL | `ekk0081b024bean_subbean.sendMessageString(IDO_DIV_20, DATABEAN_GET_VALUE)` // Get oldest transaction division [-> Constant: IDO_DIV_20] |

**Block 2.1** — [IF] `JKKCommonConst.PRC_GRP_CD_04.equals(prcGrpCd)` (Mansion type check) (L1876)

> If the customer's price group code is "04" (mansion type), perform detailed work-unlinked checks.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `svc_kei_Info.getDataBean(0).sendMessageString(SVC_KEI_STAT_03, DATABEAN_GET_VALUE)` // Get service contract status [-> Constant: SVC_KEI_STAT_03] |

**Block 2.1.1** — [IF] `JKKCommonConst.SVC_KEI_STAT_100.compareTo(svcKeiStat) > 0` (Not yet providing) (L1880)

> Only perform work-unlinked checks when the service contract status is below 100 (not yet in service provision state).

| # | Type | Code |
|---|------|------|
| 1 | SET | `kojiNotRenFlg` logic path (see nested blocks below) |

**Block 2.1.1.1** — [IF] `isMansionPrivate(pcrsCd) \|\| isMansionGlobal(pcrsCd) \|\| isHikariConsent(svcFormBean)` (Mansion or Hikari Consent) (L1885)

> ANK-3387-00-00: Extended condition — in addition to mansion private/global, also check for Hikari Consent service pattern (provider pattern code = "51").

**Block 2.1.1.1.1** — [IF] `JKKCommonConst.IDO_DIV_VALUE_00002.equals(idoDivOldest)` (Service Addition) (L1890)

> If the oldest transaction reason is "00002" (service addition), set the unlinked flag to ON, making the service start date active.

| # | Type | Code |
|---|------|------|
| 1 | SET | `kojiNotRenFlg = true` // [-> IDO_DIV_VALUE_00002 = "00002" (Service Addition)] |

**Block 2.1.1.1.2** — [IF-ELSE-IF] `kojiakStatRenChk != null && !"".equals(kojiakStatRenChk)` (L1898)

> ANK-2423-00-00 MOD: Changed from `if` to `else if` pattern to fix logic flow. Checks if the work project status has a valid non-null value.

**Block 2.1.1.1.2.1** — [IF] `JKUStrConst.CD00474_TOROKU_ZM.compareTo(kojiakStatRenChk) <= 0 && JKUStrConst.CD00474_KOJI_FIN_ZM.compareTo(kojiakStatRenChk) >= 0` (Status 120–200) (L1900)

> ANK-2410-00-00 MOD: Changed from checking "device dispatch estimated reference year" to checking mansion construction project status code. If the work project status is between 120 (registered) and 200 (work completed), check the mansion-specific status code.

| # | Type | Code |
|---|------|------|
| 1 | IF | `JKUStrConst.MANS_KOJIAK_STAT_CD_KOJI_FIN_ZM.compareTo(mansKojiakStatCd) > 0` // [-> Mansion status < 200 = Not Completed] |
| 2 | SET | `kojiNotRenFlg = true` // Mansion work not completed -> unlinked flag ON |
| 3 | SET | `kojiNotRenFlg = false` // Otherwise unlinked flag OFF |

**Block 2.1.1.1.2.2** — [ELSE] `kojiakStatRenChk` not in range 120–200 (L1913)

> ANK-2410-00-00 DEL: Previously set `kojiNotRenFlg = true` unconditionally. Now does nothing (no-op).

**Block 2.1.1.2** — [ELSE] `isMansionPrivate \|\| isMansionGlobal \|\| isHikariConsent` is FALSE (Non-mansion / FTTH fiber line) (L1917)

> For FTTH (fiber-to-the-home) non-mansion customers, use different status thresholds. The condition was simplified in ANK-2410-00-00 to just check if `kojiakStatRenChk` is less than 200 (work completed).

**Block 2.1.1.2.1** — [IF] `JKKCommonConst.IDO_DIV_VALUE_00002.equals(idoDivOldest)` (L1920)

> Same as mansion path: service addition -> activate start date.

| # | Type | Code |
|---|------|------|
| 1 | SET | `kojiNotRenFlg = true` |

**Block 2.1.1.2.2** — [IF-ELSE-IF] `kojiakStatRenChk != null && !"".equals(kojiakStatRenChk)` (L1930)

> ANK-2410-00-00 MOD: Simplified to only check if status is below 200 (work completed).

| # | Type | Code |
|---|------|------|
| 1 | IF | `JKUStrConst.CD00474_KOJI_FIN_ZM.compareTo(kojiakStatRenChk) > 0` // [-> Status < 200] |
| 2 | SET | `kojiNotRenFlg = true` // Work not completed -> unlinked flag ON |
| 3 | SET | `kojiNotRenFlg = false` // Otherwise OFF |

**Block 2.1.2** — [ELSE] `svcKeiStat >= 100` (Already providing service) (L1917)

> If the service is already in provision state (status >= 100), set unlinked flag to OFF (false).

| # | Type | Code |
|---|------|------|
| 1 | SET | `kojiNotRenFlg = false` |

**Block 2.2** — [ELSE] `prcGrpCd != "04"` (Non-mansion / Home type) (L1958)

> For home-type customers (prcGrpCd != "04"), skip all work-unlinked flag logic.

| # | Type | Code |
|---|------|------|
| 1 | (no-op) | `kojiNotRenFlg` remains `false` |

**Block 2.3** — [POST-IF] Write unlinked flag to form bean (L1961)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `svcFormBean.sendMessageString(KOJI_NOT_REN_FLG, DATABEAN_SET_VALUE, String.valueOf(kojiNotRenFlg).toLowerCase())` // [-> Constant: KOJI_NOT_REN_FLG] |

### Block 3 — COMMISSION AND STANDARD WORK FEE INIT (ANK-3412-14-00) (Lines 1964–1993)

> Initializes the Jimu Commission (service fee) and Standard Work Fee fields based on the transaction division type. For plan changes (ido_div == "00009"), sets commission to "02" (Yes) and standard work fee to "1" (Yes) with division "01" (Standard). For other operations, clears these display fields.

| # | Type | Code |
|---|------|------|
| 1 | IF | `ido_div.equals(JKKCommonConst.IDO_DIV_VALUE_00009)` // [-> "00009" (Plan Change)] |

**Block 3.1** — [IF] Plan Change mode (L1966)

> Set commission to code "02" (Yes) and standard work fee to "1" (Yes) with division "01" (Standard).

| # | Type | Code |
|---|------|------|
| 1 | SET | `commisionCd = "02"` // [-> "02" (Yes)] |
| 2 | CALL | `selectedPulldownIndex(svcFormBean, JIMU_COMMISION_LIST, "02")` // [-> Constant: JIMU_COMMISION_LIST] |
| 3 | CALL | `getPulldownMame(svcFormBean, JIMU_COMMISION_LIST, "02")` // Get label |
| 4 | CALL | `svcFormBean.sendMessageString(DSP_JIMU_COMMISION_LIST, DATABEAN_SET_VALUE, "02." + jimu_commision_nm)` // [-> Constant: DSP_JIMU_COMMISION_LIST] |
| 5 | CALL | `selectedPulldownIndex(svcFormBean, STDARD_KOJIHI_DIV_LIST, "01")` // [-> Constant: STDARD_KOJIHI_DIV_LIST] |
| 6 | SET | `kojihiUm = "1"` // [-> "1" (Yes)] |
| 7 | CALL | `selectedPulldownIndex(svcFormBean, STDARD_KOJIHI_LIST, "1")` // [-> Constant: STDARD_KOJIHI_LIST] |
| 8 | CALL | `getPulldownMame(svcFormBean, STDARD_KOJIHI_LIST, "1")` // Get label |
| 9 | CALL | `svcFormBean.sendMessageString(DSP_SKEKKA_HOKI_VALUE, DATABEAN_SET_VALUE, "1." + kojihi_nm)` // [-> Constant: DSP_SKEKKA_HOKI_VALUE] |

**Block 3.2** — [ELSE] Non-Plan Change mode (L1984)

> Clear the commission and work fee display fields.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `svcFormBean.sendMessageString(DSP_JIMU_COMMISION_LIST, DATABEAN_SET_VALUE, "")` |
| 2 | CALL | `svcFormBean.sendMessageString(DSP_SKEKKA_HOKI_VALUE, DATABEAN_SET_VALUE, "")` |

**Block 3.3** — [IF] `ido_div.equals(JKKCommonConst.IDO_DIV_VALUE_00005)` (Termination) (L1993)

> ANK-3412-14-00 MOD: Removed plan change from this condition. Now only triggers for termination. Sets standard work fee division to "0" (None/No).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `selectedPulldownIndex(svcFormBean, STDARD_KOJIHI_DIV_LIST, "0")` // [-> "0" (None/No)] |

### Block 4 — FEE CODE DISPLAY (PCRS) (Lines 1996–2011)

> Gets the price course code and either sets pulldown index (update mode) or displays the name (view mode) based on transaction division.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `svc_kei_subbean.sendMessageString(PCRS_CD_03, DATABEAN_GET_VALUE)` // Get price course code [-> Constant: PCRS_CD_03] |

**Block 4.1** — [IF] `ido_div.equals(JKKCommonConst.IDO_DIV_VALUE_00009)` (Plan Change) (L2000)

> In update mode, set the pulldown selection to the actual price course code value.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `selectedPulldownIndex(svcFormBean, PCRS_LIST, pcrs_cd)` // [-> Constant: PCRS_LIST] |

**Block 4.2** — [ELSE] View mode (L2002)

> In view mode, get and display the price course name.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `svc_kei_Info.getDataBean(0).sendMessageString(PCRS_CD_NM_03, DATABEAN_GET_VALUE)` // [-> Constant: PCRS_CD_NM_03] |
| 2 | CALL | `svcFormBean.sendMessageString(DSP_PCRS_VALUE, DATABEAN_SET_VALUE, pcrs_nm)` // [-> Constant: DSP_PCRS_VALUE] |

### Block 5 — DISCOUNT PRESENCE (WRIBKI SVC KEI) (Lines 2014–2027)

> Checks whether a discount service contract number exists. If the field is empty, sets "No discount" (無); otherwise sets "Has discount" (有).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `wribki_svc_kei_subbean.sendMessageString(WRIB_SVC_KEI_NO_08, DATABEAN_GET_VALUE)` // [-> Constant: WRIB_SVC_KEI_NO_08] |

**Block 5.1** — [IF] `wribki_svc_kei_no.equals("")` (L2019)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `svcFormBean.sendMessageString(SKWARI_UM, DATABEAN_SET_VALUE, "無")` // [-> Constant: SKWARI_UM] |

**Block 5.2** — [ELSE] (L2023)

| # | Type | Code |
|---|------|------|
| 1 | CALL | `svcFormBean.sendMessageString(SKWARI_UM, DATABEAN_SET_VALUE, "有")` |

### Block 6 — PENALTY OCCURRENCE DIVISION (PNLTY_HASSEI) (Lines 2030–2068)

> Initializes the penalty occurrence field based on transaction division. For plan changes, defaults to "No" (無). For terminations, defaults to "Yes" (有). For other modes (update), reflects the actual database value.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `svc_kei_subbean.sendMessageString(PNLTY_HASSEI_CD_03, DATABEAN_GET_VALUE)` // [-> Constant: PNLTY_HASSEI_CD_03] |

**Block 6.1** — [IF] `JKKCommonConst.IDO_DIV_VALUE_00009.equals(ido_div)` (Plan Change) (L2035)

> Default penalty to "No" for plan changes.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `selectedPulldownIndex(svcFormBean, PNLTY_HASSEI_DIV_LIST, "0")` // [-> Constant: PNLTY_HASSEI_DIV_LIST] |
| 2 | CALL | `svcFormBean.sendMessageString(DSP_PNLTY_HASSEI_DIV_VALUE, DATABEAN_SET_VALUE, "無")` // [-> Constant: DSP_PNLTY_HASSEI_DIV_VALUE] |

**Block 6.2** — [ELSE-IF] `JKKCommonConst.IDO_DIV_VALUE_00005.equals(ido_div)` (Termination) (L2040)

> Default penalty to "Yes" for terminations.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `selectedPulldownIndex(svcFormBean, PNLTY_HASSEI_DIV_LIST, "1")` |
| 2 | CALL | `svcFormBean.sendMessageString(DSP_PNLTY_HASSEI_DIV_VALUE, DATABEAN_SET_VALUE, "有")` |

**Block 6.3** — [ELSE] Update mode (L2046)

> Reflect the actual penalty occurrence code value from the database.

| # | Type | Code |
|---|------|------|
| 1 | IF | `"0".equals(pnlty_hassei_cd)` -> Set to "No" (無) |
| 2 | IF | `"1".equals(pnlty_hassei_cd)` -> Set to "Yes" (有) |
| 3 | ELSE -> Set to empty string |

### Block 7 — MALWARE BLOCKING FLAG (ANK-3834-00-00) (Lines 2061–2076)

> ANK-3834-00-00: Reads the malware blocking non-existence flag from the form bean. If "1", sets display to "No" (無); otherwise sets to "Yes" (有).

| # | Type | Code |
|---|------|------|
| 1 | CALL | `svcFormBean.sendMessageString(MALWARE_BLOCKING_NON_FLG, DATABEAN_GET_VALUE)` // [-> Constant: MALWARE_BLOCKING_NON_FLG] |
| 2 | IF | `"1".equals(malware_blocking_non_flg)` -> Set pulldown to "0", display "無" |
| 3 | ELSE -> Set pulldown to "1", display "有" |

### Block 8 — AUDIT NOTIFICATION (SKEKKA_TCHI) (Lines 2078–2083)

> Gets the audit notification code and sets the pulldown index.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `svc_kei_subbean.sendMessageString(SKEKKA_TCHI_03, DATABEAN_GET_VALUE)` // [-> Constant: SKEKKA_TCHI_03] |
| 2 | CALL | `selectedPulldownIndex(svcFormBean, SKEKKA_TCHI_LIST, skekka_tchi)` // [-> Constant: SKEKKA_TCHI_LIST] |

### Block 9 — AUDIT SUPPLEMENTARY RECORDS (SKEKKA_HOKI) (Lines 2086–2099)

> Gets the audit supplementary record code, sets pulldown index, retrieves the label name, and formats it as a display value.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `svc_kei_subbean.sendMessageString(SKEKKA_HOKI_CD_03, DATABEAN_GET_VALUE)` // [-> Constant: SKEKKA_HOKI_CD_03] |
| 2 | CALL | `selectedPulldownIndex(svcFormBean, SKEKKA_HOKI_LIST, skekka_hoki)` // [-> Constant: SKEKKA_HOKI_LIST] |
| 3 | CALL | `getPulldownMame(svcFormBean, SKEKKA_HOKI_LIST, skekka_hoki)` // Get label |
| 4 | CALL | `svcFormBean.sendMessageString(DSP_SKEKKA_HOKI_VALUE, DATABEAN_SET_VALUE, getLabelString(skekka_hoki, skekka_hoki_nm))` // [-> Constant: DSP_SKEKKA_HOKI_VALUE] |
| 5 | CALL | `svcFormBean.sendMessageString(SKEKKA_HOKI_CD, DATABEAN_SET_VALUE, skekka_hoki)` // [-> Constant: SKEKKA_HOKI_CD] |

### Block 10 — PON TYPE (PON_SBT) (Lines 2102–2110)

> Gets the PON type code, sets pulldown index, and stores the code as a string field.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `svc_kei_kaisen_ucwk_subbean.sendMessageString(PON_SBT_CD_07, DATABEAN_GET_VALUE)` // [-> Constant: PON_SBT_CD_07] |
| 2 | CALL | `selectedPulldownIndex(svcFormBean, PON_SBT_LIST, pon_sbt)` // [-> Constant: PON_SBT_LIST] |
| 3 | CALL | `setString(svcFormBean, PON_SBT_CD, pon_sbt)` // [-> Constant: PON_SBT_CD] |

### Block 11 — RESIDENTIAL FORM (AD_FORM_CD) (Lines 2113–2125)

> Gets the residential form code and displays its label.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `svc_kei_kaisen_ucwk_subbean.sendMessageString(AD_FORM_CD_07, DATABEAN_GET_VALUE)` // [-> Constant: AD_FORM_CD_07] |
| 2 | CALL | `getPulldownMame(svcFormBean, AD_FORM_LIST, ad_form_cd)` // [-> Constant: AD_FORM_LIST] |
| 3 | IF | `ad_form_cd.equals("")` -> no-op |
| 4 | ELSE -> `svcFormBean.sendMessageString(DSP_JUKYO_FORM_VALUE, DATABEAN_SET_VALUE, getLabelString(...))` // [-> Constant: DSP_JUKYO_FORM_VALUE] |

### Block 12 — RESIDENTIAL FLOOR COUNT (FLR_CNT_CD) (Lines 2128–2141)

> Gets the floor count code and displays its label.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `svc_kei_kaisen_ucwk_subbean.sendMessageString(SHUGJ_NYUKYO_FLR_CNT_CD_07, DATABEAN_GET_VALUE)` // [-> Constant: SHUGJ_NYUKYO_FLR_CNT_CD_07] |
| 2 | CALL | `getPulldownMame(svcFormBean, SHUGJ_NYUKYO_FLR_CNT_LIST, flr_cnt_cd)` // [-> Constant: SHUGJ_NYUKYO_FLR_CNT_LIST] |
| 3 | IF | `flr_cnt_cd.equals("")` -> no-op |
| 4 | ELSE -> `svcFormBean.sendMessageString(DSP_JUKYO_FLR_VALUE, DATABEAN_SET_VALUE, getLabelString(...))` // [-> Constant: DSP_JUKYO_FLR_VALUE] |

### Block 13 — WORK SCOPE (KJ_SCOPE) (Lines 2144–2148)

> Gets the work scope code and displays its label.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `koji_net_subbean.sendMessageString(KJ_SCOPE_11, DATABEAN_GET_VALUE)` // [-> Constant: KJ_SCOPE_11] |
| 2 | CALL | `getPulldownMame(svcFormBean, KJ_SCOPE_LIST, kj_scope)` // [-> Constant: KJ_SCOPE_LIST] |
| 3 | CALL | `svcFormBean.sendMessageString(DSP_KJ_SCOPE, DATABEAN_SET_VALUE, getLabelString(...))` // [-> Constant: DSP_KJ_SCOPE] |

### Block 14 — INFORMATION CONSENT (INFO_JUJU_DOI) (Lines 2151–2156)

> Gets the information consent code and displays its label.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `koji_subbean.sendMessageString(INFO_JUJU_DOI_10, DATABEAN_GET_VALUE)` // [-> Constant: INFO_JUJU_DOI_10] |
| 2 | CALL | `getPulldownMame(svcFormBean, INFO_JUJU_DOI_LIST, info_juju_doi)` // [-> Constant: INFO_JUJU_DOI_LIST] |
| 3 | CALL | `svcFormBean.sendMessageString(DSP_INFO_JUJU_DOI, DATABEAN_SET_VALUE, getLabelString(...))` // [-> Constant: DSP_INFO_JUJU_DOI] |

### Block 15 — RELOCATION DIVISION (ISETSU_DIV) (Lines 2159–2164)

> Gets the relocation division code and displays its label.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `koji_net_subbean.sendMessageString(ISETSU_DIV_11, DATABEAN_GET_VALUE)` // [-> Constant: ISETSU_DIV_11] |
| 2 | CALL | `getPulldownMame(svcFormBean, ISETSU_DIV_LIST, isetsu_div)` // [-> Constant: ISETSU_DIV_LIST] |
| 3 | CALL | `svcFormBean.sendMessageString(DSP_ISETSU_DIV, DATABEAN_SET_VALUE, getLabelString(...))` // [-> Constant: DSP_ISETSU_DIV] |

### Block 16 — CONSTRUCTION PON TYPE (KOJI_PON_SBT) (Lines 2167–2172)

> Gets the construction PON type and displays its label.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `koji_subbean.sendMessageString(KOJI_PON_SBT_10, DATABEAN_GET_VALUE)` // [-> Constant: KOJI_PON_SBT_10] |
| 2 | CALL | `getPulldownMame(svcFormBean, KJ_PON_SBT_LIST, koji_pon_sbt)` // [-> Constant: KJ_PON_SBT_LIST] |
| 3 | CALL | `svcFormBean.sendMessageString(DSP_PON_SBT2, DATABEAN_SET_VALUE, getLabelString(...))` // [-> Constant: DSP_PON_SBT2] |

### Block 17 — NEW BUILDING PROJECT (NEWCONST_BUKKEN) (Lines 2175–2180)

> Gets the new building project code and displays its label.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `koji_subbean.sendMessageString(NEWCONST_BUKKEN_CD_10, DATABEAN_GET_VALUE)` // [-> Constant: NEWCONST_BUKKEN_CD_10] |
| 2 | CALL | `getPulldownMame(svcFormBean, NEWCONST_BUKKEN_LIST, newconst_bukken)` // [-> Constant: NEWCONST_BUKKEN_LIST] |
| 3 | CALL | `svcFormBean.sendMessageString(DSP_NEWCONST_BUKKEN, DATABEAN_SET_VALUE, getLabelString(...))` // [-> Constant: DSP_NEWCONST_BUKKEN] |

### Block 18 — DUPLICATE EQUIPMENT RE-APPLICATION (SAME_EQUIP_RE_MSKM) (Lines 2183–2188)

> Gets the duplicate equipment re-application code and displays its label.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `koji_net_subbean.sendMessageString(SAME_EQUIP_RE_MSKM_11, DATABEAN_GET_VALUE)` // [-> Constant: SAME_EQUIP_RE_MSKM_11] |
| 2 | CALL | `getPulldownMame(svcFormBean, SAME_EQUIP_RE_MSKM_LIST, same_equip_re_mskm)` // [-> Constant: SAME_EQUIP_RE_MSKM_LIST] |
| 3 | CALL | `svcFormBean.sendMessageString(DSP_SAME_EQUIP_RE_MSKM, DATABEAN_SET_VALUE, getLabelString(...))` // [-> Constant: DSP_SAME_EQUIP_RE_MSKM] |

### Block 19 — TELEPHONE CONTACT WINDOW (TELNO_RRK_KIBO_TIME) (Lines 2191–2196)

> Gets the telephone contact window code, trims whitespace, and displays its label.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `koji_subbean.sendMessageString(TELNO_RRK_KIBO_TIME_CD_10, DATABEAN_GET_VALUE)` // [-> Constant: TELNO_RRK_KIBO_TIME_CD_10] |
| 2 | CALL | `getPulldownMame(svcFormBean, TELNO_RRK_KIBO_TIME_LIST, telno_rrk_kibo_time.trim())` // [-> Constant: TELNO_RRK_KIBO_TIME_LIST] |
| 3 | CALL | `svcFormBean.sendMessageString(DSP_TELNO_RRK_KIBO_TIME, DATABEAN_SET_VALUE, getLabelString(telno_rrk_kibo_time.trim(), ...))` // [-> Constant: DSP_TELNO_RRK_KIBO_TIME] |

### Block 20 — CONSTRUCTION APPLICATION CONTACT (KJ_APO_RRKS) (Lines 2199–2204)

> Gets the construction application contact code and displays its label.

| # | Type | Code |
|---|------|------|
| 1 | CALL | `koji_subbean.sendMessageString(KJ_APO_RRKS_CD_10, DATABEAN_GET_VALUE)` // [-> Constant: KJ_APO_RRKS_CD_10] |
| 2 | CALL | `getPulldownMame(svcFormBean, KJ_APO_RRKS_LIST, kj_apo_rrks)` // [-> Constant: KJ_APO_RRKS_LIST] |
| 3 | CALL | `svcFormBean.sendMessageString(DSP_KJ_APO_RRKS, DATABEAN_SET_VALUE, getLabelString(...))` // [-> Constant: DSP_KJ_APO_RRKS] |

## 7. Glossary

| Term | Type | Business Meaning |
|------|------|------------------|
| `ido_div` | Field | Transaction division code — classifies the type of contract change operation. Values: "00002" (Service Addition), "00005" (Termination), "00008" (Cancellation), "00009" (Plan Change), "00032"/"00033" (Service Info Correction / Registration Correction) |
| `svcFlg` | Field | Service type flag — "1" = Home Type, "2" = Mansion Type, "3" = Mansion Type (Private), "4" = Meson Type |
| `prcGrpCd` | Field | Price group code — classifies the pricing category. "03" = Meson (fiber broadband), "04" = Mansion type, "01" = eo64 Area, "15" = IP Telemedicine |
| `pcrsCd` | Field | Price course code — identifies the specific pricing plan. For mansion type, values like "A47", "A48", "A67", etc. identify private vs global mansion plans |
| `kojiNotRenFlg` | Field | Work unlinked flag — when true, indicates the construction work is not linked to the service order system, meaning the service start date should be editable by the user |
| `svcKeiStat` | Field | Service contract status — "100" and above means service is in provision state; below "100" means not yet providing |
| `kojiakStatRenChk` | Field | Construction project status (for work linking check) — status codes ranging from 120 (Registered, 登録済) to 200 (Work Completed, 工事完了済) |
| `mansKojiakStatCd` | Field | Mansion construction project status code — mansion-specific status code, "200" (KOJI_FIN_ZM = 工事完了済) means work is completed |
| `idoDivOldest` | Field | Oldest transaction division reason — indicates the original reason for the earliest transaction. "00002" means Service Addition (サービス追加) |
| `SVC_KEI_STAT_100` | Constant | Service provision status code threshold — status values below 100 indicate the service has not yet started provision |
| `CD00474_TOROKU_ZM` | Constant | Status code "120" — Registered (登録済) |
| `CD00474_KOJI_FIN_ZM` | Constant | Status code "200" — Work Completed (工事完了済) |
| `CD00474_IRI_ZM` | Constant | Status code "140" — Request Received (依頼済) |
| `MANS_KOJIAK_STAT_CD_KOJI_FIN_ZM` | Constant | Mansion work completed threshold code |
| `JKKCommonConst.PRC_GRP_CD_04` | Constant | Price group code "04" — Mansion type classification |
| `JKKCommonConst.IDO_DIV_VALUE_00009` | Constant | Transaction division "00009" — Plan Change (プラン変更) |
| `JKKCommonConst.IDO_DIV_VALUE_00005` | Constant | Transaction division "00005" — Termination (解約) |
| `JKKCommonConst.IDO_DIV_VALUE_00002` | Constant | Transaction division "00002" — Service Addition (サービス追加) |
| `EKK0081A010CBSMSG1LIST` | Constant | Service contract info list key |
| `EKK0241B001CBSMSG1LIST` | Constant | Service contract line details list key |
| `EKK0451B010CBSMSG1LIST` | Constant | Discount service list key |
| `KU0011A010BSMSG1LIST` | Constant | Construction project info list key |
| `KU0021A010BSMSG1LIST` | Constant | Construction project eo Hikari Net info list key |
| `KU0061A010BSMSG1LIST` | Constant | Construction project eo Hikari Net mansion info list key |
| `KOJI_NOT_REN_CHK_LIST_LIST` | Constant | Work-unlinked-check list key |
| `KOJI_NOT_REN_FLG` | Constant | Work unlinked flag field key |
| `SVC_FLG` | Constant | Service type flag field key |
| `KOJI_FIN_ZM` | Constant | "工事完了済" (Work Completed) — Japanese display text |
| `無` | Constant | "No" / "None" — Japanese text meaning discount/penalty/work fee does not apply |
| `有` | Constant | "Yes" / "Exists" — Japanese text meaning discount/penalty/work fee applies |
| `SKEKKA_HOKI_ZM` | Constant | "審査結果補足" (Audit Supplementary Records) — Japanese display text |
| `ISSETSU` | Constant | "移設" (Relocation/Move) — Japanese display text |
| `JIMU_COMMISION_LIST` | Constant | Jimu commission (service fee) pulldown list key |
| `STDARD_KOJIHI_DIV_LIST` | Constant | Standard work fee division pulldown list key |
| `STDARD_KOJIHI_LIST` | Constant | Standard work fee pulldown list key |
| `PCRS_LIST` | Constant | Price course pulldown list key |
| `PNLTY_HASSEI_DIV_LIST` | Constant | Penalty occurrence division pulldown list key |
| `MALWARE_BLOCKING_UM_LIST` | Constant | Malware blocking presence pulldown list key |
| `SKEKKA_TCHI_LIST` | Constant | Audit notification pulldown list key |
| `SKEKKA_HOKI_LIST` | Constant | Audit supplementary record pulldown list key |
| `PON_SBT_LIST` | Constant | PON type pulldown list key |
| `AD_FORM_LIST` | Constant | Residential form pulldown list key |
| `SHUGJ_NYUKYO_FLR_CNT_LIST` | Constant | Residential floor count pulldown list key |
| `KJ_SCOPE_LIST` | Constant | Work scope pulldown list key |
| `INFO_JUJU_DOI_LIST` | Constant | Information consent pulldown list key |
| `ISETSU_DIV_LIST` | Constant | Relocation division pulldown list key |
| `KJ_PON_SBT_LIST` | Constant | Construction PON type pulldown list key |
| `NEWCONST_BUKKEN_LIST` | Constant | New building project pulldown list key |
| `SAME_EQUIP_RE_MSKM_LIST` | Constant | Duplicate equipment re-application pulldown list key |
| `TELNO_RRK_KIBO_TIME_LIST` | Constant | Telephone contact window pulldown list key |
| `KJ_APO_RRKS_LIST` | Constant | Construction application contact pulldown list key |
| `SVC_KEI_NO` | Field | Service contract number — unique identifier for a service contract |
| `SYSID` | Field | System identifier — unique ID assigned to the customer's service |
| SOD | Acronym | Service Order Data — telecom order fulfillment context (referenced in constant names) |
| FTTH | Business term | Fiber To The Home — fiber-optic internet service (non-mansion type) |
| eo Hikari Net | Business term | NTT docomo's fiber-optic broadband service brand ("eo光ネット") |
| Plan Change | Business term | プラン変更 — switching between pricing plans while retaining the same service |
| Termination | Business term | 解約 — terminating a service contract |
| Cancellation | Business term | キャンセル — cancelling a pending operation |
| Service Addition | Business term | サービス追加 — adding a new service to an existing contract |
| Jimu | Business term | 事務手 — Administrative fee (Jimu Shuryo) |
| Kojihi | Business term | 工事費 — Construction/Installation fee |
| Skwari | Business term | 割引 — Discount (applied to service contracts) |
| Pnlty | Business term | 違約金 — Contract termination penalty fee |
| Malware Blocking | Business term | マルウェアブロッキング — Anti-malware protection service |
| Skekka | Business term | 審査 — Screening/Audit (of the service contract application) |
| Koji | Business term | 工事 — Construction/Installation work |
| Issetsu | Business term | 移設 — Relocation of equipment |
| Newconst Bukken | Business term | 新築物件 — New building project |
| Same Equip Re-Mskm | Business term | 同一設備再申請 — Re-application for the same equipment |
| KJ_Apo_Rrks | Business term | 工事AP連携先 — Construction Application Point of contact |
| Telno Rrk Kibo Time | Business term | 電話連絡希望時間帯 — Telephone contact preferred time window |
| Info Juju Doi | Business term | 情報提供同意 — Information provision consent (privacy consent) |
| Mansion Private | Business term | マンションプラベート — Private mansion pricing plan |
| Mansion Global | Business term | マンショングローバル — Global/shared mansion pricing plan |
| Hikari Consent | Business term | 光コンセント — Fiber consent (provider pattern code "51" for fiber opt-in) |
