# Continue Watching

> Source: https://docs.recombee.com/recipes/video/fully-personalized-homepage/continue-watching

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

**Table of contents**

* [Introduction](#introduction)
* [Scenario Setup](#scenario-setup)
* [Logic](#logic)
* [Filters](#filters)
* [Requesting Recommendations](#requesting-recommendations)

# Continue Watching

![](/img/recipes/video/continue-watching.png) 

## Introduction

The "Continue Watching" use case is designed to address a common user scenario – interruptions in their viewing experience. Users may encounter interruptions due to various factors such as time constraints or shifting priorities. This use case allows users to easily pick up where they left off in their content journey, making consuming content more smooth and enjoyable.

## Scenario Setup

In the Recombee Admin UI, navigate to the **[Scenarios](/scenarios)** section and choose **Create Scenario**.

1. Enter a **Scenario ID**, such as _"continue-watching"_
2. Choose **Recommendation type** \- _[Items to User](/api#recommend-items-to-user)_ (as we want to show the partially watched content of a particular user)

![Admin UI - Scenario Setup](/img/recipes/video/continue-watching-create-scenario.png)

## Logic

The [Logic](/recommendation_logics) defines the behavior of the recommendation engine.

* Choose the **[video:continue-watching](/recommendation_logics#video-continue-watching)** logic type from the **Video** models

By the `watchingStartedPercentage` and `watchingCompletedPercentage` parameters, you can specify what content shall be considered as partially watched.

Based on the `assetType` parameter you can also choose what type of content will be considered (e.g. movies, series, episodes, or movies and episodes, etc.) - the default is `movies+episodes`.

![Admin UI - Logic](/img/recipes/video/continue-watching-logic.png)

## Filters

Available Assets (Global Settings)

You always want to recommend only movies, series, and episodes that are currently available to watch for your users. Therefore you need to apply a [**Filter**](/scenarios#filters) rule to allow only such assets.

As it would be tedious and prone to error to add this rule to all the Scenarios, this rule shall be added to the [**Global Settings**](/scenarios#scenarios-in-admin-ui-global-settings), so it is always applied everywhere.

**The particular filter depends on how you specify such assets in your catalog:**

* If you have a **boolean property** that marks the asset as available you can use the predefined _Available items \[boolean\]_ rule.
* If you have a **timestamp property** that specifies when the asset is published (becomes available) you can use the predefined _Published items rule_.
* Or if you have a **licensing window (start date, end date)** you can use the predefined _Items within their licensing window_ rule.
* In every other case, you can create a [**custom filter rule**](/reql) to allow only the available assets according to your own logic.

![Admin UI - Global Settings - Filter](/img/recipes/video/filter.png)

## Requesting Recommendations

There are three ways to get recommendations.

1. **[No-Code Widget](/no-code-widgets)** \- create a No-Code Widget using the **visual editor in the Admin UI.**
2. **[Widget SDKs](/widget-sdks)** \- use the SDK for a [Carousel](/widget-sdks#carousel), [Grid](/widget-sdks#grid) or [Feed](/widget-sdks#feed) to display the recommendations in the design of your choice. Use the [Recommend Items to User endpoint](/api#recommend-items-to-user) when initializing the widget.
3. **[API SDK](/api_clients)** \- request the [Recommend Items to User endpoint](/api#recommend-items-to-user) of the Recombee API using an SDK of your choice.

For more information navigate to the Integration tab of the Scenario in the Admin UI.

In order to request content for multiple rows with a single API request, use the [Batch endpoint](/api#batch) and put the recommendation requests inside it. Set the parameter `distinctRecomms` in order to [deduplicate the assets among the rows](/api#batch-example-using-distinctrecomms-parameter-to-deduplicate-results-in-multiple-boxes).