ビジネスドメイン知識
ClassLabは新生活に必要なサービスをワンストップで提供するプラットフォームです。
不動産会社と提携し、引越しをされるお客様に対して電気・ガス・水道・インターネット等のライフラインサービスの案内・申込を代行しています。
ClassLabのビジネスフロー、Salesforceオブジェクト構造、外部連携を理解し、日々の開発に必要なドメイン知識を習得します。ドメイン知識サイトと併せて学習してください。
Satus__c は Status のtypoではなく、既存のSalesforceフィールドAPI名です。修正するとシステム全体に影響するため、現状の表記をそのまま使用してください。
業務フロー
NW → CX → EA の3チーム連携による業務プロセス
主要オブジェクト
Account, MoveIn__c, ServiceGuide__c, Service__c, Contact
ドメイン構成
顧客対応、ポータル、AI、外部連携、内部管理の6カテゴリ
自動化処理
トリガー3種 + 定期バッチ3種で業務を自動化
外部連携
AI送客、LINE/WeChat、イタンジ等の外部システム連携
エラーハンドリング
SystemError__c による統一的なエラー管理と通知
1. 業務フローとデータの流れ
ClassLabの業務は、3つのチーム(NW CX EA)が連携して進みます。
タイムライン: 業務の流れ
各STEPの詳細
| STEP | チーム | 業務内容 | 操作オブジェクト |
|---|---|---|---|
| 1 | NW(営業) | 不動産会社への営業、契約締結 | Account(取引先) |
| 2 | - | 不動産会社がお客様情報を送客 | MoveIn__c(入居) |
| 3 | CX(コールセンター) | お客様への架電、サービス案内・申込 | ServiceGuide__c(サービス案内) |
| 4 | EA(事務) | 申込後の事務処理、金額・報酬管理 | ServiceGuide__c の更新 |
2. 主要オブジェクト
オブジェクトリレーション
IntroductionFor__c
Account(取引先) Standard Object
不動産会社を管理するオブジェクト。NWチームが営業活動で作成します。
MoveIn__c(入居) Custom Object 中核
ClassLabの中核オブジェクト。入居者の全情報を管理します。
| カテゴリ | 主要項目 | 用途 |
|---|---|---|
| 基本情報 | Name(自動採番), IntroductionFor__c |
入居No, 紹介元不動産 |
| 入居者情報 | LastName__c, FirstName__c, MobilePhone__c, Email__c |
氏名、連絡先 |
| 住所 | PostalCode__c, Prefectures__c, Municipality__c, Building__c |
住所情報 |
| 日付 | MoveInDate__c, ReferralDate__c, FirstTelDate__c |
入居予定日、紹介日 |
| 架電管理 | Satus__c, CumulativeNumber__c |
架電状況、累計架電数 |
| サービス制御 | ElecProhibited__c, GasAcquisitionProhibited__c |
獲得禁止フラグ |
Satus__c は Status ではなく既存の表記です。変更しないでください。
ServiceGuide__c(サービス案内) Custom Object
| カテゴリ | 主要項目 | 用途 |
|---|---|---|
| 親レコード | MoveIn__c(Master-Detail) |
入居への紐付け(必須) |
| サービス | Service__c(Lookup), type__c |
サービスマスタ、種別 |
| ステータス | AgencyStatus__c |
代理店申込状況(26種類) |
| 金額 | Amount__c, Deposited__c |
金額、報酬入金済み |
| 不備 | DefectOccurrenceDate__c, DeficiencyContent__c |
不備管理 |
よく使う略称一覧
| 略称 | 正式名 |
|---|---|
| MI | MoveIn__c(入居) |
| SG | ServiceGuide__c(サービス案内) |
| NW | 営業チーム |
| CX | コールセンターチーム |
| EA | 事務チーム |
SOQL クエリ例
// 入居レコードの基本取得
SELECT Id, Name, LastName__c, FirstName__c,
MoveInDate__c, Satus__c, IntroductionFor__c
FROM MoveIn__c
WHERE Satus__c = '未架電'
ORDER BY MoveInDate__c ASC
LIMIT 100
// サービス案内と入居の関連取得
SELECT Id, MoveIn__c, Service__r.Name,
type__c, AgencyStatus__c, Amount__c
FROM ServiceGuide__c
WHERE MoveIn__r.Satus__c = '架電済み'
AND AgencyStatus__c != 'キャンセル'
// 取引先ごとの入居数集計
SELECT IntroductionFor__r.Name,
COUNT(Id) totalMoveIns
FROM MoveIn__c
WHERE CreatedDate = THIS_MONTH
GROUP BY IntroductionFor__r.Name
ORDER BY COUNT(Id) DESC
3. 26ドメイン構成
| カテゴリ | ドメイン数 | 主なドメイン |
|---|---|---|
| 顧客対応系 | 4 | 架電効率化、インサイドセールス、動的マニュアル、問い合わせ管理 |
| 顧客向けポータル系 | 3 | 不動産会社様利用ページ、案内内容確認ページ、ライフライン代理店 |
| AI/自動化系 | 3 | AI送客、AIトレーナー、自動申込 |
| 外部連携系 | 6 | LINE・WeChat連携、ZoomPhone、スマサポ連携、イタンジ連携、OCCTO地点番号検索 |
| 内部管理系 | 6 | 従業員管理、不動産管理、データ変更履歴管理、メールonSalesforce、シフト管理、空室通電 |
| その他 | 4 | データ品質・バリデーション、共通基盤系ユーティリティ |
- 架電効率化
- インサイドセールス
- 動的マニュアル
- 問い合わせ管理
- 不動産会社様利用ページ
- 案内内容確認ページ
- ライフライン代理店
- AI送客
- AIトレーナー
- 自動申込
- LINE・WeChat連携
- ZoomPhone
- スマサポ連携
- イタンジ連携
- OCCTO地点番号検索
- 従業員管理
- 不動産管理
- データ変更履歴管理
- メールonSalesforce
- シフト管理
- 空室通電
- データ品質・バリデーション
- 共通基盤系ユーティリティ
4. 主要な自動化処理
入居作成時の自動処理 Trigger
| トリガー | 処理内容 |
|---|---|
AddressCheckTrigger |
住所チェック、デフォルト値設定 |
CreateServiceGuideTrigger |
サービス案内レコードを自動作成 |
CreatePersonAccountTrigger |
Contact(個人取引先)を自動作成 |
定期実行バッチ Scheduled
| バッチ名 | 実行タイミング | 処理内容 |
|---|---|---|
AccountFieldSummaryForMovein |
毎日 | 取引先に入居統計情報を集計 |
ImportItanjiAPIPropBatch |
毎日 | イタンジAPIから物件情報を同期 |
MoveInCreationBatch |
毎日 | イタンジAPI/CSVから入居データを自動作成 |
バッチのApex実行例
// バッチの手動実行(開発者コンソール)
AccountFieldSummaryForMovein batch = new AccountFieldSummaryForMovein();
Database.executeBatch(batch, 200);
// スケジュール設定の確認
SELECT Id, CronExpression, CronJobDetail.Name
FROM CronTrigger
WHERE CronJobDetail.Name LIKE '%Movein%'
5. 外部連携
AI送客(FaxOcr機能)
LINE・WeChat連携
イタンジ連携
不動産会社との物件・入居者データ連携。物件情報の定期取得と入居者情報の自動取得を行います。
イタンジ連携の技術詳細
イタンジAPIを利用して以下の処理を定期的に実行します:
ImportItanjiAPIPropBatch- 物件情報の同期MoveInCreationBatch- 入居データの自動作成
// カスタム設定: イタンジAPI接続情報
ItanjiApiSetting__c setting = ItanjiApiSetting__c.getInstance();
setting.Endpoint__c // APIエンドポイントURL
setting.ApiKey__c // 認証キー
setting.IsActive__c // 有効/無効フラグ
6. エラーハンドリング
// エラーハンドリングの基本パターン
try {
// 業務処理
} catch (Exception e) {
SystemError__c error = new SystemError__c();
error.ErrorMessage__c = e.getMessage();
error.StackTrace__c = e.getStackTraceString();
error.ClassName__c = 'MyClass';
insert error;
// SystemErrorTrigger が自動で管理者にメール通知
}
SystemError__c にレコードが作成されると、SystemErrorTrigger により自動的に管理者へメール通知が送信されます。開発者コンソールや Salesforce の「最近の例外」も合わせて確認してください。
学習リソース
- ClassLab ドメイン知識サイト - ドメイン全体を体系的に学べるサイト
- ClassLabナレッジ - FAQ、手順書、トラブルシューティング
- オブジェクト設計書 - GitHub上の詳細設計ドキュメント