﻿<?xml version="1.0" encoding="utf-8" ?>
<DataModel VerticalId="FoodAndDrinks">
  <Classes>
    <Class Name="FoodAndDrinks" TopLevel="True">
      <Fields>
        <Field Name="ClusterPreferences" Type="Collection" ClassName="ClusterPreference" />
        <Field Name="UserCollections" Type="Collection" ClassName="UserCollectionGroup" />
        <Field Name="ShoppingLists" Type="Collection" ClassName="ShoppingListGroup" />
        <Field Name="MealPlans" Type="Collection" ClassName="MealPlan" />
        <Field Name="DietaryPreferences" Type="Collection" ClassName="DietaryPreference" />
        <Field Name="IsPersonalizationEnabled" Type="Boolean" />
      </Fields>
    </Class>

    <Class Name="ClusterPreference">
      <Fields>
        <Field Name="ClusterName" Type="String" IsKey="True" />
        <Field Name="IsShow" Type="Boolean" />
      </Fields>
    </Class>

    <Class Name="UserCollectionGroup">
      <Fields>
        <Field Name="CollectionName" Type="String" />
        <Field Name="UID" Type="String" IsKey="True" />
        <Field Name="Items" Type="Collection" ClassName="UserCollectionItem" />
        <Field Name="CoverImageURI" Type="String" />
      </Fields>
    </Class>

    <Class Name="ShoppingListGroup">
      <Fields>
        <Field Name="GroupName" Type="String" IsKey="True" />
        <Field Name="ShoppingListItems" Type="Collection" ClassName="ShoppingListItem" />
        <Field Name="UID" Type="String" IsKey="True" />
        <Field Name="GroupType" Type="String" />
        <Field Name="LastUpdatedAt" Type="Time" />
        <Field Name="EntityId" Type="String" />
        <Field Name="SecondaryEntityId" Type="String" />
        <Field Name="ImageURI" Type="String" />
        <!--<Field Name="TimeStamp" Type="Time" />-->
      </Fields>
    </Class>

    <Class Name="MealPlan">
      <Fields>
        <Field Name="Day" Type="Int" />
        <Field Name="Meals" Type="Collection" ClassName="Meal" />
        <Field Name="LastUpdatedAt" Type="Time" />
      </Fields>
    </Class>

    <Class Name="DietaryPreference">
      <Fields>
        <Field Name="Value" Type="Int" />
        <Field Name="Version" Type="Int" />
        <Field Name="Url" Type="String" />
        <Field Name="Image" Type="String" />
        <Field Name="AdditionalType" Type="String" />
        <Field Name="Name" Type="String" />
      </Fields>
    </Class>

    <Class Name="UserCollectionItem">
      <Fields>
        <Field Name="Title" Type="String" />
        <Field Name="UID" Type="String" IsKey="True" />
        <Field Name="CollectionItemURI" Type="String" />
        <Field Name="Type" Type="String" />
        <Field Name="ImageURI" Type="String" />
        <Field Name="Market" Type="String" />
        <Field Name="SecondaryEntityId" Type="String" />
      </Fields>
    </Class>

    <Class Name="ShoppingListItem">
      <Fields>
        <Field Name="Name" Type="String" IsKey="True"/>
        <Field Name="IsChecked" Type="Boolean" />
        <Field Name="UID" Type="String" IsKey="True" />
        <Field Name="ItemType" Type="String" />
        <Field Name="LastUpdatedAt" Type="Time" />
        <Field Name="EntityId" Type="String" />
        <Field Name="SecondaryEntityId" Type="String" />
        <Field Name="ImageURI" Type="String" />

        <!--<Field Name="TimeStamp" Type="Time" />-->
      </Fields>
    </Class>

    <Class Name="Meal">
      <Fields>
        <Field Name="Title" Type="String" />
        <Field Name="Note" Type="String" />
        <Field Name="Link" Type="String" />
        <Field Name="Type" Type="String" />
        <Field Name="ImageURL" Type="String" />
        <Field Name="UID" Type="String" />
      </Fields>
    </Class>
  </Classes>
</DataModel>