テナント一覧
テナントの一覧確認、追加、基本情報の編集を行います。
既存テナントの基本情報を更新します。
テナントと初期店舗を作成します。
| テナント名 | 識別子 | 状態 | 権限 | 作成日時 | 操作 |
|---|---|---|---|---|---|
|
{{ tenant.tenant.name }}
{{ tenant.tenantId }}
|
{{ tenant.tenant.slug }} | {{ translateTenantStatus(tenant.status) }} | {{ translateRole(tenant.actorRole || tenant.role) }} | {{ formatDateTime(tenant.tenant.createdAt) }} |
|
店舗一覧
{{ selectedTenant.tenant.name }} に紐づく店舗一覧です。
既存店舗の基本情報を更新します。
{{ selectedTenant.tenant.name }} に店舗を追加します。
| 店舗名 | 状態 | タイムゾーン | SESAME | 操作 |
|---|---|---|---|---|
|
{{ store.name }}
{{ store.id }}
|
{{ translateStatus(store.status) }} | {{ store.timezone || '-' }} |
{{ store.sesameConfigured ? '設定済み' : '未設定' }}
{{ store.primaryDeviceUuid || store.hubName || '-' }}
|
{{ stateSummary.tenantCount }}
所属テナント
{{ stateSummary.roleCount }}
保有ロール
{{ stateSummary.apiHost }}
API 接続先
{{ stateSummary.selectedTenant || '-' }}
選択中テナント
{{ stateSummary.memberCount }}
会員件数
テナント管理
一覧と追加は専用メニューに集約しました。
- 表示テナント数
- {{ platformTenantEntries.length }}
- 選択中テナント
- {{ selectedTenant?.tenant?.name || '-' }}
- 直近追加
- {{ platformTenantEntries[platformTenantEntries.length - 1]?.tenant?.name || '-' }}
{{ operatorAccessSummary.tenantOwnerCount }}
責任者
{{ operatorAccessSummary.tenantStaffCount }}
担当者
{{ operatorAccessSummary.assignmentCount }}
店舗割当
{{ operatorAccessSummary.grantCount }}
個別権限
担当者アカウント作成
運用方針
テナント担当者は店舗割当だけでは操作権限を持たず、必要な機能だけを追加で開放します。
売上や監査ログは明示 grant 制です。会員一覧や遠隔解錠は、割当済み店舗に対してだけ付与します。
tenant 全体 grant は最小限に留めます。テナント責任者は横断管理、テナント担当者は日常運用を中心に分けます。
owner-web ではこの設定の tenant 限定版を使います。権限カタログ
責任者と担当者の差を、機能単位で管理します。
{{ permission.code }}
担当者権限管理
店舗割当の状況を見ながら、担当者の個別権限を切り替えます。
{{ translateRole(operator.role) }} / {{ operator.profile?.phone || '電話未登録' }}
テナント責任者はテナント全体の運営責任者として扱うため、ここでは個別権限の表示のみを行います。
会員一覧
一覧から会員を選ぶと詳細画面へ遷移します。
| 会員 | 連絡先 | ステータス | プロフィール | 登録日 | 操作 |
|---|---|---|---|---|---|
|
{{ member.fullName }}
{{ member.id }}
|
{{ member.email || member.phone || '連絡先未登録' }} | {{ translateStatus(member.status) }} | {{ member.profile?.displayName || '未連携' }} | {{ formatDateTime(member.createdAt) }} |
補助メモ
{{ item.summary }}
{{ item.reason }}一覧補足
{{ panel.summary }}
- {{ metric }}
{{ selectedMember.fullName }}
{{ selectedMember.email || selectedMember.phone || '連絡先未登録' }}
基本情報
- 電話
- {{ selectedMember.phone || '-' }}
- オンボード
- {{ formatDateTime(selectedMember.onboardedAt) }}
- プロフィール連携
- {{ selectedMember.profile?.displayName || '未連携' }}
- プロフィール状態
- {{ translateStatus(selectedMember.profile?.status) }}
- 会員ID
- {{ selectedMember.id }}
- 更新日時
- {{ formatDateTime(selectedMember.updatedAt) }}
問い合わせ即応
{{ item.summary }}
契約プラン
{{ formatCurrency(subscription.plan.currency, subscription.plan.priceCents) }} / {{ subscription.plan.billingInterval }}
店舗アクセス
個別権限
SESAME / 解錠履歴
{{ request.sesameDevice.nickname || request.sesameDevice.deviceUuid }}
監査ログ
{{ log.actorProfile?.displayName || translateRole(log.actorRole) || 'システム' }}
{{ candyhouseAccount?.planName || '-' }}
CandyHouse 契約
{{ candyhouseSummary.latestEstimatedApiRequestCount }}
{{ formatMonth(candyhouseSummary.latestSnapshotMonth) }} API 推計
{{ candyhouseSummary.hubCount }} / {{ candyhouseSummary.deviceCount }}
Hub3 / デバイス
{{ candyhouseSummary.offlineDeviceCount }}
停止中デバイス
契約サマリー
Biz 会社アカウント席数と API 制約をテナント単位で管理します。
- 契約モード
- {{ candyhouseAccount.contractMode }}
- プラン
- {{ candyhouseAccount.planName }} / {{ candyhouseAccount.planCode }}
- Biz ユーザー上限
- {{ candyhouseAccount.bizUserLimit ?? '-' }}
- 月次 API 上限
- {{ candyhouseAccount.apiRequestLimitMonthly ?? '-' }}
- Hub3 必須
- {{ candyhouseAccount.hub3Required ? '必須' : '任意' }}
- 更新日時
- {{ formatDateTime(candyhouseAccount.updatedAt) }}
- 請求開始
- {{ formatDateTime(candyhouseAccount.billingStartedAt) }}
- 外部参照
- {{ candyhouseAccount.externalAccountReference || '-' }}
{{ candyhouseAccount.notes }}
月次利用量
取得日時: {{ formatDateTime(snapshot.capturedAt) }}
Hub3 一覧
{{ hub.storeName }}
デバイス台帳
主導線ドア、Hub3 接続方式、疎通状態をまとめます。
| デバイス | 店舗 / Hub | 接続 | 疎通 | 同期 |
|---|---|---|---|---|
|
{{ device.nickname || device.deviceUuid }}
{{ device.deviceUuid }}
主導線
|
{{ device.storeName }}
{{ device.hubName || 'Hub 未設定' }}
|
{{ device.connectionType }}
FW: {{ device.firmwareVersion || '-' }}
|
{{ device.responsive ? '正常' : '停止' }}
電池残量: {{ device.batteryPercentage ?? '-' }}
|
{{ formatDateTime(device.lastSyncedAt) }}
最終オンライン: {{ formatDateTime(device.lastOnlineAt) }}
|
検証ページ
API 設定
所属テナント
{{ tenant.tenant.name }}
{{ tenant.tenant.slug }}
会員一覧
会員詳細
{{ selectedMember.fullName }}
{{ selectedMember.email || 'メール未登録' }}
- 電話
- {{ selectedMember.phone || '-' }}
- オンボード
- {{ formatDateTime(selectedMember.onboardedAt) }}
- Profile 連携
- {{ selectedMember.profile?.displayName || '未連携' }}
- Profile 状態
- {{ selectedMember.profile?.status || '-' }}
- Member ID
- {{ selectedMember.id }}
- 更新日時
- {{ formatDateTime(selectedMember.updatedAt) }}
契約プラン
{{ formatCurrency(subscription.plan.currency, subscription.plan.priceCents) }} / {{ subscription.plan.billingInterval }}
店舗アクセス
Access Permissions
SESAME / Unlock History
{{ request.sesameDevice.nickname || request.sesameDevice.deviceUuid }}
監査ログ
{{ log.actorProfile?.displayName || log.actorRole || 'system' }}
SESAME Test Unlock
API Response
{{ sesameOutput }}
Profile JSON
{{ profileJson }}
Member Detail JSON
{{ memberDetailJson }}
Activity
{{ activityLog }}