> For the complete documentation index, see [llms.txt](/llms.txt)

# GS2-Schedule マスターデータリファレンス

マスターデータのフォーマットと インポートする各種モデルのリファレンス




## マスターデータのフォーマット


**JSON**
```json
{
  "version": "2019-03-31",
  "events": [
    {
      "name": "[string]イベント名",
      "metadata": "[string?]メタデータ",
      "scheduleType": "[string (enum)]スケジュールタイプ",
      "absoluteBegin": "[long?]絶対開始日時",
      "absoluteEnd": "[long?]絶対終了日時",
      "relativeTriggerName": "[string]イベント開始トリガー名",
      "repeatSetting": {
        "repeatType": "[string]繰り返しの種類",
        "beginDayOfMonth": "[int]繰り返し開始日",
        "endDayOfMonth": "[int]繰り返し終了日",
        "beginDayOfWeek": "[string]繰り返し開始曜日",
        "endDayOfWeek": "[string]繰り返し終了曜日",
        "beginHour": "[int]繰り返し開始時（時）",
        "endHour": "[int]繰り返し終了時（時）",
        "anchorTimestamp": "[long]基準タイムスタンプ",
        "activeDays": "[int]アクティブ日数",
        "inactiveDays": "[int]インアクティブ日数"
      }
    }
  ]
}
```


