diff --git a/pdp/migrations/0002_pdpsubpage.py b/pdp/migrations/0002_pdpsubpage.py
new file mode 100644
index 0000000000000000000000000000000000000000..45a9d18e1217d99d622516b0cbc127dfd7588b07
--- /dev/null
+++ b/pdp/migrations/0002_pdpsubpage.py
@@ -0,0 +1,473 @@
+# Generated by Django 3.1.2 on 2020-11-27 10:04
+
+import django.db.models.deletion
+import wagtail.contrib.table_block.blocks
+import wagtail.core.blocks
+import wagtail.core.fields
+import wagtail.documents.blocks
+import wagtail.images.blocks
+import wagtailmetadata.models
+from django.db import migrations, models
+
+import uniweb.models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ("wagtailcore", "0052_pagelogentry"),
+        ("wagtailimages", "0022_uploadedimage"),
+        ("pdp", "0001_initial"),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name="PdpSubPage",
+            fields=[
+                (
+                    "page_ptr",
+                    models.OneToOneField(
+                        auto_created=True,
+                        on_delete=django.db.models.deletion.CASCADE,
+                        parent_link=True,
+                        primary_key=True,
+                        serialize=False,
+                        to="wagtailcore.page",
+                    ),
+                ),
+                (
+                    "content",
+                    wagtail.core.fields.StreamField(
+                        [
+                            (
+                                "title",
+                                wagtail.core.blocks.CharBlock(
+                                    group="nadpisy",
+                                    icon="title",
+                                    label="nadpis",
+                                    template="uniweb/blocks/title.html",
+                                ),
+                            ),
+                            (
+                                "advanced_title",
+                                wagtail.core.blocks.StructBlock(
+                                    [
+                                        (
+                                            "align",
+                                            wagtail.core.blocks.ChoiceBlock(
+                                                choices=[
+                                                    ("left", "vlevo"),
+                                                    ("center", "uprostřed"),
+                                                    ("right", "vpravo"),
+                                                ],
+                                                label="zarovnání",
+                                            ),
+                                        ),
+                                        (
+                                            "color",
+                                            wagtail.core.blocks.ChoiceBlock(
+                                                choices=[
+                                                    ("black_on_white", "černá na bílé"),
+                                                    ("white_on_black", "bílá na černé"),
+                                                    ("white_on_blue", "bílá na modré"),
+                                                    (
+                                                        "white_on_cyan",
+                                                        "bílá na tyrkysové",
+                                                    ),
+                                                    (
+                                                        "white_on_violet",
+                                                        "bílá na fialové",
+                                                    ),
+                                                ],
+                                                label="barva",
+                                            ),
+                                        ),
+                                        (
+                                            "title",
+                                            wagtail.core.blocks.CharBlock(
+                                                label="nadpis"
+                                            ),
+                                        ),
+                                    ]
+                                ),
+                            ),
+                            (
+                                "picture_title",
+                                wagtail.core.blocks.StructBlock(
+                                    [
+                                        (
+                                            "color",
+                                            wagtail.core.blocks.ChoiceBlock(
+                                                choices=[
+                                                    ("black_on_white", "černá na bílé"),
+                                                    ("white_on_black", "bílá na černé"),
+                                                    ("white_on_blue", "bílá na modré"),
+                                                    (
+                                                        "white_on_cyan",
+                                                        "bílá na tyrkysové",
+                                                    ),
+                                                    (
+                                                        "white_on_violet",
+                                                        "bílá na fialové",
+                                                    ),
+                                                ],
+                                                label="barva",
+                                            ),
+                                        ),
+                                        (
+                                            "title",
+                                            wagtail.core.blocks.CharBlock(
+                                                label="nadpis"
+                                            ),
+                                        ),
+                                        (
+                                            "picture",
+                                            wagtail.images.blocks.ImageChooserBlock(
+                                                help_text="rozměr na výšku 75px nebo více (obrázek bude zmenšen na výšku 75px)",
+                                                label="obrázek",
+                                            ),
+                                        ),
+                                    ]
+                                ),
+                            ),
+                            (
+                                "text",
+                                wagtail.core.blocks.RichTextBlock(
+                                    features=[
+                                        "h2",
+                                        "h3",
+                                        "h4",
+                                        "h5",
+                                        "bold",
+                                        "italic",
+                                        "ol",
+                                        "ul",
+                                        "hr",
+                                        "link",
+                                        "document-link",
+                                        "image",
+                                        "superscript",
+                                        "subscript",
+                                        "strikethrough",
+                                        "blockquote",
+                                    ],
+                                    group="texty",
+                                    label="text",
+                                    template="uniweb/blocks/text.html",
+                                ),
+                            ),
+                            (
+                                "advanced_text",
+                                wagtail.core.blocks.StructBlock(
+                                    [
+                                        (
+                                            "align",
+                                            wagtail.core.blocks.ChoiceBlock(
+                                                choices=[
+                                                    ("left", "vlevo"),
+                                                    ("center", "uprostřed"),
+                                                    ("right", "vpravo"),
+                                                ],
+                                                label="zarovnání",
+                                            ),
+                                        ),
+                                        (
+                                            "color",
+                                            wagtail.core.blocks.ChoiceBlock(
+                                                choices=[
+                                                    ("black_on_white", "černá na bílé"),
+                                                    ("white_on_black", "bílá na černé"),
+                                                    ("white_on_blue", "bílá na modré"),
+                                                    (
+                                                        "white_on_cyan",
+                                                        "bílá na tyrkysové",
+                                                    ),
+                                                    (
+                                                        "white_on_violet",
+                                                        "bílá na fialové",
+                                                    ),
+                                                ],
+                                                label="barva",
+                                            ),
+                                        ),
+                                        (
+                                            "text",
+                                            wagtail.core.blocks.RichTextBlock(
+                                                features=[
+                                                    "h2",
+                                                    "h3",
+                                                    "h4",
+                                                    "h5",
+                                                    "bold",
+                                                    "italic",
+                                                    "ol",
+                                                    "ul",
+                                                    "hr",
+                                                    "link",
+                                                    "document-link",
+                                                    "image",
+                                                    "superscript",
+                                                    "subscript",
+                                                    "strikethrough",
+                                                    "blockquote",
+                                                ],
+                                                label="text",
+                                            ),
+                                        ),
+                                    ]
+                                ),
+                            ),
+                            (
+                                "text_columns",
+                                wagtail.core.blocks.StructBlock(
+                                    [
+                                        (
+                                            "left_text",
+                                            wagtail.core.blocks.RichTextBlock(
+                                                features=[
+                                                    "h2",
+                                                    "h3",
+                                                    "h4",
+                                                    "h5",
+                                                    "bold",
+                                                    "italic",
+                                                    "ol",
+                                                    "ul",
+                                                    "hr",
+                                                    "link",
+                                                    "document-link",
+                                                    "image",
+                                                    "superscript",
+                                                    "subscript",
+                                                    "strikethrough",
+                                                    "blockquote",
+                                                ],
+                                                label="levý sloupec",
+                                            ),
+                                        ),
+                                        (
+                                            "right_text",
+                                            wagtail.core.blocks.RichTextBlock(
+                                                features=[
+                                                    "h2",
+                                                    "h3",
+                                                    "h4",
+                                                    "h5",
+                                                    "bold",
+                                                    "italic",
+                                                    "ol",
+                                                    "ul",
+                                                    "hr",
+                                                    "link",
+                                                    "document-link",
+                                                    "image",
+                                                    "superscript",
+                                                    "subscript",
+                                                    "strikethrough",
+                                                    "blockquote",
+                                                ],
+                                                label="pravý sloupec",
+                                            ),
+                                        ),
+                                    ]
+                                ),
+                            ),
+                            (
+                                "advanced_text_columns",
+                                wagtail.core.blocks.StructBlock(
+                                    [
+                                        (
+                                            "align",
+                                            wagtail.core.blocks.ChoiceBlock(
+                                                choices=[
+                                                    ("left", "vlevo"),
+                                                    ("center", "uprostřed"),
+                                                    ("right", "vpravo"),
+                                                ],
+                                                label="zarovnání",
+                                            ),
+                                        ),
+                                        (
+                                            "color",
+                                            wagtail.core.blocks.ChoiceBlock(
+                                                choices=[
+                                                    ("black_on_white", "černá na bílé"),
+                                                    ("white_on_black", "bílá na černé"),
+                                                    ("white_on_blue", "bílá na modré"),
+                                                    (
+                                                        "white_on_cyan",
+                                                        "bílá na tyrkysové",
+                                                    ),
+                                                    (
+                                                        "white_on_violet",
+                                                        "bílá na fialové",
+                                                    ),
+                                                ],
+                                                label="barva",
+                                            ),
+                                        ),
+                                        (
+                                            "left_text",
+                                            wagtail.core.blocks.RichTextBlock(
+                                                features=[
+                                                    "h2",
+                                                    "h3",
+                                                    "h4",
+                                                    "h5",
+                                                    "bold",
+                                                    "italic",
+                                                    "ol",
+                                                    "ul",
+                                                    "hr",
+                                                    "link",
+                                                    "document-link",
+                                                    "image",
+                                                    "superscript",
+                                                    "subscript",
+                                                    "strikethrough",
+                                                    "blockquote",
+                                                ],
+                                                label="levý sloupec",
+                                            ),
+                                        ),
+                                        (
+                                            "right_text",
+                                            wagtail.core.blocks.RichTextBlock(
+                                                features=[
+                                                    "h2",
+                                                    "h3",
+                                                    "h4",
+                                                    "h5",
+                                                    "bold",
+                                                    "italic",
+                                                    "ol",
+                                                    "ul",
+                                                    "hr",
+                                                    "link",
+                                                    "document-link",
+                                                    "image",
+                                                    "superscript",
+                                                    "subscript",
+                                                    "strikethrough",
+                                                    "blockquote",
+                                                ],
+                                                label="pravý sloupec",
+                                            ),
+                                        ),
+                                    ]
+                                ),
+                            ),
+                            (
+                                "gallery",
+                                wagtail.core.blocks.ListBlock(
+                                    wagtail.images.blocks.ImageChooserBlock(
+                                        label="obrázek"
+                                    ),
+                                    group="ostatní",
+                                    icon="image",
+                                    label="galerie",
+                                    template="uniweb/blocks/gallery.html",
+                                ),
+                            ),
+                            (
+                                "picture_list",
+                                wagtail.core.blocks.StructBlock(
+                                    [
+                                        (
+                                            "color",
+                                            wagtail.core.blocks.ChoiceBlock(
+                                                choices=[
+                                                    ("black_on_white", "černá na bílé"),
+                                                    ("white_on_black", "bílá na černé"),
+                                                    ("white_on_blue", "bílá na modré"),
+                                                    (
+                                                        "white_on_cyan",
+                                                        "bílá na tyrkysové",
+                                                    ),
+                                                    (
+                                                        "white_on_violet",
+                                                        "bílá na fialové",
+                                                    ),
+                                                ],
+                                                label="barva",
+                                            ),
+                                        ),
+                                        (
+                                            "items",
+                                            wagtail.core.blocks.ListBlock(
+                                                wagtail.core.blocks.RichTextBlock(
+                                                    features=[
+                                                        "h2",
+                                                        "h3",
+                                                        "h4",
+                                                        "h5",
+                                                        "bold",
+                                                        "italic",
+                                                        "ol",
+                                                        "ul",
+                                                        "hr",
+                                                        "link",
+                                                        "document-link",
+                                                        "image",
+                                                        "superscript",
+                                                        "subscript",
+                                                        "strikethrough",
+                                                        "blockquote",
+                                                    ],
+                                                    label="odstavec",
+                                                ),
+                                                label="odstavce",
+                                            ),
+                                        ),
+                                        (
+                                            "picture",
+                                            wagtail.images.blocks.ImageChooserBlock(
+                                                help_text="rozměr 25x25px nebo více (obrázek bude zmenšen na 25x25px)",
+                                                label="obrázek",
+                                            ),
+                                        ),
+                                    ]
+                                ),
+                            ),
+                            (
+                                "table",
+                                wagtail.contrib.table_block.blocks.TableBlock(
+                                    group="ostatní",
+                                    label="tabulka",
+                                    template="uniweb/blocks/table.html",
+                                ),
+                            ),
+                            (
+                                "jupyter",
+                                wagtail.documents.blocks.DocumentChooserBlock(
+                                    group="ostatní", label="Jupyter notebook"
+                                ),
+                            ),
+                        ],
+                        blank=True,
+                        verbose_name="obsah stránky",
+                    ),
+                ),
+                (
+                    "search_image",
+                    models.ForeignKey(
+                        blank=True,
+                        null=True,
+                        on_delete=django.db.models.deletion.SET_NULL,
+                        related_name="+",
+                        to="wagtailimages.image",
+                        verbose_name="Search image",
+                    ),
+                ),
+            ],
+            options={
+                "verbose_name": "Pirátská datová platforma - podstránka",
+            },
+            bases=(
+                "wagtailcore.page",
+                uniweb.models.SubpageMixin,
+                wagtailmetadata.models.MetadataMixin,
+                models.Model,
+            ),
+        ),
+    ]
diff --git a/pdp/models.py b/pdp/models.py
index b5d2bd1a884763f53440ab1ec0eb42745213b722..304e27580523ae355219d3fb9bf986b707f5f866 100644
--- a/pdp/models.py
+++ b/pdp/models.py
@@ -8,18 +8,37 @@ from wagtail.admin.edit_handlers import (
 )
 from wagtail.core.fields import StreamField
 from wagtail.core.models import Page
