> ## Documentation Index
> Fetch the complete documentation index at: https://cloudinary.com/documentation/llms.txt
> Use this file to discover all available pages before exploring further.

# Video delivery schedule


[//]: # (PageTitle: Video delivery schedule)

You can set a weekly schedule that controls when video plays and when a static poster image displays instead. This helps manage video delivery costs by limiting video playback to specific time windows, such as peak traffic hours or promotional periods.

When a viewer loads the page, the player checks the current time against the configured schedule. If the current time falls within a scheduled slot, the video loads and plays normally. If it falls outside all scheduled slots, the player renders the poster image without loading the full video player bundle, reducing bandwidth usage.

> **INFO**: The video delivery schedule isn't available for all accounts yet. If you want to enable this feature, [contact support](https://support.cloudinary.com/hc/en-us/requests/new). Requires Video Player version `3.13.0` or later.

## How schedule evaluation works

* The player evaluates the schedule **once at page load** using the viewer's browser local time.
* If the viewer is watching a video when a scheduled slot ends, playback continues uninterrupted for that session.
* When video isn't scheduled, the player bundle isn't loaded at all, which also improves page load performance.

## Configuring the schedule in the Video Player Studio

You can configure the schedule visually from the **Schedule** section in the [Video Player Studio](video_player_studio). Toggle **Video Schedule** on to reveal per-day dropdowns for weekdays and weekends, with the following presets:

| Preset | Video plays during |
|--------|-------------------|
| **All day** | 00:00 – 24:00 |
| **Morning** | 06:00 – 13:00 |
| **Afternoon** | 13:00 – 18:00 |
| **Evening** | 18:00 – 06:00 (next day) |
| **No Video** | Video doesn't play |

You can also press and hold the **Hold to preview** button to see what the poster image looks like when video isn't scheduled.

![Schedule section in the Video Player Studio](https://cloudinary-res.cloudinary.com/image/upload/bo_1px_solid_gray/f_auto/q_auto/docs/video_player_studio/video-delivery-scheduler "thumb: w_500,dpr_2, width: 500, popup: true")

## Configuring the schedule programmatically

Use the `schedule.weekly` option to define time slots when video should play. Each slot specifies a day of the week, a start time, and a duration in hours:

```js
cloudinary.player('player', {
  cloudName: 'demo',
  publicId: 'sample',
  schedule: {
    weekly: [
      { day: 'monday', start: '09:00', duration: 8 },
      { day: 'tuesday', start: '09:00', duration: 8 },
      { day: 'wednesday', start: '09:00', duration: 8 },
      { day: 'thursday', start: '09:00', duration: 8 },
      { day: 'friday', start: '09:00', duration: 8 },
      { day: 'saturday', start: '10:00', duration: 6 }
    ]
  }
});
```

In this example, video plays Monday through Friday from 9 AM to 5 PM and Saturday from 10 AM to 4 PM. On Sunday and outside those hours, viewers see the poster image.

### Schedule slot properties

| Property | Type | Description |
|----------|------|-------------|
| `day` | String | Day of the week. Accepts full names (`monday`) or abbreviations (`mon`). Case-insensitive. |
| `start` | String | Start time in `HH:mm` format (24-hour clock). |
| `duration` | Number | Duration in hours. Supports values that cross midnight (e.g., `12` starting at `18:00` runs until 06:00 the next day). |

> **INFO**:
>
> When you configure `schedule.weekly` with at least one slot, any day without a slot defaults to **No Video** (poster image only). If you don't set `schedule` at all, video plays at all times (default behavior).

See the [Video Player API Reference](video_player_api_reference#schedule) for the full parameter details.
