<?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://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Capabilities.V1.xml">
    <edmx:Include Alias="Capabilities" Namespace="Org.OData.Capabilities.V1"/>
  </edmx:Reference>
  <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="ResidentService" xmlns="http://docs.oasis-open.org/odata/ns/edm">
      <EntityContainer Name="EntityContainer">
        <EntitySet Name="MyProfile" EntityType="ResidentService.MyProfile"/>
        <EntitySet Name="MyChecklist" EntityType="ResidentService.MyChecklist"/>
        <EntitySet Name="MyPayment" EntityType="ResidentService.MyPayment"/>
        <ActionImport Name="updateChecklistItem" Action="ResidentService.updateChecklistItem"/>
        <ActionImport Name="savePaymentInfo" Action="ResidentService.savePaymentInfo"/>
      </EntityContainer>
      <EntityType Name="MyProfile">
        <Key>
          <PropertyRef Name="ID"/>
        </Key>
        <Property Name="ID" Type="Edm.Guid" Nullable="false"/>
        <Property Name="firstName" Type="Edm.String" MaxLength="255" Nullable="false"/>
        <Property Name="lastName" Type="Edm.String" MaxLength="255" Nullable="false"/>
        <Property Name="email" Type="Edm.String" MaxLength="255" Nullable="false"/>
        <Property Name="phoneNumber" Type="Edm.String" MaxLength="50"/>
        <Property Name="moveInDate" Type="Edm.Date"/>
        <Property Name="careLevel" Type="Edm.String" MaxLength="100"/>
        <Property Name="lifecycleState" Type="Edm.String" MaxLength="20" DefaultValue="pre-admission"/>
      </EntityType>
      <EntityType Name="MyChecklist">
        <Key>
          <PropertyRef Name="ID"/>
        </Key>
        <Property Name="ID" Type="Edm.Guid" Nullable="false"/>
        <Property Name="itemKey" Type="Edm.String" MaxLength="100"/>
        <Property Name="label" Type="Edm.String" MaxLength="200"/>
        <Property Name="completed" Type="Edm.Boolean" DefaultValue="false"/>
        <Property Name="data" Type="Edm.String"/>
        <Property Name="completedAt" Type="Edm.DateTimeOffset" Precision="7"/>
      </EntityType>
      <EntityType Name="MyPayment">
        <Key>
          <PropertyRef Name="ID"/>
        </Key>
        <Property Name="ID" Type="Edm.Guid" Nullable="false"/>
        <Property Name="accountHolderName" Type="Edm.String" MaxLength="100" Nullable="false"/>
        <Property Name="accountNumberLast4" Type="Edm.String" MaxLength="4"/>
        <Property Name="accountType" Type="Edm.String" MaxLength="10"/>
      </EntityType>
      <Action Name="updateChecklistItem" IsBound="false">
        <Parameter Name="itemId" Type="Edm.Guid"/>
        <Parameter Name="completed" Type="Edm.Boolean"/>
        <Parameter Name="data" Type="Edm.String"/>
        <ReturnType Type="Edm.String"/>
      </Action>
      <Action Name="savePaymentInfo" IsBound="false">
        <Parameter Name="accountHolderName" Type="Edm.String" MaxLength="100"/>
        <Parameter Name="routingNumber" Type="Edm.String"/>
        <Parameter Name="accountNumber" Type="Edm.String"/>
        <Parameter Name="accountType" Type="Edm.String" MaxLength="10"/>
        <ReturnType Type="Edm.String"/>
      </Action>
      <Annotations Target="ResidentService.EntityContainer/MyProfile">
        <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="ResidentService.MyProfile/ID">
        <Annotation Term="Core.ComputedDefaultValue" Bool="true"/>
      </Annotations>
      <Annotations Target="ResidentService.MyChecklist/ID">
        <Annotation Term="Core.ComputedDefaultValue" Bool="true"/>
      </Annotations>
      <Annotations Target="ResidentService.EntityContainer/MyPayment">
        <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="ResidentService.MyPayment/ID">
        <Annotation Term="Core.ComputedDefaultValue" Bool="true"/>
      </Annotations>
    </Schema>
  </edmx:DataServices>
</edmx:Edmx>