+from wagtail.documents.blocks import DocumentChooserBlock
 from wagtail.images.edit_handlers import ImageChooserPanel
+from wagtailmetadata.models import MetadataPageMixin
 
 from shared.mixins import MatomoMixin
 from tuning import help
 from uniweb import models as uniweb
 
 
+class PdpContentMixin(models.Model):
+    content = StreamField(
+        uniweb.UNIWEB_STREAM_CHOICES
+        + [
+            (
+                "jupyter",
+                DocumentChooserBlock(label="Jupyter notebook", group="ostatní"),
+            ),
+        ],
+        verbose_name="obsah stránky",
+        blank=True,
+    )
+
+    class Meta:
+        abstract = True
+
+
 class PdpHomePage(
     Page,
-    uniweb.UniwebContentMixin,
+    PdpContentMixin,
     uniweb.UniwebTopmenuMixin,
-    uniweb.MetadataPageMixin,
+    MetadataPageMixin,
     MatomoMixin,
 ):
 
@@ -53,7 +72,7 @@ class PdpHomePage(
     ]
 
     subpage_types = [
-        # "uniweb.UniwebFlexiblePage",
+        "pdp.PdpSubPage",
     ]
 
     ### OTHERS
@@ -64,3 +83,35 @@ class PdpHomePage(
     @property
     def root_page(self):
         return self
+
+
+class PdpSubPage(Page, PdpContentMixin, uniweb.SubpageMixin, MetadataPageMixin):
+    ### FIELDS
+
+    ### PANELS
+    promote_panels = [
+        MultiFieldPanel(
+            [
+                FieldPanel("slug"),
+                FieldPanel("seo_title"),
+                FieldPanel("search_description"),
+                ImageChooserPanel("search_image"),
+                HelpPanel(help.build(help.NO_SEO_TITLE, help.NO_SEARCH_IMAGE)),
+            ],
+            gettext_lazy("Common page configuration"),
+        ),
+    ]
+
+    content_panels = Page.content_panels + [
+        StreamFieldPanel("content"),
+    ]
+
+    settings_panels = []
+
+    ### RELATIONS
+    parent_page_types = ["pdp.PdpHomePage"]
+    subpage_types = []
+
+    ### OTHERS
+    class Meta:
+        verbose_name = "Pirátská datová platforma - podstránka"
diff --git a/pdp/templates/pdp/pdp_flexible_page.html b/pdp/templates/pdp/pdp_flexible_page.html
new file mode 100644
index 0000000000000000000000000000000000000000..2e78ec450c0f7dfd03fde94b2f3fd57eabaa514f
--- /dev/null
+++ b/pdp/templates/pdp/pdp_flexible_page.html
@@ -0,0 +1,9 @@
+{% extends "uniweb/base.html" %}
+
+{% block content %}
+<main>
+
+  {% include "uniweb/snippet_sections.html" %}
+
+</main>
+{% endblock %}
diff --git a/pdp/templates/pdp/pdp_home_page.html b/pdp/templates/pdp/pdp_home_page.html
new file mode 100644
index 0000000000000000000000000000000000000000..a288e155518c2c3e2db4382f6453ed3a449e1e94
--- /dev/null
+++ b/pdp/templates/pdp/pdp_home_page.html
@@ -0,0 +1,10 @@
+{% extends "uniweb/base.html" %}
+{% load wagtailcore_tags %}
+
+{% block content %}
+<main>
+
+  {% include "uniweb/snippet_sections.html" %}
+
+</main>
+{% endblock %}
diff --git a/uniweb/models.py b/uniweb/models.py
index 3e0b7dd8033eff0ea5536bd1808fe19c0e28c654..ab2d34330348a0753b0cf08eea2a6bfbf860ff67 100644
--- a/uniweb/models.py
+++ b/uniweb/models.py
@@ -11,7 +11,6 @@ from wagtail.contrib.table_block.blocks import TableBlock
 from wagtail.core import blocks
 from wagtail.core.fields import StreamField
 from wagtail.core.models import Page
-from wagtail.documents.blocks import DocumentChooserBlock
 from wagtail.images.blocks import ImageChooserBlock
 from wagtail.images.edit_handlers import ImageChooserPanel
 from wagtailmetadata.models import MetadataPageMixin
@@ -164,56 +163,55 @@ class SubpageMixin:
         return self.search_image or self.root_page.get_meta_image()
 
 
+UNIWEB_STREAM_CHOICES = [
+    (
+        "title",
+        blocks.CharBlock(
+            label="nadpis",
+            icon="title",
+            group="nadpisy",
+            template="uniweb/blocks/title.html",
+        ),
+    ),
+    ("advanced_title", AdvancedTitleBlock()),
+    ("picture_title", PictureTitleBlock()),
+    (
+        "text",
+        blocks.RichTextBlock(
+            label="text",
+            features=RICH_TEXT_FEATURES,
+            group="texty",
+            template="uniweb/blocks/text.html",
+        ),
+    ),
+    ("advanced_text", AdvancedTextBlock()),
+    ("text_columns", ColumnsTextBlock()),
+    ("advanced_text_columns", AdvancedColumnsTextBlock()),
+    (
+        "gallery",
+        blocks.ListBlock(
+            ImageChooserBlock(label="obrázek"),
+            label="galerie",
+            icon="image",
+            group="ostatní",
+            template="uniweb/blocks/gallery.html",
+        ),
+    ),
+    ("picture_list", PictureListBlock()),
+    (
+        "table",
+        TableBlock(
+            label="tabulka",
+            group="ostatní",
+            template="uniweb/blocks/table.html",
+        ),
+    ),
+]
+
+
 class UniwebContentMixin(models.Model):
     content = StreamField(
-        [
-            (
-                "title",
-                blocks.CharBlock(
-                    label="nadpis",
-                    icon="title",
-                    group="nadpisy",
-                    template="uniweb/blocks/title.html",
-                ),
-            ),
-            ("advanced_title", AdvancedTitleBlock()),
-            ("picture_title", PictureTitleBlock()),
-            (
-                "text",
-                blocks.RichTextBlock(
-                    label="text",
-                    features=RICH_TEXT_FEATURES,
-                    group="texty",
-                    template="uniweb/blocks/text.html",
-                ),
-            ),
-            ("advanced_text", AdvancedTextBlock()),
-            ("text_columns", ColumnsTextBlock()),
-            ("advanced_text_columns", AdvancedColumnsTextBlock()),
-            (
-                "gallery",
-                blocks.ListBlock(
-                    ImageChooserBlock(label="obrázek"),
-                    label="galerie",
-                    icon="image",
-                    group="ostatní",
-                    template="uniweb/blocks/gallery.html",
-                ),
-            ),
-            ("picture_list", PictureListBlock()),
-            (
-                "table",
-                TableBlock(
-                    label="tabulka",
-                    group="ostatní",
-                    template="uniweb/blocks/table.html",
-                ),
-            ),
-            (
-                "jupyter",
-                DocumentChooserBlock(label="Jupyter notebook", group="ostatní"),
-            ),
-        ],
+        UNIWEB_STREAM_CHOICES,
         verbose_name="obsah stránky",
         blank=True,
     )