﻿<?xml version="1.0" encoding="utf-8" ?>
<DataModel VerticalId="Finance">
  <Classes>
    <Class Name="Finance" TopLevel="True">
      <Fields>
        <Field Name="Watchlists" Type="Collection" ClassName="Watchlist" />
        <Field Name="Tools" Type="Collection" ClassName="FinancialTool" />
        <Field Name="FinancialInstitutions" Type="Collection" ClassName="FinancialInstitution" />
        <Field Name="AppSpecificData" Type="Collection" ClassName="FinanceData" />
        <Field Name="RecentQuotes" Type="Collection" ClassName="Security" />
        <Field Name="IsPersonalizationEnabled" Type="Boolean" />
        <Field Name="Version" Type="Int" />
      </Fields>

      <Defaults>
        <!--Basic defaults for markets that have no defaults defined yet.-->
        <Default Value="{&quot;Watchlists&quot;:[{&quot;WatchListName&quot;:&quot;default&quot;,&quot;WatchListDisplayName&quot;:&quot;&quot;,&quot;WatchlistCurrency&quot;:124,&quot;Elements&quot;:[],&quot;Position&quot;:0,&quot;WatchListMode&quot;:0}],&quot;Tools&quot;:[],&quot;FinancialInstitutions&quot;:[],&quot;AppSpecificData&quot;:[]}" />
      </Defaults>
    </Class>

    <Class Name="Watchlist">
      <Fields>
        <Field Name="WatchListName" Type="String" IsKey="True" />
        <Field Name="WatchListDisplayName" Type="String" />
        <Field Name="WatchlistCurrency" Type="Int" />
        <Field Name="Elements" Type="Collection" ClassName="WatchlistElement" />
        <Field Name="Position" Type="Int" />
        <Field Name="WatchListMode" Type="Int" />
      </Fields>
    </Class>

    <Class Name="FinancialTool">
      <Fields>
        <Field Name="ToolName" Type="String" IsKey="True" />
        <Field Name="Inputs" Type="Collection" ClassName="FinancialInput" />
        <Field Name="Version" Type="Int" />
      </Fields>
    </Class>

    <Class Name="FinancialInstitution">
      <Fields>
        <Field Name="InstitutionName" Type="String" IsKey="True" />
      </Fields>
    </Class>

    <!-- This class exists on the https://platform.bing.com/pdp/v1/$metadata schema, but not in the app code. Uncomment if it's needed. -->
    <Class Name="FinanceData">
      <Fields>
        <Field Name="StateLocation" Type="String" />
        <Field Name="AppSchema" Type="String" />
        <Field Name="AppExtraRoaming" Type="String" />
      </Fields>
    </Class>

    <Class Name="WatchlistElement">
      <Fields>
        <Field Name="Stocks" Type="Class" ClassName="Security" IsKey="True" />
        <Field Name="TickerId" Type="String" />
      </Fields>
    </Class>

    <Class Name="FinancialInput">
      <Fields>
        <Field Name="Name" Type="String" IsKey="True" />
        <Field Name="Value" Type="String" />
      </Fields>
    </Class>

    <Class Name="Security">
      <Fields>
        <Field Name="ExchangeSymbol" Type="String" />
        <Field Name="SecurityType" Type="Int" />
        <Field Name="FinancialProviders" Type="Collection" ClassName="FinancialProvider" />
        <Field Name="SecuritySymbol" Type="String" IsKey="True" />
        <Field Name="MFSecId" Type="String" IsKey="True"/>
        <Field Name="FullInstrumentId" Type="String" />
        <Field Name="Position" Type="Int" />
      </Fields>
    </Class>

    <Class Name="FinancialProvider">
      <Fields>
        <Field Name="Name" Type="String" />
        <Field Name="Symbol" Type="String" IsKey="True" />
      </Fields>
    </Class>
  </Classes>
</DataModel>