---
sidebar_position: 12
title: "アドオンと設置ロジック"
---

# アドオンと設置ロジック — ビジネスルール

## Salesforceの商品分類

### Item_Class__c の値

- **Service**：メインの顧客選択可能商品（インターネットプラン、SIMプラン、VPN）
- **Installation**：サービスの設置オプション（一括または月額）
- **Add-on**：オプションの追加サービス（スタンドアロンまたはバンドル）
- **Activation**：必須の一括アクティベーション料金

## アドオンロジック

### スタンドアロンアドオン

アドオンはバンドルなしで独立して存在できます：

```typescript
// 例：SIM用Voice Mailアドオン
{
  sku: "SIM-ADDON-VOICE-MAIL",
  itemClass: "Add-on",
  billingCycle: "Monthly",
  isBundledAddon: false,
  bundledAddonId: null
}
```

### バンドルアドオン

アドオンは設置/セットアップとバンドルできます：

```typescript
// 月額サービスアドオン
{
  sku: "INTERNET-ADDON-HIKARI-DENWA",
  itemClass: "Add-on",
  billingCycle: "Monthly",
  isBundledAddon: true,
  bundledAddonId: "a0X4x000000INSTALL123"
}

// アドオンの設置
{
  sku: "INTERNET-ADDON-HIKARI-DENWA-INSTALL",
  itemClass: "Add-on", // アドオンの設置も"Add-on"として分類
  billingCycle: "Onetime",
  isBundledAddon: true,
  bundledAddonId: "a0X4x000000SERVICE456"
}
```

## 設置ロジック

### サービス設置

メインサービスの設置は「Installation」として分類されます。

### アドオン設置

アドオンの設置は「Add-on」として分類されます（「Installation」ではありません）。

## ビジネスルール

### バンドルルール

- アドオンのみバンドル可能（Item_Class__c = "Add-on"）
- サービス設置は別（Item_Class__c = "Installation"）
- バンドルアドオンは一致する`bundledAddonId`参照が必要
- バンドルペア：同じバンドル関係を持つ1つのMonthly + 1つのOnetime

### SKUパターン

- サービス設置：`*-INSTALL-*`（Item_Class__c = "Installation"）
- アドオン設置：`*-ADDON-*-INSTALL`（Item_Class__c = "Add-on"）
- 月額アドオン：`*-ADDON-*`（INSTALLサフィックスなし、Item_Class__c = "Add-on"）