|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| version | string | | ✓ | 2019-03-31 | | マスターデータのフォーマットバージョン |
| events | [List&lt;Event&gt;](#event) |  |  |  |  ~ 100 items | イベント<br>イベントの期間は絶対期間と相対期間の2種類存在します。<br>絶対期間は 例えば YYYY年MM月DD日 00:00(UTC) ～ YYYY年MM月DD日 23:59(UTC) のような固定の期間で、<br>相対期間は トリガーを引いたタイミングから 24時間 のようなゲームプレイヤー毎に異なる期間をイベント期間とするものです。<br><br>イベントには開催期間だけでなく、繰り返しが設定できるようになっており<br>イベント期間のうち、月曜日の 10:00 ～ 11:00 だけをイベント期間とするような設定も可能です。 |

## モデル

### Event

イベント<br>

イベントの期間は絶対期間と相対期間の2種類存在します。<br>
絶対期間は 例えば YYYY年MM月DD日 00:00(UTC) ～ YYYY年MM月DD日 23:59(UTC) のような固定の期間で、<br>
相対期間は トリガーを引いたタイミングから 24時間 のようなゲームプレイヤー毎に異なる期間をイベント期間とするものです。<br>

イベントには開催期間だけでなく、繰り返しが設定できるようになっており<br>
イベント期間のうち、月曜日の 10:00 ～ 11:00 だけをイベント期間とするような設定も可能です。

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| eventId | string |  | ※ |  |  ~ 1024文字 | GS2-Schedule イベントGRN<br>※ サーバーが自動で設定 |
| name | string |  | ✓ |  |  ~ 128文字 | イベント名<br>イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| metadata | string |  |  |  |  ~ 2048文字 | メタデータ<br>メタデータには任意の値を設定できます。<br>これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 |
| scheduleType | 文字列列挙型<br>enum {<br>&nbsp;&nbsp;"absolute",<br>&nbsp;&nbsp;"relative"<br>}<br> |  | ✓ |  |  | スケジュールタイプ<br>イベント期間の定義方法を決定します。<br>"absolute" は全プレイヤー共通の固定開始・終了タイムスタンプを使用します。<br>"relative" はプレイヤーごとのトリガーを起点として使用し、パーソナライズされたイベント期間を実現します（例: 各プレイヤーの初回ログインから24時間）。"absolute": 固定期間 / "relative": プレイヤー毎に異なる期間 /  |
| absoluteBegin | long |  |  |  |  | 絶対開始日時<br>絶対スケジューリングにおけるイベント期間の固定開始時刻。<br>全プレイヤーが同じ開始時刻を共有します。絶対イベントで未設定の場合、イベントは過去から開始されているものとして扱われます。<br>UNIX 時間（ミリ秒）で表現されます。 |
| absoluteEnd | long |  |  |  |  | 絶対終了日時<br>絶対スケジューリングにおけるイベント期間の固定終了時刻。<br>全プレイヤーが同じ終了時刻を共有します。絶対イベントで未設定の場合、イベントは終了しないものとして扱われます。<br>UNIX 時間（ミリ秒）で表現されます。 |
| relativeTriggerName | string | {scheduleType} == "relative" | ✓※ |  |  ~ 128文字 | イベント開始トリガー名<br>ゲームプレイヤー毎にイベント期間を設定する (`relative`) 場合に、イベントの開始の起点とするトリガーの名前を指定します。<br>英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。<br>※ scheduleType が "relative" であれば 必須 |
| repeatSetting | [RepeatSetting](#repeatsetting) |  | ✓ |  |  | 繰り返し設定<br>イベント期間内の繰り返し有効時間枠の設定。<br>アクティブ期間を特定の時間帯、曜日、月の日付、またはカスタムのアクティブ/インアクティブ日サイクルに絞り込むことができます。<br>繰り返しパターンなしでイベント期間全体を通してアクティブにするには repeatType を "always" に設定します。 |

---

### RepeatSetting

繰り返し設定<br>

イベント全体期間内の繰り返し有効時間枠を設定します。<br>
5種類の繰り返しタイプをサポートします: "always"（イベント期間全体）、"daily"（毎日の特定時間帯）、"weekly"（毎週の特定曜日範囲＋時間帯）、<br>
"monthly"（毎月の特定日範囲＋時間帯）、"custom"（基準日からのアクティブ/インアクティブ日数の交互サイクル）。<br>
daily/weekly/monthly タイプで beginHour と endHour が同じ場合、終了時刻は翌日の同時刻として扱われます（つまり24時間フルウィンドウ）。

|  | 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
| --- | --- | --- | --- | --- | --- | --- |
| repeatType | 文字列列挙型<br>enum {<br>&nbsp;&nbsp;"always",<br>&nbsp;&nbsp;"daily",<br>&nbsp;&nbsp;"weekly",<br>&nbsp;&nbsp;"monthly",<br>&nbsp;&nbsp;"custom"<br>}<br> |  |  | "always" |  | 繰り返しの種類<br>イベント期間内に適用する繰り返しパターンのタイプ。<br>タイプによって必要な追加フィールドが異なります: daily/weekly/monthly は時間設定、weekly は曜日、monthly は日付、custom は基準日と日数が必要です。<br>未指定の場合は "always" がデフォルトとなります。"always": イベント期間中 常時有効 / "daily": イベント期間のうち 毎日X時～X時 / "weekly": イベント期間のうち 毎週 開始曜日～終了曜日 X時～X時 / "monthly": イベント期間のうち 毎月 開始日～終了日 X時～X時 / "custom": 基準日から始まり、イベント期間中、X日アクティブ、Y日インアクティブを繰り返す /  |
| beginDayOfMonth | int | {repeatType} == "monthly" | ✓※ |  | 1 ~ 31 | 繰り返し開始日<br>繰り返しウィンドウが開始する月の日（1～31）。<br>指定した値がその月の日数を超える場合、その月の最終日として扱われます。<br>repeatType が "monthly" の場合のみ適用されます。<br>※ repeatType が "monthly" であれば 必須 |
| endDayOfMonth | int | {repeatType} == "monthly" | ✓※ |  | 1 ~ 31 | 繰り返し終了日<br>繰り返しウィンドウが終了する月の日（1～31）。<br>指定した値がその月の日数を超える場合、その月の最終日として扱われます。<br>repeatType が "monthly" の場合のみ適用されます。<br>※ repeatType が "monthly" であれば 必須 |
| beginDayOfWeek | 文字列列挙型<br>enum {<br>&nbsp;&nbsp;"sunday",<br>&nbsp;&nbsp;"monday",<br>&nbsp;&nbsp;"tuesday",<br>&nbsp;&nbsp;"wednesday",<br>&nbsp;&nbsp;"thursday",<br>&nbsp;&nbsp;"friday",<br>&nbsp;&nbsp;"saturday"<br>}<br> | {repeatType} == "weekly" | ✓※ |  |  | 繰り返し開始曜日<br>繰り返しウィンドウが開始する曜日。<br>ウィンドウは週の境界をまたぐことができます（例: 金曜日～月曜日）。repeatType が "weekly" の場合のみ適用されます。"sunday": 日曜日 / "monday": 月曜日 / "tuesday": 火曜日 / "wednesday": 水曜日 / "thursday": 木曜日 / "friday": 金曜日 / "saturday": 土曜日 / <br>※ repeatType が "weekly" であれば 必須 |
| endDayOfWeek | 文字列列挙型<br>enum {<br>&nbsp;&nbsp;"sunday",<br>&nbsp;&nbsp;"monday",<br>&nbsp;&nbsp;"tuesday",<br>&nbsp;&nbsp;"wednesday",<br>&nbsp;&nbsp;"thursday",<br>&nbsp;&nbsp;"friday",<br>&nbsp;&nbsp;"saturday"<br>}<br> | {repeatType} == "weekly" | ✓※ |  |  | 繰り返し終了曜日<br>繰り返しウィンドウが終了する曜日。<br>beginDayOfWeek と組み合わせて週間アクティブ期間を定義します。repeatType が "weekly" の場合のみ適用されます。"sunday": 日曜日 / "monday": 月曜日 / "tuesday": 火曜日 / "wednesday": 水曜日 / "thursday": 木曜日 / "friday": 金曜日 / "saturday": 土曜日 / <br>※ repeatType が "weekly" であれば 必須 |
| beginHour | int | {repeatType} in ["daily", "weekly", "monthly"] | ✓※ |  | 0 ~ 23 | 繰り返し開始時（時）<br>各サイクルで繰り返しウィンドウが開始する時刻（UTC、0～23）。<br>daily、weekly、monthly の繰り返しタイプで必須です。beginHour と endHour が同じ場合、ウィンドウは24時間（翌日の同時刻まで）となります。<br>※ repeatType が "daily","weekly","monthly"であれば 必須 |
| endHour | int | {repeatType} in ["daily", "weekly", "monthly"] | ✓※ |  | 0 ~ 24 | 繰り返し終了時（時）<br>各サイクルで繰り返しウィンドウが終了する時刻（UTC、0～24）。<br>24 を指定すると翌日の深夜0時を表します。daily、weekly、monthly の繰り返しタイプで必須です。<br>※ repeatType が "daily","weekly","monthly"であれば 必須 |
| anchorTimestamp | long | {repeatType} == "custom" | ✓※ |  |  | 基準タイムスタンプ<br>カスタムのアクティブ/インアクティブサイクルが開始する基準日。<br>システムはこの基準日からの経過日数に基づいて、現在時刻がどのフェーズ（アクティブまたはインアクティブ）にあるかを計算します。<br>repeatType が "custom" の場合のみ適用されます。UNIX 時間（ミリ秒）で表現します。<br>※ repeatType が "custom" であれば 必須 |
| activeDays | int | {repeatType} == "custom" | ✓※ |  | 1 ~ 2147483646 | アクティブ日数<br>カスタムサイクルの各周期でイベントがアクティブとなる連続日数。<br>アクティブ日数の後、inactiveDays で指定された日数だけイベントが非アクティブとなり、サイクルが繰り返されます。<br>repeatType が "custom" の場合のみ適用されます。最小1日。<br>※ repeatType が "custom" であれば 必須 |
| inactiveDays | int | {repeatType} == "custom" | ✓※ |  | 0 ~ 2147483646 | インアクティブ日数<br>カスタムサイクルの各周期でイベントが非アクティブとなる連続日数。<br>アクティブ日数の後に続きます。ギャップなしの連続アクティブイベントにするには 0 を設定します。<br>repeatType が "custom" の場合のみ適用されます。最小0日。<br>※ repeatType が "custom" であれば 必須 |

---



