<?xml version="1.0" encoding="utf-8"?>
<edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:sap="http://www.sap.com/Protocols/SAPData">
  <edmx:Reference Uri="https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Capabilities.V1.xml" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
    <edmx:Include Alias="Capabilities" Namespace="Org.OData.Capabilities.V1"/>
  </edmx:Reference>
  <edmx:Reference Uri="https://sap.github.io/odata-vocabularies/vocabularies/Common.xml" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
    <edmx:Include Alias="Common" Namespace="com.sap.vocabularies.Common.v1"/>
  </edmx:Reference>
  <edmx:Reference Uri="https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Core.V1.xml" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
    <edmx:Include Alias="Core" Namespace="Org.OData.Core.V1"/>
  </edmx:Reference>
  <edmx:Reference Uri="https://sap.github.io/odata-vocabularies/vocabularies/UI.xml" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
    <edmx:Include Alias="UI" Namespace="com.sap.vocabularies.UI.v1"/>
  </edmx:Reference>
  <edmx:DataServices m:DataServiceVersion="2.0">
    <Schema Namespace="CatalogService" xmlns="http://schemas.microsoft.com/ado/2008/09/edm">
      <EntityContainer Name="EntityContainer" m:IsDefaultEntityContainer="true">
        <EntitySet Name="ListOfBooks" EntityType="CatalogService.ListOfBooks"/>
        <EntitySet Name="Books" EntityType="CatalogService.Books"/>
        <EntitySet Name="Genres" EntityType="CatalogService.Genres"/>
        <EntitySet Name="Currencies" EntityType="CatalogService.Currencies"/>
        <EntitySet Name="Books_texts" EntityType="CatalogService.Books_texts"/>
        <EntitySet Name="Genres_texts" EntityType="CatalogService.Genres_texts"/>
        <EntitySet Name="Currencies_texts" EntityType="CatalogService.Currencies_texts"/>
        <FunctionImport Name="submitOrder" ReturnType="CatalogService.return_CatalogService_submitOrder" m:HttpMethod="POST">
          <Parameter Name="book" Type="Edm.Int32" Mode="In" Nullable="true"/>
          <Parameter Name="quantity" Type="Edm.Int32" Mode="In" Nullable="true"/>
        </FunctionImport>
        <AssociationSet Name="ListOfBooks_genre" Association="CatalogService.ListOfBooks_genre">
          <End Role="ListOfBooks" EntitySet="ListOfBooks"/>
          <End Role="Genres" EntitySet="Genres"/>
        </AssociationSet>
        <AssociationSet Name="ListOfBooks_currency" Association="CatalogService.ListOfBooks_currency">
          <End Role="ListOfBooks" EntitySet="ListOfBooks"/>
          <End Role="Currencies" EntitySet="Currencies"/>
        </AssociationSet>
        <AssociationSet Name="ListOfBooks_texts" Association="CatalogService.ListOfBooks_texts">
          <End Role="ListOfBooks" EntitySet="ListOfBooks"/>
          <End Role="Books_texts" EntitySet="Books_texts"/>
        </AssociationSet>
        <AssociationSet Name="ListOfBooks_localized" Association="CatalogService.ListOfBooks_localized">
          <End Role="ListOfBooks" EntitySet="ListOfBooks"/>
          <End Role="Books_texts" EntitySet="Books_texts"/>
        </AssociationSet>
        <AssociationSet Name="Books_genre" Association="CatalogService.Books_genre">
          <End Role="Books" EntitySet="Books"/>
          <End Role="Genres" EntitySet="Genres"/>
        </AssociationSet>
        <AssociationSet Name="Books_currency" Association="CatalogService.Books_currency">
          <End Role="Books" EntitySet="Books"/>
          <End Role="Currencies" EntitySet="Currencies"/>
        </AssociationSet>
        <AssociationSet Name="Books_texts_1" Association="CatalogService.Books_texts_1">
          <End Role="Books" EntitySet="Books"/>
          <End Role="Books_texts" EntitySet="Books_texts"/>
        </AssociationSet>
        <AssociationSet Name="Books_localized" Association="CatalogService.Books_localized">
          <End Role="Books" EntitySet="Books"/>
          <End Role="Books_texts" EntitySet="Books_texts"/>
        </AssociationSet>
        <AssociationSet Name="Genres_parent" Association="CatalogService.Genres_parent">
          <End Role="Genres" EntitySet="Genres"/>
          <End Role="Genres1" EntitySet="Genres"/>
        </AssociationSet>
        <AssociationSet Name="Genres_texts_1" Association="CatalogService.Genres_texts_1">
          <End Role="Genres" EntitySet="Genres"/>
          <End Role="Genres_texts" EntitySet="Genres_texts"/>
        </AssociationSet>
        <AssociationSet Name="Genres_localized" Association="CatalogService.Genres_localized">
          <End Role="Genres" EntitySet="Genres"/>
          <End Role="Genres_texts" EntitySet="Genres_texts"/>
        </AssociationSet>
        <AssociationSet Name="Currencies_texts_1" Association="CatalogService.Currencies_texts_1">
          <End Role="Currencies" EntitySet="Currencies"/>
          <End Role="Currencies_texts" EntitySet="Currencies_texts"/>
        </AssociationSet>
        <AssociationSet Name="Currencies_localized" Association="CatalogService.Currencies_localized">
          <End Role="Currencies" EntitySet="Currencies"/>
          <End Role="Currencies_texts" EntitySet="Currencies_texts"/>
        </AssociationSet>
      </EntityContainer>
      <EntityType Name="ListOfBooks" m:HasStream="true">
        <Key>
          <PropertyRef Name="ID"/>
        </Key>
        <Property Name="createdAt" Type="Edm.DateTimeOffset" Precision="7"/>
        <Property Name="modifiedAt" Type="Edm.DateTimeOffset" Precision="7"/>
        <Property Name="ID" Type="Edm.Int32" Nullable="false"/>
        <Property Name="title" Type="Edm.String" MaxLength="111"/>
        <Property Name="author" Type="Edm.String" MaxLength="111"/>
        <NavigationProperty Name="genre" Relationship="CatalogService.ListOfBooks_genre" FromRole="ListOfBooks" ToRole="Genres"/>
        <Property Name="genre_ID" Type="Edm.Int32"/>
        <Property Name="stock" Type="Edm.Int32"/>
        <Property Name="price" Type="Edm.Decimal" sap:variable-scale="true"/>
        <NavigationProperty Name="currency" Relationship="CatalogService.ListOfBooks_currency" FromRole="ListOfBooks" ToRole="Currencies"/>
        <Property Name="currency_code" Type="Edm.String" MaxLength="3"/>
        <NavigationProperty Name="texts" Relationship="CatalogService.ListOfBooks_texts" FromRole="ListOfBooks" ToRole="Books_texts"/>
        <NavigationProperty Name="localized" Relationship="CatalogService.ListOfBooks_localized" FromRole="ListOfBooks" ToRole="Books_texts"/>
      </EntityType>
      <EntityType Name="Books" m:HasStream="true">
        <Key>
          <PropertyRef Name="ID"/>
        </Key>
        <Property Name="createdAt" Type="Edm.DateTimeOffset" Precision="7"/>
        <Property Name="modifiedAt" Type="Edm.DateTimeOffset" Precision="7"/>
        <Property Name="ID" Type="Edm.Int32" Nullable="false"/>
        <Property Name="title" Type="Edm.String" MaxLength="111"/>
        <Property Name="descr" Type="Edm.String" MaxLength="1111"/>
        <Property Name="author" Type="Edm.String" MaxLength="111"/>
        <NavigationProperty Name="genre" Relationship="CatalogService.Books_genre" FromRole="Books" ToRole="Genres"/>
        <Property Name="genre_ID" Type="Edm.Int32"/>
        <Property Name="stock" Type="Edm.Int32"/>
        <Property Name="price" Type="Edm.Decimal" sap:variable-scale="true"/>
        <NavigationProperty Name="currency" Relationship="CatalogService.Books_currency" FromRole="Books" ToRole="Currencies"/>
        <Property Name="currency_code" Type="Edm.String" MaxLength="3"/>
        <NavigationProperty Name="texts" Relationship="CatalogService.Books_texts_1" FromRole="Books" ToRole="Books_texts"/>
        <NavigationProperty Name="localized" Relationship="CatalogService.Books_localized" FromRole="Books" ToRole="Books_texts"/>
      </EntityType>
      <EntityType Name="Genres">
        <Key>
          <PropertyRef Name="ID"/>
        </Key>
        <Property Name="name" Type="Edm.String" MaxLength="255"/>
        <Property Name="descr" Type="Edm.String" MaxLength="1000"/>
        <Property Name="ID" Type="Edm.Int32" Nullable="false"/>
        <NavigationProperty Name="parent" Relationship="CatalogService.Genres_parent" FromRole="Genres" ToRole="Genres1"/>
        <Property Name="parent_ID" Type="Edm.Int32"/>
        <NavigationProperty Name="children" Relationship="CatalogService.Genres_parent" FromRole="Genres1" ToRole="Genres"/>
        <NavigationProperty Name="texts" Relationship="CatalogService.Genres_texts_1" FromRole="Genres" ToRole="Genres_texts"/>
        <NavigationProperty Name="localized" Relationship="CatalogService.Genres_localized" FromRole="Genres" ToRole="Genres_texts"/>
      </EntityType>
      <EntityType Name="Currencies">
        <Key>
          <PropertyRef Name="code"/>
        </Key>
        <Property Name="name" Type="Edm.String" MaxLength="255"/>
        <Property Name="descr" Type="Edm.String" MaxLength="1000"/>
        <Property Name="code" Type="Edm.String" MaxLength="3" Nullable="false"/>
        <Property Name="symbol" Type="Edm.String" MaxLength="5"/>
        <NavigationProperty Name="texts" Relationship="CatalogService.Currencies_texts_1" FromRole="Currencies" ToRole="Currencies_texts"/>
        <NavigationProperty Name="localized" Relationship="CatalogService.Currencies_localized" FromRole="Currencies" ToRole="Currencies_texts"/>
      </EntityType>
      <EntityType Name="Books_texts">
        <Key>
          <PropertyRef Name="locale"/>
          <PropertyRef Name="ID"/>
        </Key>
        <Property Name="locale" Type="Edm.String" MaxLength="14" Nullable="false"/>
        <Property Name="ID" Type="Edm.Int32" Nullable="false"/>
        <Property Name="title" Type="Edm.String" MaxLength="111"/>
        <Property Name="descr" Type="Edm.String" MaxLength="1111"/>
      </EntityType>
      <EntityType Name="Genres_texts">
        <Key>
          <PropertyRef Name="locale"/>
          <PropertyRef Name="ID"/>
        </Key>
        <Property Name="locale" Type="Edm.String" MaxLength="14" Nullable="false"/>
        <Property Name="name" Type="Edm.String" MaxLength="255"/>
        <Property Name="descr" Type="Edm.String" MaxLength="1000"/>
        <Property Name="ID" Type="Edm.Int32" Nullable="false"/>
      </EntityType>
      <EntityType Name="Currencies_texts">
        <Key>
          <PropertyRef Name="locale"/>
          <PropertyRef Name="code"/>
        </Key>
        <Property Name="locale" Type="Edm.String" MaxLength="14" Nullable="false"/>
        <Property Name="name" Type="Edm.String" MaxLength="255"/>
        <Property Name="descr" Type="Edm.String" MaxLength="1000"/>
        <Property Name="code" Type="Edm.String" MaxLength="3" Nullable="false"/>
      </EntityType>
      <ComplexType Name="return_CatalogService_submitOrder">
        <Property Name="stock" Type="Edm.Int32"/>
      </ComplexType>
      <Association Name="ListOfBooks_genre">
        <End Role="ListOfBooks" Type="CatalogService.ListOfBooks" Multiplicity="*"/>
        <End Role="Genres" Type="CatalogService.Genres" Multiplicity="0..1"/>
        <ReferentialConstraint>
          <Principal Role="Genres">
            <PropertyRef Name="ID"/>
          </Principal>
          <Dependent Role="ListOfBooks">
            <PropertyRef Name="genre_ID"/>
          </Dependent>
        </ReferentialConstraint>
      </Association>
      <Association Name="ListOfBooks_currency">
        <End Role="ListOfBooks" Type="CatalogService.ListOfBooks" Multiplicity="*"/>
        <End Role="Currencies" Type="CatalogService.Currencies" Multiplicity="0..1"/>
        <ReferentialConstraint>
          <Principal Role="Currencies">
            <PropertyRef Name="code"/>
          </Principal>
          <Dependent Role="ListOfBooks">
            <PropertyRef Name="currency_code"/>
          </Dependent>
        </ReferentialConstraint>
      </Association>
      <Association Name="ListOfBooks_texts">
        <End Role="ListOfBooks" Type="CatalogService.ListOfBooks" Multiplicity="1">
          <OnDelete Action="Cascade"/>
        </End>
        <End Role="Books_texts" Type="CatalogService.Books_texts" Multiplicity="*"/>
      </Association>
      <Association Name="ListOfBooks_localized">
        <End Role="ListOfBooks" Type="CatalogService.ListOfBooks" Multiplicity="*"/>
        <End Role="Books_texts" Type="CatalogService.Books_texts" Multiplicity="0..1"/>
      </Association>
      <Association Name="Books_genre">
        <End Role="Books" Type="CatalogService.Books" Multiplicity="*"/>
        <End Role="Genres" Type="CatalogService.Genres" Multiplicity="0..1"/>
        <ReferentialConstraint>
          <Principal Role="Genres">
            <PropertyRef Name="ID"/>
          </Principal>
          <Dependent Role="Books">
            <PropertyRef Name="genre_ID"/>
          </Dependent>
        </ReferentialConstraint>
      </Association>
      <Association Name="Books_currency">
        <End Role="Books" Type="CatalogService.Books" Multiplicity="*"/>
        <End Role="Currencies" Type="CatalogService.Currencies" Multiplicity="0..1"/>
        <ReferentialConstraint>
          <Principal Role="Currencies">
            <PropertyRef Name="code"/>
          </Principal>
          <Dependent Role="Books">
            <PropertyRef Name="currency_code"/>
          </Dependent>
        </ReferentialConstraint>
      </Association>
      <Association Name="Books_texts_1">
        <End Role="Books" Type="CatalogService.Books" Multiplicity="1">
          <OnDelete Action="Cascade"/>
        </End>
        <End Role="Books_texts" Type="CatalogService.Books_texts" Multiplicity="*"/>
      </Association>
      <Association Name="Books_localized">
        <End Role="Books" Type="CatalogService.Books" Multiplicity="*"/>
        <End Role="Books_texts" Type="CatalogService.Books_texts" Multiplicity="0..1"/>
      </Association>
      <Association Name="Genres_parent">
        <End Role="Genres" Type="CatalogService.Genres" Multiplicity="*"/>
        <End Role="Genres1" Type="CatalogService.Genres" Multiplicity="0..1">
          <OnDelete Action="Cascade"/>
        </End>
        <ReferentialConstraint>
          <Principal Role="Genres1">
            <PropertyRef Name="ID"/>
          </Principal>
          <Dependent Role="Genres">
            <PropertyRef Name="parent_ID"/>
          </Dependent>
        </ReferentialConstraint>
      </Association>
      <Association Name="Genres_texts_1">
        <End Role="Genres" Type="CatalogService.Genres" Multiplicity="1">
          <OnDelete Action="Cascade"/>
        </End>
        <End Role="Genres_texts" Type="CatalogService.Genres_texts" Multiplicity="*"/>
      </Association>
      <Association Name="Genres_localized">
        <End Role="Genres" Type="CatalogService.Genres" Multiplicity="*"/>
        <End Role="Genres_texts" Type="CatalogService.Genres_texts" Multiplicity="0..1"/>
      </Association>
      <Association Name="Currencies_texts_1">
        <End Role="Currencies" Type="CatalogService.Currencies" Multiplicity="1">
          <OnDelete Action="Cascade"/>
        </End>
        <End Role="Currencies_texts" Type="CatalogService.Currencies_texts" Multiplicity="*"/>
      </Association>
      <Association Name="Currencies_localized">
        <End Role="Currencies" Type="CatalogService.Currencies" Multiplicity="*"/>
        <End Role="Currencies_texts" Type="CatalogService.Currencies_texts" Multiplicity="0..1"/>
      </Association>
      <Annotations Target="CatalogService.ListOfBooks" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="UI.Identification">
          <Collection>
            <Record Type="UI.DataField">
              <PropertyValue Property="Value" Path="ID"/>
            </Record>
          </Collection>
        </Annotation>
        <Annotation Term="UI.SelectionFields">
          <Collection>
            <PropertyPath>title</PropertyPath>
          </Collection>
        </Annotation>
        <Annotation Term="UI.HeaderInfo">
          <Record Type="UI.HeaderInfoType">
            <PropertyValue Property="TypeName" String="Book"/>
            <PropertyValue Property="TypeNamePlural" String="Books"/>
            <PropertyValue Property="Title">
              <Record Type="UI.DataField">
                <PropertyValue Property="Value" Path="title"/>
              </Record>
            </PropertyValue>
            <PropertyValue Property="Description">
              <Record Type="UI.DataField">
                <PropertyValue Property="Value" Path="author"/>
              </Record>
            </PropertyValue>
          </Record>
        </Annotation>
        <Annotation Term="UI.LineItem">
          <Collection>
            <Record Type="UI.DataField">
              <PropertyValue Property="Label" String="Book"/>
              <PropertyValue Property="Value" Path="title"/>
            </Record>
            <Record Type="UI.DataField">
              <PropertyValue Property="Label" String="Author"/>
              <PropertyValue Property="Value" Path="author"/>
            </Record>
            <Record Type="UI.DataField">
              <PropertyValue Property="Label" String="Genre"/>
              <PropertyValue Property="Value" Path="genre/name"/>
            </Record>
            <Record Type="UI.DataField">
              <PropertyValue Property="Label" String="Price"/>
              <PropertyValue Property="Value" Path="price"/>
            </Record>
            <Record Type="UI.DataField">
              <PropertyValue Property="Label" String="Stock"/>
              <PropertyValue Property="Value" Path="stock"/>
            </Record>
          </Collection>
        </Annotation>
        <Annotation Term="UI.FieldGroup" Qualifier="GeneratedGroup1">
          <Record Type="UI.FieldGroupType">
            <PropertyValue Property="Data">
              <Collection>
                <Record Type="UI.DataField">
                  <PropertyValue Property="Label" String="Title"/>
                  <PropertyValue Property="Value" Path="title"/>
                </Record>
                <Record Type="UI.DataField">
                  <PropertyValue Property="Label" String="Author"/>
                  <PropertyValue Property="Value" Path="author"/>
                </Record>
                <Record Type="UI.DataField">
                  <PropertyValue Property="Label" String="Genre"/>
                  <PropertyValue Property="Value" Path="genre/name"/>
                </Record>
                <Record Type="UI.DataField">
                  <PropertyValue Property="Label" String="Price"/>
                  <PropertyValue Property="Value" Path="price"/>
                </Record>
                <Record Type="UI.DataField">
                  <PropertyValue Property="Label" String="Stock"/>
                  <PropertyValue Property="Value" Path="stock"/>
                </Record>
                <Record Type="UI.DataField">
                  <PropertyValue Property="Label" String="Description"/>
                  <PropertyValue Property="Value" Path="descr"/>
                </Record>
              </Collection>
            </PropertyValue>
          </Record>
        </Annotation>
        <Annotation Term="UI.Facets">
          <Collection>
            <Record Type="UI.ReferenceFacet">
              <PropertyValue Property="ID" String="GeneratedFacet1"/>
              <PropertyValue Property="Label" String="General Information"/>
              <PropertyValue Property="Target" AnnotationPath="@UI.FieldGroup#GeneratedGroup1"/>
            </Record>
          </Collection>
        </Annotation>
        <Annotation Term="Core.MediaType" String="image/png"/>
      </Annotations>
      <Annotations Target="CatalogService.EntityContainer/ListOfBooks" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="Capabilities.DeleteRestrictions">
          <Record Type="Capabilities.DeleteRestrictionsType">
            <PropertyValue Property="Deletable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.InsertRestrictions">
          <Record Type="Capabilities.InsertRestrictionsType">
            <PropertyValue Property="Insertable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.UpdateRestrictions">
          <Record Type="Capabilities.UpdateRestrictionsType">
            <PropertyValue Property="Updatable" Bool="false"/>
          </Record>
        </Annotation>
      </Annotations>
      <Annotations Target="CatalogService.ListOfBooks/createdAt" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="UI.HiddenFilter" Bool="true"/>
        <Annotation Term="Core.Immutable" Bool="true"/>
        <Annotation Term="Core.Computed" Bool="true"/>
        <Annotation Term="Common.Label" String="Created On"/>
      </Annotations>
      <Annotations Target="CatalogService.ListOfBooks/modifiedAt" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="UI.HiddenFilter" Bool="true"/>
        <Annotation Term="Core.Computed" Bool="true"/>
        <Annotation Term="Common.Label" String="Changed On"/>
      </Annotations>
      <Annotations Target="CatalogService.ListOfBooks/genre_ID" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="Common.ValueList">
          <Record Type="Common.ValueListType">
            <PropertyValue Property="Label" String="Genres"/>
            <PropertyValue Property="CollectionPath" String="Genres"/>
            <PropertyValue Property="Parameters">
              <Collection>
                <Record Type="Common.ValueListParameterInOut">
                  <PropertyValue Property="LocalDataProperty" PropertyPath="genre_ID"/>
                  <PropertyValue Property="ValueListProperty" String="ID"/>
                </Record>
                <Record Type="Common.ValueListParameterDisplayOnly">
                  <PropertyValue Property="ValueListProperty" String="name"/>
                </Record>
              </Collection>
            </PropertyValue>
          </Record>
        </Annotation>
      </Annotations>
      <Annotations Target="CatalogService.ListOfBooks/currency" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="Common.Label" String="Currency"/>
        <Annotation Term="Core.Description" String="Currency code as specified by ISO 4217"/>
      </Annotations>
      <Annotations Target="CatalogService.ListOfBooks/currency_code" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="Common.Label" String="Currency"/>
        <Annotation Term="Common.ValueList">
          <Record Type="Common.ValueListType">
            <PropertyValue Property="Label" String="Currency"/>
            <PropertyValue Property="CollectionPath" String="Currencies"/>
            <PropertyValue Property="Parameters">
              <Collection>
                <Record Type="Common.ValueListParameterInOut">
                  <PropertyValue Property="LocalDataProperty" PropertyPath="currency_code"/>
                  <PropertyValue Property="ValueListProperty" String="code"/>
                </Record>
                <Record Type="Common.ValueListParameterDisplayOnly">
                  <PropertyValue Property="ValueListProperty" String="name"/>
                </Record>
              </Collection>
            </PropertyValue>
          </Record>
        </Annotation>
        <Annotation Term="Core.Description" String="Currency code as specified by ISO 4217"/>
      </Annotations>
      <Annotations Target="CatalogService.Books" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="UI.Identification">
          <Collection>
            <Record Type="UI.DataField">
              <PropertyValue Property="Value" Path="ID"/>
            </Record>
          </Collection>
        </Annotation>
        <Annotation Term="UI.SelectionFields">
          <Collection>
            <PropertyPath>title</PropertyPath>
          </Collection>
        </Annotation>
        <Annotation Term="UI.HeaderInfo">
          <Record Type="UI.HeaderInfoType">
            <PropertyValue Property="TypeName" String="Book"/>
            <PropertyValue Property="TypeNamePlural" String="Books"/>
            <PropertyValue Property="Title">
              <Record Type="UI.DataField">
                <PropertyValue Property="Value" Path="title"/>
              </Record>
            </PropertyValue>
            <PropertyValue Property="Description">
              <Record Type="UI.DataField">
                <PropertyValue Property="Value" Path="author"/>
              </Record>
            </PropertyValue>
          </Record>
        </Annotation>
        <Annotation Term="UI.LineItem">
          <Collection>
            <Record Type="UI.DataField">
              <PropertyValue Property="Label" String="Book"/>
              <PropertyValue Property="Value" Path="title"/>
            </Record>
            <Record Type="UI.DataField">
              <PropertyValue Property="Label" String="Author"/>
              <PropertyValue Property="Value" Path="author"/>
            </Record>
            <Record Type="UI.DataField">
              <PropertyValue Property="Label" String="Genre"/>
              <PropertyValue Property="Value" Path="genre/name"/>
            </Record>
            <Record Type="UI.DataField">
              <PropertyValue Property="Label" String="Price"/>
              <PropertyValue Property="Value" Path="price"/>
            </Record>
            <Record Type="UI.DataField">
              <PropertyValue Property="Label" String="Stock"/>
              <PropertyValue Property="Value" Path="stock"/>
            </Record>
          </Collection>
        </Annotation>
        <Annotation Term="UI.FieldGroup" Qualifier="GeneratedGroup1">
          <Record Type="UI.FieldGroupType">
            <PropertyValue Property="Data">
              <Collection>
                <Record Type="UI.DataField">
                  <PropertyValue Property="Label" String="Title"/>
                  <PropertyValue Property="Value" Path="title"/>
                </Record>
                <Record Type="UI.DataField">
                  <PropertyValue Property="Label" String="Author"/>
                  <PropertyValue Property="Value" Path="author"/>
                </Record>
                <Record Type="UI.DataField">
                  <PropertyValue Property="Label" String="Genre"/>
                  <PropertyValue Property="Value" Path="genre/name"/>
                </Record>
                <Record Type="UI.DataField">
                  <PropertyValue Property="Label" String="Price"/>
                  <PropertyValue Property="Value" Path="price"/>
                </Record>
                <Record Type="UI.DataField">
                  <PropertyValue Property="Label" String="Stock"/>
                  <PropertyValue Property="Value" Path="stock"/>
                </Record>
                <Record Type="UI.DataField">
                  <PropertyValue Property="Label" String="Description"/>
                  <PropertyValue Property="Value" Path="descr"/>
                </Record>
              </Collection>
            </PropertyValue>
          </Record>
        </Annotation>
        <Annotation Term="UI.Facets">
          <Collection>
            <Record Type="UI.ReferenceFacet">
              <PropertyValue Property="ID" String="GeneratedFacet1"/>
              <PropertyValue Property="Label" String="General Information"/>
              <PropertyValue Property="Target" AnnotationPath="@UI.FieldGroup#GeneratedGroup1"/>
            </Record>
          </Collection>
        </Annotation>
        <Annotation Term="Core.MediaType" String="image/png"/>
      </Annotations>
      <Annotations Target="CatalogService.Books/createdAt" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="UI.HiddenFilter" Bool="true"/>
        <Annotation Term="Core.Immutable" Bool="true"/>
        <Annotation Term="Core.Computed" Bool="true"/>
        <Annotation Term="Common.Label" String="Created On"/>
      </Annotations>
      <Annotations Target="CatalogService.Books/modifiedAt" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="UI.HiddenFilter" Bool="true"/>
        <Annotation Term="Core.Computed" Bool="true"/>
        <Annotation Term="Common.Label" String="Changed On"/>
      </Annotations>
      <Annotations Target="CatalogService.Books/genre_ID" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="Common.ValueList">
          <Record Type="Common.ValueListType">
            <PropertyValue Property="Label" String="Genres"/>
            <PropertyValue Property="CollectionPath" String="Genres"/>
            <PropertyValue Property="Parameters">
              <Collection>
                <Record Type="Common.ValueListParameterInOut">
                  <PropertyValue Property="LocalDataProperty" PropertyPath="genre_ID"/>
                  <PropertyValue Property="ValueListProperty" String="ID"/>
                </Record>
                <Record Type="Common.ValueListParameterDisplayOnly">
                  <PropertyValue Property="ValueListProperty" String="name"/>
                </Record>
              </Collection>
            </PropertyValue>
          </Record>
        </Annotation>
      </Annotations>
      <Annotations Target="CatalogService.Books/currency" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="Common.Label" String="Currency"/>
        <Annotation Term="Core.Description" String="Currency code as specified by ISO 4217"/>
      </Annotations>
      <Annotations Target="CatalogService.Books/currency_code" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="Common.Label" String="Currency"/>
        <Annotation Term="Common.ValueList">
          <Record Type="Common.ValueListType">
            <PropertyValue Property="Label" String="Currency"/>
            <PropertyValue Property="CollectionPath" String="Currencies"/>
            <PropertyValue Property="Parameters">
              <Collection>
                <Record Type="Common.ValueListParameterInOut">
                  <PropertyValue Property="LocalDataProperty" PropertyPath="currency_code"/>
                  <PropertyValue Property="ValueListProperty" String="code"/>
                </Record>
                <Record Type="Common.ValueListParameterDisplayOnly">
                  <PropertyValue Property="ValueListProperty" String="name"/>
                </Record>
              </Collection>
            </PropertyValue>
          </Record>
        </Annotation>
        <Annotation Term="Core.Description" String="Currency code as specified by ISO 4217"/>
      </Annotations>
      <Annotations Target="CatalogService.Genres" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="UI.Identification">
          <Collection>
            <Record Type="UI.DataField">
              <PropertyValue Property="Value" Path="name"/>
            </Record>
          </Collection>
        </Annotation>
      </Annotations>
      <Annotations Target="CatalogService.Genres/name" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="Common.Label" String="Name"/>
      </Annotations>
      <Annotations Target="CatalogService.Genres/descr" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="Common.Label" String="Description"/>
      </Annotations>
      <Annotations Target="CatalogService.Genres/parent_ID" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="Common.ValueList">
          <Record Type="Common.ValueListType">
            <PropertyValue Property="Label" String="Genres"/>
            <PropertyValue Property="CollectionPath" String="Genres"/>
            <PropertyValue Property="Parameters">
              <Collection>
                <Record Type="Common.ValueListParameterInOut">
                  <PropertyValue Property="LocalDataProperty" PropertyPath="parent_ID"/>
                  <PropertyValue Property="ValueListProperty" String="ID"/>
                </Record>
                <Record Type="Common.ValueListParameterDisplayOnly">
                  <PropertyValue Property="ValueListProperty" String="name"/>
                </Record>
              </Collection>
            </PropertyValue>
          </Record>
        </Annotation>
      </Annotations>
      <Annotations Target="CatalogService.Currencies" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="UI.Identification">
          <Collection>
            <Record Type="UI.DataField">
              <PropertyValue Property="Value" Path="name"/>
            </Record>
          </Collection>
        </Annotation>
      </Annotations>
      <Annotations Target="CatalogService.Currencies/name" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="Common.Label" String="Name"/>
      </Annotations>
      <Annotations Target="CatalogService.Currencies/descr" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="Common.Label" String="Description"/>
      </Annotations>
      <Annotations Target="CatalogService.Currencies/code" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="Common.Text" Path="name"/>
        <Annotation Term="Common.Label" String="Currency Code"/>
      </Annotations>
      <Annotations Target="CatalogService.Currencies/symbol" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="Common.Label" String="Currency Symbol"/>
      </Annotations>
      <Annotations Target="CatalogService.Books_texts/locale" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="Common.Label" String="Language Code"/>
      </Annotations>
      <Annotations Target="CatalogService.Genres_texts/locale" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="Common.Label" String="Language Code"/>
      </Annotations>
      <Annotations Target="CatalogService.Genres_texts/name" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="Common.Label" String="Name"/>
      </Annotations>
      <Annotations Target="CatalogService.Genres_texts/descr" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="Common.Label" String="Description"/>
      </Annotations>
      <Annotations Target="CatalogService.Currencies_texts/locale" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="Common.Label" String="Language Code"/>
      </Annotations>
      <Annotations Target="CatalogService.Currencies_texts/name" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="Common.Label" String="Name"/>
      </Annotations>
      <Annotations Target="CatalogService.Currencies_texts/descr" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="Common.Label" String="Description"/>
      </Annotations>
      <Annotations Target="CatalogService.Currencies_texts/code" xmlns="http://docs.oasis-open.org/odata/ns/edm">
        <Annotation Term="Common.Text" Path="name"/>
        <Annotation Term="Common.Label" String="Currency Code"/>
      </Annotations>
    </Schema>
  </edmx:DataServices>
</edmx:Edmx>