<?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:Reference Uri="https://sap.github.io/odata-vocabularies/vocabularies/UI.xml">
    <edmx:Include Alias="UI" Namespace="com.sap.vocabularies.UI.v1"/>
  </edmx:Reference>
  <edmx:DataServices>
    <Schema Namespace="ClientService" xmlns="http://docs.oasis-open.org/odata/ns/edm">
      <Annotation Term="Core.Links">
        <Collection>
          <Record>
            <PropertyValue Property="rel" String="author"/>
            <PropertyValue Property="href" String="https://cap.cloud.sap"/>
          </Record>
        </Collection>
      </Annotation>
      <EntityContainer Name="EntityContainer">
        <EntitySet Name="Clients" EntityType="ClientService.Clients"/>
        <EntitySet Name="Country" EntityType="ClientService.Country"/>
        <EntitySet Name="StateorProvince" EntityType="ClientService.StateorProvince"/>
        <ActionImport Name="saveClient" Action="ClientService.saveClient"/>
        <ActionImport Name="deleteClient" Action="ClientService.deleteClient"/>
      </EntityContainer>
      <EntityType Name="Clients">
        <Key>
          <PropertyRef Name="ID"/>
        </Key>
        <Property Name="ID" Type="Edm.Guid" Nullable="false"/>
        <Property Name="createdAt" Type="Edm.DateTimeOffset" Precision="7"/>
        <Property Name="createdBy" Type="Edm.String" MaxLength="255"/>
        <Property Name="modifiedAt" Type="Edm.DateTimeOffset" Precision="7"/>
        <Property Name="modifiedBy" Type="Edm.String" MaxLength="255"/>
        <Property Name="legalEntityName" Type="Edm.String" MaxLength="200"/>
        <Property Name="industry" Type="Edm.String" MaxLength="100"/>
        <Property Name="employeeCount" Type="Edm.String" MaxLength="50"/>
        <Property Name="website" Type="Edm.String" MaxLength="255"/>
        <Property Name="country" Type="Edm.String" MaxLength="100"/>
        <Property Name="state" Type="Edm.String" MaxLength="100"/>
        <Property Name="city" Type="Edm.String" MaxLength="100"/>
        <Property Name="address1" Type="Edm.String" MaxLength="255"/>
        <Property Name="address2" Type="Edm.String" MaxLength="255"/>
        <Property Name="postalCode" Type="Edm.String" MaxLength="20"/>
        <Property Name="clientStatus" Type="Edm.String" MaxLength="50"/>
        <Property Name="contactName" Type="Edm.String" MaxLength="200"/>
        <Property Name="email" Type="Edm.String" MaxLength="200"/>
        <Property Name="phone" Type="Edm.String" MaxLength="50"/>
        <Property Name="additionalContacts" Type="Edm.String"/>
        <Property Name="projectType" Type="Edm.String" MaxLength="100"/>
        <Property Name="modulesProcured" Type="Edm.String" MaxLength="100"/>
        <Property Name="modules" Type="Edm.String" MaxLength="500"/>
        <Property Name="manDays" Type="Edm.Int32"/>
        <Property Name="projectManager" Type="Edm.String" MaxLength="36"/>
        <Property Name="consultants" Type="Edm.String"/>
        <Property Name="logoFileName" Type="Edm.String" MaxLength="255"/>
        <Property Name="logoPath" Type="Edm.String" MaxLength="500"/>
        <Property Name="proposalFileName" Type="Edm.String" MaxLength="255"/>
        <Property Name="proposalPath" Type="Edm.String" MaxLength="500"/>
        <Property Name="poFileName" Type="Edm.String" MaxLength="255"/>
        <Property Name="poPath" Type="Edm.String" MaxLength="500"/>
        <Property Name="notes" Type="Edm.String"/>
        <Property Name="status" Type="Edm.String" MaxLength="20" DefaultValue="Draft"/>
      </EntityType>
      <EntityType Name="Country">
        <Key>
          <PropertyRef Name="ID"/>
        </Key>
        <Property Name="ID" Type="Edm.Guid" Nullable="false"/>
        <Property Name="countryCode" Type="Edm.String" MaxLength="10"/>
        <Property Name="name" Type="Edm.String" MaxLength="100"/>
      </EntityType>
      <EntityType Name="StateorProvince">
        <Key>
          <PropertyRef Name="ID"/>
        </Key>
        <Property Name="ID" Type="Edm.Guid" Nullable="false"/>
        <Property Name="name" Type="Edm.String" MaxLength="100"/>
        <Property Name="countryCode" Type="Edm.String" MaxLength="10"/>
        <Property Name="country" Type="Edm.String" MaxLength="100"/>
      </EntityType>
      <ComplexType Name="SaveClientResult">
        <Property Name="success" Type="Edm.Boolean"/>
        <Property Name="ID" Type="Edm.Guid"/>
        <Property Name="status" Type="Edm.String"/>
        <Property Name="message" Type="Edm.String"/>
      </ComplexType>
      <Action Name="saveClient" IsBound="false">
        <Parameter Name="ID" Type="Edm.Guid"/>
        <Parameter Name="legalEntityName" Type="Edm.String"/>
        <Parameter Name="industry" Type="Edm.String"/>
        <Parameter Name="employeeCount" Type="Edm.String"/>
        <Parameter Name="website" Type="Edm.String"/>
        <Parameter Name="country" Type="Edm.String"/>
        <Parameter Name="state" Type="Edm.String"/>
        <Parameter Name="city" Type="Edm.String"/>
        <Parameter Name="address1" Type="Edm.String"/>
        <Parameter Name="address2" Type="Edm.String"/>
        <Parameter Name="postalCode" Type="Edm.String"/>
        <Parameter Name="clientStatus" Type="Edm.String"/>
        <Parameter Name="contactName" Type="Edm.String"/>
        <Parameter Name="email" Type="Edm.String"/>
        <Parameter Name="phone" Type="Edm.String"/>
        <Parameter Name="additionalContacts" Type="Edm.String"/>
        <Parameter Name="projectType" Type="Edm.String"/>
        <Parameter Name="modulesProcured" Type="Edm.String"/>
        <Parameter Name="modules" Type="Edm.String"/>
        <Parameter Name="manDays" Type="Edm.Int32"/>
        <Parameter Name="projectManager" Type="Edm.String"/>
        <Parameter Name="consultants" Type="Edm.String"/>
        <Parameter Name="logoFileName" Type="Edm.String"/>
        <Parameter Name="logoPath" Type="Edm.String"/>
        <Parameter Name="proposalFileName" Type="Edm.String"/>
        <Parameter Name="proposalPath" Type="Edm.String"/>
        <Parameter Name="poFileName" Type="Edm.String"/>
        <Parameter Name="poPath" Type="Edm.String"/>
        <Parameter Name="notes" Type="Edm.String"/>
        <Parameter Name="status" Type="Edm.String"/>
        <ReturnType Type="ClientService.SaveClientResult"/>
      </Action>
      <Action Name="deleteClient" IsBound="false">
        <Parameter Name="ID" Type="Edm.Guid"/>
        <ReturnType Type="ClientService.SaveClientResult"/>
      </Action>
      <Annotations Target="ClientService.Clients/ID">
        <Annotation Term="Core.ComputedDefaultValue" Bool="true"/>
      </Annotations>
      <Annotations Target="ClientService.Clients/createdAt">
        <Annotation Term="UI.HiddenFilter" Bool="true"/>
        <Annotation Term="UI.ExcludeFromNavigationContext" Bool="true"/>
        <Annotation Term="Core.Immutable" Bool="true"/>
        <Annotation Term="Core.Computed" Bool="true"/>
        <Annotation Term="Common.Label" String="Created On"/>
      </Annotations>
      <Annotations Target="ClientService.Clients/createdBy">
        <Annotation Term="UI.HiddenFilter" Bool="true"/>
        <Annotation Term="UI.ExcludeFromNavigationContext" Bool="true"/>
        <Annotation Term="Core.Immutable" Bool="true"/>
        <Annotation Term="Core.Computed" Bool="true"/>
        <Annotation Term="Core.Description" String="User's unique ID"/>
        <Annotation Term="Common.Label" String="Created By"/>
      </Annotations>
      <Annotations Target="ClientService.Clients/modifiedAt">
        <Annotation Term="UI.HiddenFilter" Bool="true"/>
        <Annotation Term="UI.ExcludeFromNavigationContext" Bool="true"/>
        <Annotation Term="Core.Computed" Bool="true"/>
        <Annotation Term="Common.Label" String="Changed On"/>
      </Annotations>
      <Annotations Target="ClientService.Clients/modifiedBy">
        <Annotation Term="UI.HiddenFilter" Bool="true"/>
        <Annotation Term="UI.ExcludeFromNavigationContext" Bool="true"/>
        <Annotation Term="Core.Computed" Bool="true"/>
        <Annotation Term="Core.Description" String="User's unique ID"/>
        <Annotation Term="Common.Label" String="Changed By"/>
      </Annotations>
      <Annotations Target="ClientService.EntityContainer/Country">
        <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="ClientService.Country/ID">
        <Annotation Term="Core.ComputedDefaultValue" Bool="true"/>
      </Annotations>
      <Annotations Target="ClientService.EntityContainer/StateorProvince">
        <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="ClientService.StateorProvince/ID">
        <Annotation Term="Core.ComputedDefaultValue" Bool="true"/>
      </Annotations>
    </Schema>
  </edmx:DataServices>
</edmx:Edmx>