<?xml version="1.0" encoding="utf-8"?>
<edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
  <edmx:Reference Uri="https://sap.github.io/odata-vocabularies/vocabularies/Common.xml">
    <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">
    <edmx:Include Alias="Core" Namespace="Org.OData.Core.V1"/>
  </edmx:Reference>
  <edmx:DataServices>
    <Schema Namespace="EmailReminderService" xmlns="http://docs.oasis-open.org/odata/ns/edm">
      <EntityContainer Name="EntityContainer">
        <EntitySet Name="EmailReminder" EntityType="EmailReminderService.EmailReminder">
          <NavigationPropertyBinding Path="rule" Target="ReminderRules"/>
        </EntitySet>
        <EntitySet Name="ReminderRules" EntityType="EmailReminderService.ReminderRules"/>
        <EntitySet Name="EmailReminderLog" EntityType="EmailReminderService.EmailReminderLog">
          <NavigationPropertyBinding Path="reminder" Target="EmailReminder"/>
        </EntitySet>
        <ActionImport Name="runReminderSweep" Action="EmailReminderService.runReminderSweep"/>
      </EntityContainer>
      <EntityType Name="EmailReminder">
        <Key>
          <PropertyRef Name="ID"/>
        </Key>
        <Property Name="ID" Type="Edm.Guid" Nullable="false"/>
        <Property Name="name" Type="Edm.String" MaxLength="150" Nullable="false"/>
        <Property Name="reminderType" Type="Edm.String" MaxLength="100" Nullable="false"/>
        <NavigationProperty Name="rule" Type="EmailReminderService.ReminderRules">
          <ReferentialConstraint Property="rule_ID" ReferencedProperty="ID"/>
        </NavigationProperty>
        <Property Name="rule_ID" Type="Edm.Guid"/>
        <Property Name="frequencyType" Type="Edm.String" MaxLength="50" Nullable="false"/>
        <Property Name="frequencyValue" Type="Edm.Int32"/>
        <Property Name="emailSubject" Type="Edm.String" MaxLength="255" Nullable="false"/>
        <Property Name="emailBody" Type="Edm.String" Nullable="false"/>
        <Property Name="groupID_ID" Type="Edm.Guid"/>
        <Property Name="isActive" Type="Edm.Boolean" DefaultValue="true"/>
        <Property Name="appliesTo" Type="Edm.String" MaxLength="20"/>
        <Property Name="requestPolicy_ID" Type="Edm.Guid"/>
        <Property Name="expensePolicy_ID" Type="Edm.Guid"/>
        <Property Name="workflow_ID" Type="Edm.Guid"/>
        <Property Name="approvalLevelRoleCodes" Type="Edm.String"/>
        <Property Name="idleThresholdValue" Type="Edm.Int32" DefaultValue="1"/>
        <Property Name="idleThresholdUnit" Type="Edm.String" MaxLength="10" DefaultValue="days"/>
        <Property Name="repeatEnabled" Type="Edm.Boolean" DefaultValue="false"/>
        <Property Name="repeatIntervalValue" Type="Edm.Int32"/>
        <Property Name="repeatIntervalUnit" Type="Edm.String" MaxLength="10"/>
        <Property Name="created_at" Type="Edm.DateTimeOffset" Precision="7"/>
        <Property Name="updated_at" Type="Edm.DateTimeOffset" Precision="7"/>
        <Property Name="createdBy_ID" Type="Edm.Guid"/>
        <Property Name="updatedBy_ID" Type="Edm.Guid"/>
      </EntityType>
      <EntityType Name="ReminderRules">
        <Key>
          <PropertyRef Name="ID"/>
        </Key>
        <Property Name="ID" Type="Edm.Guid" Nullable="false"/>
        <Property Name="name" Type="Edm.String" MaxLength="150" Nullable="false"/>
        <Property Name="reminderType" Type="Edm.String" MaxLength="100" Nullable="false"/>
        <Property Name="appliesTo" Type="Edm.String"/>
        <Property Name="conditionLogic" Type="Edm.String" MaxLength="10" DefaultValue="AND"/>
        <Property Name="conditions" Type="Edm.String"/>
        <Property Name="isDefault" Type="Edm.Boolean" DefaultValue="false"/>
        <Property Name="isActive" Type="Edm.Boolean" DefaultValue="true"/>
        <Property Name="created_at" Type="Edm.DateTimeOffset" Precision="7"/>
        <Property Name="updated_at" Type="Edm.DateTimeOffset" Precision="7"/>
        <Property Name="createdBy_ID" Type="Edm.Guid"/>
        <Property Name="updatedBy_ID" Type="Edm.Guid"/>
      </EntityType>
      <EntityType Name="EmailReminderLog">
        <Key>
          <PropertyRef Name="ID"/>
        </Key>
        <Property Name="ID" Type="Edm.Guid" Nullable="false"/>
        <NavigationProperty Name="reminder" Type="EmailReminderService.EmailReminder" Nullable="false">
          <ReferentialConstraint Property="reminder_ID" ReferencedProperty="ID"/>
        </NavigationProperty>
        <Property Name="reminder_ID" Type="Edm.Guid" Nullable="false"/>
        <Property Name="workflowRowType" Type="Edm.String" MaxLength="20" Nullable="false"/>
        <Property Name="requestWorkflow_ID" Type="Edm.Guid"/>
        <Property Name="expenseWorkflow_ID" Type="Edm.Guid"/>
        <Property Name="approver_ID" Type="Edm.Guid"/>
        <Property Name="sentAt" Type="Edm.DateTimeOffset" Precision="7" Nullable="false"/>
        <Property Name="stepUpdatedAtSnapshot" Type="Edm.DateTimeOffset" Precision="7"/>
      </EntityType>
      <Action Name="runReminderSweep" IsBound="false">
        <ReturnType Type="Edm.String"/>
      </Action>
      <Annotations Target="EmailReminderService.EmailReminder/ID">
        <Annotation Term="Core.ComputedDefaultValue" Bool="true"/>
      </Annotations>
      <Annotations Target="EmailReminderService.EmailReminder/created_at">
        <Annotation Term="Core.Computed" Bool="true"/>
      </Annotations>
      <Annotations Target="EmailReminderService.EmailReminder/updated_at">
        <Annotation Term="Core.Computed" Bool="true"/>
      </Annotations>
      <Annotations Target="EmailReminderService.ReminderRules/ID">
        <Annotation Term="Core.ComputedDefaultValue" Bool="true"/>
      </Annotations>
      <Annotations Target="EmailReminderService.ReminderRules/created_at">
        <Annotation Term="Core.Computed" Bool="true"/>
      </Annotations>
      <Annotations Target="EmailReminderService.ReminderRules/updated_at">
        <Annotation Term="Core.Computed" Bool="true"/>
      </Annotations>
      <Annotations Target="EmailReminderService.EmailReminderLog/ID">
        <Annotation Term="Core.ComputedDefaultValue" Bool="true"/>
      </Annotations>
      <Annotations Target="EmailReminderService.EmailReminderLog/sentAt">
        <Annotation Term="Core.Computed" Bool="true"/>
      </Annotations>
    </Schema>
  </edmx:DataServices>
</edmx:Edmx>