Date Time: Salesforce の日付・時間枠ピッカー
複数の日付を選び、時間をドラッグして、すべての時間ブロックを自社の Salesforce レコードに保存。予約、シフト、面接に使える時間枠ピッカー付きカレンダーを、ウィザードで設定できます。
または今すぐライブデモを試す (ログイン不要) →時間枠グリッド、日付ごとの時刻、ダブルブッキング防止、状況の色分け。画面フローと Experience Cloud で動作し、Apex は不要です。
Salesforce にあるのは日付項目と時刻項目。時間枠ピッカーはありません。
Date Time なら「この 4 日間、9 時から 12 時」が、1 回の保存で 4 件のレコードになります。
| 必要なこと | 標準の Salesforce | Date Time の場合 |
|---|---|---|
| 複数の日付に 1 つのスケジュール | ✗レコードを 1 件ずつ作成 | ✓クリック、ドラッグ、または繰り返しパターンで追加 |
| 時刻を見て選ぶ | ✗時刻項目に手入力 | ✓時間枠グリッドをドラッグ |
| 日ごとに違う時間 | ✗レコードを 1 件ずつ編集 | ✓日付ごとにグリッドを表示 |
| ダブルブッキング防止 | ✗入力規則か Apex が必要 | ✓埋まっている枠はグレー表示 |
| 状況がひと目でわかる | ✗レコードを 1 件ずつ開く | ✓日付と時間枠に色を表示 |
| セットアップ | ✗開発者とカスタム LWC が必要 | ✓クリック操作だけのセットアップウィザード |
見た目より難しい理由: Salesforce で時間枠を選べるカレンダーを作る。
時間枠ピッカー付きカレンダー
上に日付、下に時刻。時間枠をクリックまたはドラッグします。隣り合う時間枠のまとまりが 1 件の予約として保存されます。
- 日付を選ぶ
- 時刻をドラッグ
- 状況を設定
- 保存
グリッドかドロップダウンか
共通の時刻か日付ごとの時刻か
1 日の範囲を決める
- Time Interval: 任意の間隔 (15、30、60 分が一般的)
- Earliest / Latest Time: 既定は 08:00〜18:00
- Enable End Time(終了時刻を有効化): 開始と終了の両方を記録
実際の予約管理とシフト管理のために
どれもカスタマイズではなく、設定だけで使えます。
- ホバー時の詳細
- 2 つ目の選択リスト
- 2 か月表示
- ブロック日付
- レコード名を自動設定
- コンポーネント内トースト
- 9 言語
週表示: 日付だけでなく、すべての時刻を確認
予約は実際の長さどおりの高さで表示。レコードも保存処理も同じで、変わるのはレイアウトだけです。
| 表示 | 適した用途 |
|---|---|
| 週 | 面接、予約、オフィスアワー。複数の日と時間を一度にドラッグして選択。 |
| カレンダー | 先に日を、次に時刻を選ぶ。既定の表示です。 |
| 予定一覧 | 今後 60 日間を、開始時刻と終了時刻付きの一覧で表示。 |
| タイムライン | 横に日付、縦にレコード。複数日のブロックはバーで表示。 |
| 稼働率 | 定員のヒートマップ。Booking と組み合わせて使います。 |
設定は 2 つ。 View で最初に開くレイアウトを選び、Available Views(利用可能な表示) で切り替えられる表示を決めます (例: calendar,week,agenda)。Earliest Time と Latest Time は週表示のグリッドの範囲にも適用されます。
Salesforce の時間枠スケジューラーの活用例
Date Time の 15 の使い方と、それぞれを実現する設定。
面接日程調整
日ごとに違う時間枠を、結果に応じて色分け。
- 30 分枠
- 日付ごとの時刻
- 状況の色分け
来店・面談予約
営業時間内のみ、重複なし。
- 競合をブロック
- 08:00〜17:00
- 開始と終了
シフト管理
1 回のドラッグで、1 日 1 件のシフトレコード。
- 60 分枠
- 時間帯の区分
- 終了時刻
メンテナンス時間
02:00、03:00、04:00 が 02:00〜05:00 の 1 つの時間帯に。
- 時間帯を統合
- 競合をブロック
配送時間帯
配送日ごとにすっきりした時刻ピッカー。
- ドロップダウン
- 日付ごとの時刻
クリニックの予約
細かい時間枠で、予約済みの枠は色付き。
- 15 分枠
- 既存を読み込み
- グリッドに状況
折り返し電話の予約
担当者が重複なく顧客への折り返し電話を予約。
- 30 分枠
- 競合をブロック
- 名前を自動設定
顧客オンボーディング
毎週のセッション 8 回を 2 クリックで設定。
- 繰り返しパターン
- 名前を自動設定
研修クラス
午前と午後のブロック。昼休みは休憩として保存。
- 日付ごとの時刻
- サブブロック
デモの申し込み
見込み客が自社サイトで時間枠を選択。埋まっている枠はグレー表示。
- Experience Cloud
- 既存は参照のみ
QBR の日程調整
四半期末にかけての 90 分のレビュー。
- 2 か月表示
- 状況の色分け
物件の内見
空き、予約済み、仮押さえの内見枠を色で表示。
- タイムグリッド
- グリッドに状況
出動の時間帯
現場作業を日ごとの時間帯に割り当て。
- 1 時間枠
- 終了時刻
ウェビナーの申し込み
選んだセッションごとに 1 件の申し込みレコード。
- ドロップダウン
- 重複を許可
カンファレンスのセッション
各日の基調講演と分科会を、詳細付きの 1 件のレコードに。
- サブブロック
- 時間帯の区分
詳しくはこちら: Salesforce での面接日程調整、人材派遣とシフト管理。
レコードの保存先: 自社のオブジェクト、自社の項目
日付項目、時刻項目 1〜2 つ、親への参照関係を持つ子オブジェクト。ウィザードではこれらがドロップダウンに表示されます。
| オブジェクトの項目 | 種別 | ウィザード / App Builder の設定 |
|---|---|---|
| 予約日 | Date | 日付項目の API 参照名(Date Field API Name) |
| 開始時刻 | 時刻 | Start Time Field API Name |
| 終了時刻 | 時刻 | End Time Field API Name |
| 取引先責任者 (親) | 参照関係 | 関連項目の API 参照名(Relationship Field API Name) |
| 状況 任意 | 選択リスト | 状況項目(Status Field) |
| 終了日 任意 | Date | End Date Field API Name |
追加型の保存。 保存は新しいレコードを挿入するだけで、既存のレコードは削除しません。Load Existing Dates で予約済みの内容を、編集可能または参照のみで表示します。
Lightning ページに追加する
Lightning App Builder で MultiDatePick - Dates & Times をページにドラッグし、Config Name(設定名) を設定します。
| ページ | 設定するもの |
|---|---|
| レコードページ | Config Name。ページのレコードが自動的に親になります。 |
| アプリケーション・ホーム・Experience ページ | Config Name と、時刻を紐付けるレコードを指定する Static Parent Record Id を設定します。 |
| Experience Cloud | Show In-Component Toast もオンにして、訪問者に保存が伝わるようにします。 |
保存後はすっきり。 Show Inline (No Button) と Show Done Button in Inline Mode をオンにすると、[完了] でピッカーが概要カードにまとまります。クリックすれば再び開きます。
手順はこちら: はじめに、アプリケーション・ホーム・Experience ページ。
Salesforce の画面フローに時間枠ピッカーを追加する
コンポーネントを画面にドラッグし、Config Name にセットアップウィザードの設定を指定します。チェックボックスはすべて設定から読み込まれます。
- 画面
- Dates & Times
- 設定名(Config Name)
- Dates With Times JSON
- Parse Date Entries from JSON
- ループ
- レコードを作成
| 出力 | フロー変数 | 内容 |
|---|---|---|
Dates With Times JSON selectedDatesWithTimesJson | テキスト | 各日付とその開始時刻・終了時刻。fromDate、toDate、startTime、endTime を持つ、ループ処理できるエントリに変換します。 |
Selected Dates selectedDates | テキストコレクション | 日付のみ。ISO 形式の文字列。 |
Date Ranges JSON selectedDateRangesJson | テキスト | 連続した日付を期間にまとめたもの。Output Date Ranges as JSON がオンのとき。 |
Sub-Blocks JSON subBlocksJson | テキスト | 時間枠の間の空き時間。同じ変換アクションを使います。 |
ループを省くこともできます。 設定で子オブジェクトを指定すると、コンポーネント自身が時刻入りのレコードを保存します。すべてクリック操作で、Apex は不要です。すべてのパターンはフローのチートシートにまとめています。
仕様
要点を 1 つの表にまとめました。
| セキュリティ | Salesforce AppExchange セキュリティレビュー合格 |
| データ | 100% ネイティブ: データは Salesforce の外に出ません。外部サーバーもコールアウトもありません。 |
| Salesforce エディション | Enterprise、Unlimited、Performance、Developer、Salesforce Platform、および業界向けクラウド。Essentials と Professional は対象外です。 |
| 利用できる場所 | 画面フロー、レコードページ、アプリケーションページ、ホームページ、Experience Cloud サイト |
| 時間枠 | 任意の間隔 (15、30、60 分が一般的)、グリッドまたはドロップダウン、午前・午後・夕方のグループ分け (任意) |
| 時刻のモード | 全日付で共通、または日付ごと |
| 競合 | block、skip、allow。既定で 360 日先までチェック |
| 表示 | カレンダー、週、予定一覧、タイムライン、稼働率 |
| 言語 | 9 言語: 英語、スペイン語、フランス語、ドイツ語、イタリア語、日本語、ヒンディー語、ポルトガル語 (ブラジル)、中国語 (簡体字) |
| API バージョン | 63.0 |
| プロパティ | 90 以上、すべてクリックで設定。全リファレンス |
| セットアップ | ノーコードのセットアップウィザード、Lightning App Builder、または Flow Builder |
1 つのプランですべての機能
時間枠ピッカーは追加オプションではありません。すべてのライセンスに含まれています。
Salesforce の日付・時刻ピッカーに関する質問
管理者がよく検索する疑問に簡潔にお答えします。
Salesforce の画面フロー (Screen Flow) に時間枠ピッカーを追加するには?
Flow Builder で画面を開き、MultiDatePick を検索して Dates & Times コンポーネントをドラッグし、Config Name にセットアップウィザードで作成した設定を指定します。チェックボックスはすべて設定から読み込まれます。設定で子オブジェクトを指定していればコンポーネント自身がレコードを保存します。または Dates With Times JSON (Output) をテキスト変数に割り当て、Parse Date Entries from JSON アクションを実行し、エントリをループして 1 件ずつレコードを作成します。
日付ごとに違う時刻を設定できますか?
はい。Allow Different Times Per Date をオンにすると、選択した日付それぞれに専用のタイムグリッドまたはドロップダウンが週ごとにまとめて表示されます。オフのままなら、共通のグリッド 1 つで選んだすべての日付に同じ時間を適用します。
ダブルブッキングを防げますか?
はい。Conflict Behavior(競合の動作) の既定値は block で、そのカレンダーの既存レコードですでに埋まっている時間枠はグレー表示になり、選択できません。skip は空いている枠を保存して埋まっている枠を報告するので、多数の日付をまとめて選ぶ場合に向いています。allow はチェックをオフにします。Conflict Look-Ahead Days でチェックする期間を設定でき、既定は 360 日です。
タイムグリッドの代わりにドロップダウンを使えますか?
はい。Time Display Mode(時刻表示モード) を dropdown にすると開始時刻と終了時刻のピッカーになり、grid のままならドラッグで選べるクリック式の時間枠になります。Time Interval(時間間隔) で時間枠の長さを分単位で自由に設定でき (15、30、60 分が一般的)、Earliest Time と Latest Time で 1 日の範囲を決めます。既定は 08:00〜18:00 です。
Salesforce の日付・時刻ピッカーは Experience Cloud、アプリケーションページ、ホームページで使えますか?
はい。アプリケーションページ、ホームページ、Experience Cloud ページでは、Config Name に加えて、時刻を紐付けるレコードを Static Parent Record Id に設定します。Experience Cloud では Show In-Component Toast をオンにすると、訪問者に保存の確認が表示されます。
MultiDatePick Date Time コンポーネントの料金は?
MultiDatePick のプランは 1 つだけで、1 ユーザーあたり月額 $20、30 日間の無料トライアル付き、クレジットカード不要です。Date Time、Date、Booking のすべてを、すべての機能込みでご利用いただけます。
詳細を知りたい管理者のための全設定
セットアップウィザード、App Builder、Flow Builder に表示されるラベルと、その下に API 名を掲載しています。
全プロパティのリファレンス
設定
| 設定 | デフォルト | 機能 |
|---|---|---|
Config NameconfigName | - | 保存済みのセットアップウィザードの設定から、すべての設定を読み込みます。 |
Viewview | calendar | 最初に開くレイアウト: calendar、week、agenda、timeline、utilization。 |
Available ViewsavailableViews | all | 切り替えで選べる表示をカンマ区切りで指定。 |
Agenda FieldsagendaFields | - | 予定一覧の各行に追加する項目。空欄なら Hover Popover Fields を使用。 |
表示設定
| 設定 | デフォルト | 機能 |
|---|---|---|
Button Labellabel | 日付と時刻を選択 | ピッカーを開くボタンのテキスト。 |
Calendar TitlemodalTitle | 日付と時刻を選択 | カレンダーの上に表示するタイトル。 |
Show Inline (No Button)showInline | false | ボタンなしで、カレンダーを常に表示。 |
Two-Month ViewtwoMonthView | false | 2 か月を並べて表示。 |
Calendar SizecalendarSize | medium | tiny、xsmall (Very Small)、small、medium、large。Tiny と Very Small はユーティリティバー、サイドバー、ダッシュボードのタイルに収まります。 |
Day Header FormatdayHeaderFormat | 3 | 3 = SUN、2 = SU、1 = S。 |
Week Starts on MondayweekStartsOnMonday | false | 週の始まりを日曜ではなく月曜にします。 |
Show Recurring Pattern ButtonshowRecurringPattern | true | 曜日、N 週ごと、毎月の第 N 週の指定。 |
Show Selection SummaryshowSelectedSummary | true | 選択した日付の数と期間を表示。 |
Show Done Button in Inline ModeshowDoneButtonInline | true | [完了] でピッカーを概要カードにまとめます。 |
Requiredrequired | false | 日付を選ばないとフローを先に進めません。 |
時刻の選択
| 設定 | デフォルト | 機能 |
|---|---|---|
Time Display ModetimeDisplayMode | grid | grid: ドラッグで選べるクリック式の時間枠。dropdown: 開始時刻と終了時刻のピッカー。 |
Time Interval (Minutes)timeInterval | 30 | 時間枠の長さ (分)。任意の間隔を指定でき、15、30、60 分が一般的です。 |
Earliest TimeminTime | 08:00 | 最初の時間枠。24 時間制の HH:mm。 |
Latest TimemaxTime | 18:00 | 最後の時間枠。24 時間制の HH:mm。 |
Allow Different Times Per DateallowDifferentTimes | false | 共通の時刻 1 セットではなく、日付ごとに専用のグリッドまたはドロップダウンを表示。 |
Enable End TimeenableEndTime | true | 開始時刻に加えて終了時刻も記録します。 |
Group Time Slots by PeriodgroupTimeSlotsByPeriod | false | 午前、午後、夕方のセクションに分けて表示。 |
Max Time SlotsmaxTimeSlotSelection | 0 | 1 人のユーザーが全日付を通じて選べる時間枠の合計。0 = 無制限。 |
Allow Whole-Day (No Times)allowWholeDayNoTimes | false | 時間枠を選ばない日付は終日レコードとして保存。 |
Start Time Field API NamestartTimeField | - | 開始時刻を保存する時刻項目。 |
End Time Field API NameendTimeField | - | 終了時刻を保存する時刻項目。 |
タイムグリッドのみ(Time Grid Only)
| 設定 | デフォルト | 機能 |
|---|---|---|
Time Grid OnlytimeGridOnly | false | カレンダーを非表示にし、特定の 1 日分のグリッドだけを表示。時間枠はホストレコードに保存されます。 |
Time Grid DatetimeGridDate | - | 日付を直接指定 (YYYY-MM-DD)。 |
Time Grid Date FieldtimeGridDateField | - | 日付を読み取るホストレコードの日付項目。 |
日付の決定順: Time Grid Date、次に Time Grid Date Field(タイムグリッド日付項目)、どちらもなければ今日。
競合と時間帯
| 設定 | デフォルト | 機能 |
|---|---|---|
Conflict BehaviorconflictBehavior | block | block: 埋まっている枠をグレー表示。skip: 空いている枠を保存し、残りを報告。allow: チェックしない。 |
Buffer Between Bookings (Minutes)bufferMinutes | 0 | 既存のレコードのあと、次の予約が始まるまでに空けておく準備時間。 |
Conflict Look-Ahead DaysconflictLookAheadDays | 360 | 既存レコードをどこまで先までチェックするか。 |
Consolidate Time SpanconsolidateTimeSpan | false | 選択した時間枠を 1 つの開始・終了にまとめ、間の空き時間はサブブロックとして保存。 |
Show Sub-Block Toggle ButtonshowSubBlockButton | false | ユーザーが手動で時間枠をサブブロックとして指定できます。 |
状況と表示
| 設定 | デフォルト | 機能 |
|---|---|---|
Status FieldstatusField | - | 色分けに使う選択リスト。 |
Status ColorsstatusColors | - | 例: Confirmed:green,Pending:orange,Cancelled:red。 |
Status Color DisplaystatusColorDisplay | both | grid、calendar、または both。 |
Ignored StatuseshideBookingsWithStatus | - | この状況のレコードをグリッドに表示しません。 |
Status Field LabelstatusFieldLabel | - | 状況の選択のカスタムラベル。 |
Second Picklist FieldsecondStatusField | - | 保存時に選ぶ 2 つ目の選択リスト (理由など)。色分けはされません。 |
Second Picklist LabelsecondStatusFieldLabel | - | 2 つ目の選択リストのラベル。 |
Selectable Second-Picklist ValuesselectableSecondStatuses | - | 選択できる値。値が 1 つだけなら自動で適用され、選択欄は表示されません。 |
Hover Popover FieldshoverFields | - | ホバー時に表示する項目。 |
Show In-Component ToastshowSuccessToast | false | 保存のトーストをコンポーネント内に表示。Experience Cloud では必須です。 |
Show Add to Calendar After SavingshowAddToCalendar | false | 保存後、保存したすべての時刻を含む .ics ファイルを 1 つ提供。Outlook、Google、Apple で使えます。 |
Success Toast Message (optional)successToastMessage | - | 成功時のカスタムメッセージ。 |
編集モード
| 設定 | デフォルト | 機能 |
|---|---|---|
Enable Edit ModeenableEditMode | true | 保存済みのレコードをその場で管理。 |
Edit Button LabeleditButtonLabel | - | 編集の切り替えボタンのカスタムラベル。 |
Edit Record DisplayeditRecordDisplay | name, status, time | 各行に表示する内容とその順序: name、status、time、date。 |
保存と出力
| 設定 | デフォルト | 機能 |
|---|---|---|
Static Parent Record IdstaticRecordId | - | アプリケーションページ、ホームページ、Experience ページでの親レコード。 |
Load Existing DatespreloadExistingDates | true | 保存済みのレコードを表示。 |
Existing Dates ModepreloadMode | editable | editable または readonly。 |
Append Date/Time to Record NameappendDateTimeToName | true | 各レコードに日付と時刻入りの名前を自動で付けます。 |
Selected Dates (Output)selectedDates | - | ISO 形式の日付。時刻なし。 |
Dates With Times JSON (Output)selectedDatesWithTimesJson | - | 各日付とその時刻。Parse Date Entries from JSON に渡します。 |
Date Ranges JSON (Output)selectedDateRangesJson | - | 連続した日付を期間として出力。Output Date Ranges as JSON がオンのとき。 |
Sub-Blocks JSON (Output)subBlocksJson | - | 空き時間のレコード。同じ変換アクションを使います。 |
Date と共通で使えるプロパティ: Max Dates Allowed、Allow Past Dates、Earliest / Latest Selectable Date、Book Up To (Days Ahead)、Minimum Notice (Hours)、Pre-Selected Dates、Blocked Dates、Only These Dates Are Selectable、Auto-Jump to First Available Date、Record Name Field、Default Record Name、Save Button Label、Child Object・Date・End Date・Relationship Field の各 API Name、Parent Record Id Field、ブロック日付オブジェクトの設定、サブブロックオブジェクトの設定。
日付と時刻をまとめて選び、自動で保存
Salesforce AppExchange で近日公開。今すぐライブデモを試すか、公開のお知らせの送り先を教えてください。
100% Salesforce ネイティブ。データも設定も組織の外に出ることはありません。