---
canonical: https://amplience.com/developers/docs/schema-reference/schema-examples/slots/tutorial-slot/
title: Tutorial slot
description: This Amplience tutorial slot schema snippet states pre-requisites and shows how to create a slot that can contain the tutorial banner and tutorial carousel.
audience: Developer
image: https://cdn.media.amplience.net/i/ampproduct/tutorial-slot-example-schema-3?w=1200&h=630
image_width: 1200
image_height: 630
date_published: 2022-07-01
date_modified: 2023-06-12
---

# Tutorial slot

This schema snippet shows how to create a slot that can contain the tutorial banner and tutorial carousel.

The `slotContent` is an array of up to 5 banners or carousels. This property is included in the `required` properties, so when you add a slot created from this schema to an edition, you must add some content for the slot to be valid. See [adding the slot to an edition](#adding-the-slot-to-an-edition) on this page for more details.

## Pre-requisites

You will need to have registered the [tutorial banner](https://amplience.com/developers/docs/schema-reference/schema-examples/tutorials/banner) and [tutorial carousel](https://amplience.com/developers/docs/schema-reference/schema-examples/tutorials/carousel) schemas in order to add content those created from these content types to this slot.

## How to use

If you don't want to use the tutorial banner and tutorial carousel with this slot, you can update the `contentTypes` array to include your own content types.

## Tutorial slot example

```
{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "https://schema-examples.com/tutorial-slot",

    "title": "Tutorial slot",
    "description": "A slot that can contain a tutorial banner or tutorial carousel",

    "allOf": [
        {
            "$ref": "http://bigcontent.io/cms/schema/v1/core#/definitions/content"
        }
    ],

    "type": "object",
    "properties": {
        "slotContent":{
            "title": "Content",
            "description": "description",
            "type": "array",
            "minItems": 0,
            "maxItems": 5,
            "items": {
                "allOf": [
                    { "$ref": "http://bigcontent.io/cms/schema/v1/core#/definitions/content-link" },
                    {
                        "properties": {
                            "contentType": {
                                "enum": [
                                    "https://schema-examples.com/tutorial-banner",
                                    "https://schema-examples.com/tutorial-carousel"
                                ]
                            }
                        }
                    }
                ]
            }
        }

    },
    "propertyOrder": [],
    "required": [
        "slotContent"
    ]
}
```

## Content form preview

An example of creating a slot item using a slot type registered from the tutorial slot schema is shown in the image below. When you create a slot in the Content Library, you'll add some dummy content. In the image below a carousel and a banner have been added.

![Creating a slot from the tutorial slot type.](https://cdn.media.amplience.net/i/ampproduct/tutorial-slot-example-schema-3?w=1880&fmt=png 'Creating a slot from the tutorial slot type.')

## Adding the slot to an edition

When a slot created from this slot type is added to an edition, the slot validation is shown as "Requires content" which means that some content must be added to the slot, otherwise it does not pass slot validation and the edition cannot be scheduled. The slot must contain content because the `slotContent` property in the example schema is `required`.

![description](https://cdn.media.amplience.net/i/ampproduct/tutorial-slot-example-schema-2?w=1880&fmt=png 'description')

When content has been added, the slot is valid and the edition can be scheduled.

![With content added to the slot the edition can be scheduled](https://cdn.media.amplience.net/i/ampproduct/tutorial-slot-example-schema-4?w=1880&fmt=png 'With content added to the slot the edition can be scheduled')

## Related Pages

[Slots](https://amplience.com/developers/docs/dev-tools/guides-tutorials/slots)
