<?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="AgencyService" 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="Agencies" EntityType="AgencyService.Agencies"/>
        <EntitySet Name="AgencyAssignment" EntityType="AgencyService.AgencyAssignment"/>
        <ActionImport Name="createAgency" Action="AgencyService.createAgency"/>
        <ActionImport Name="updateAgency" Action="AgencyService.updateAgency"/>
        <ActionImport Name="deleteAgency" Action="AgencyService.deleteAgency"/>
        <ActionImport Name="getAgency" Action="AgencyService.getAgency" EntitySet="Agencies"/>
        <ActionImport Name="getAllAgencies" Action="AgencyService.getAllAgencies" EntitySet="Agencies"/>
        <ActionImport Name="createAgencyAssignment" Action="AgencyService.createAgencyAssignment"/>
        <ActionImport Name="updateAgencyAssignment" Action="AgencyService.updateAgencyAssignment"/>
        <ActionImport Name="deleteAgencyAssignment" Action="AgencyService.deleteAgencyAssignment"/>
        <ActionImport Name="getAgencyAssignment" Action="AgencyService.getAgencyAssignment" EntitySet="AgencyAssignment"/>
        <ActionImport Name="getAllAgencyAssignments" Action="AgencyService.getAllAgencyAssignments" EntitySet="AgencyAssignment"/>
      </EntityContainer>
      <EntityType Name="Agencies">
        <Key>
          <PropertyRef Name="ID"/>
        </Key>
        <Property Name="ID" Type="Edm.Guid" Nullable="false"/>
        <Property Name="agencyName" Type="Edm.String" MaxLength="255"/>
        <Property Name="contactEmail" Type="Edm.String" MaxLength="255"/>
        <Property Name="phoneNumber" Type="Edm.String" MaxLength="20"/>
        <Property Name="countries" Type="Edm.String" MaxLength="255"/>
        <Property Name="createdAt" Type="Edm.DateTimeOffset" Precision="7"/>
        <Property Name="userId" Type="Edm.Guid"/>
      </EntityType>
      <EntityType Name="AgencyAssignment">
        <Key>
          <PropertyRef Name="ID"/>
        </Key>
        <Property Name="ID" Type="Edm.Guid" Nullable="false"/>
        <Property Name="applicationID" Type="Edm.String" MaxLength="100"/>
        <Property Name="candidateName" Type="Edm.String" MaxLength="255"/>
        <Property Name="agencyID" Type="Edm.Guid"/>
        <Property Name="agencyName" Type="Edm.String" MaxLength="255"/>
        <Property Name="scopes" Type="Edm.String" MaxLength="500"/>
        <Property Name="status" Type="Edm.String" MaxLength="50"/>
        <Property Name="assignedAt" Type="Edm.Date"/>
        <Property Name="notes" Type="Edm.String" MaxLength="500"/>
        <Property Name="createdAt" Type="Edm.DateTimeOffset" Precision="7"/>
      </EntityType>
      <ComplexType Name="return_AgencyService_createAgency">
        <Property Name="success" Type="Edm.Boolean"/>
        <Property Name="message" Type="Edm.String"/>
      </ComplexType>
      <ComplexType Name="return_AgencyService_updateAgency">
        <Property Name="success" Type="Edm.Boolean"/>
        <Property Name="message" Type="Edm.String"/>
      </ComplexType>
      <ComplexType Name="return_AgencyService_deleteAgency">
        <Property Name="success" Type="Edm.Boolean"/>
        <Property Name="message" Type="Edm.String"/>
      </ComplexType>
      <ComplexType Name="return_AgencyService_createAgencyAssignment">
        <Property Name="success" Type="Edm.Boolean"/>
        <Property Name="message" Type="Edm.String"/>
      </ComplexType>
      <ComplexType Name="return_AgencyService_updateAgencyAssignment">
        <Property Name="success" Type="Edm.Boolean"/>
        <Property Name="message" Type="Edm.String"/>
      </ComplexType>
      <ComplexType Name="return_AgencyService_deleteAgencyAssignment">
        <Property Name="success" Type="Edm.Boolean"/>
        <Property Name="message" Type="Edm.String"/>
      </ComplexType>
      <Action Name="createAgency" IsBound="false">
        <Parameter Name="agencyName" Type="Edm.String"/>
        <Parameter Name="contactEmail" Type="Edm.String"/>
        <Parameter Name="phoneNumber" Type="Edm.String"/>
        <Parameter Name="countries" Type="Edm.String"/>
        <Parameter Name="userId" Type="Edm.Guid"/>
        <ReturnType Type="AgencyService.return_AgencyService_createAgency"/>
      </Action>
      <Action Name="updateAgency" IsBound="false">
        <Parameter Name="ID" Type="Edm.String"/>
        <Parameter Name="agencyName" Type="Edm.String"/>
        <Parameter Name="contactEmail" Type="Edm.String"/>
        <Parameter Name="phoneNumber" Type="Edm.String"/>
        <Parameter Name="countries" Type="Edm.String"/>
        <Parameter Name="userId" Type="Edm.Guid"/>
        <Parameter Name="createdAt" Type="Edm.DateTimeOffset" Precision="7"/>
        <ReturnType Type="AgencyService.return_AgencyService_updateAgency"/>
      </Action>
      <Action Name="deleteAgency" IsBound="false">
        <Parameter Name="ID" Type="Edm.String"/>
        <ReturnType Type="AgencyService.return_AgencyService_deleteAgency"/>
      </Action>
      <Action Name="getAgency" IsBound="false">
        <Parameter Name="ID" Type="Edm.String"/>
        <ReturnType Type="AgencyService.Agencies"/>
      </Action>
      <Action Name="getAllAgencies" IsBound="false">
        <ReturnType Type="Collection(AgencyService.Agencies)"/>
      </Action>
      <Action Name="createAgencyAssignment" IsBound="false">
        <Parameter Name="applicationID" Type="Edm.String"/>
        <Parameter Name="candidateName" Type="Edm.String"/>
        <Parameter Name="agencyID" Type="Edm.String"/>
        <Parameter Name="agencyName" Type="Edm.String"/>
        <Parameter Name="scopes" Type="Edm.String"/>
        <Parameter Name="status" Type="Edm.String"/>
        <Parameter Name="assignedAt" Type="Edm.Date"/>
        <Parameter Name="notes" Type="Edm.String"/>
        <ReturnType Type="AgencyService.return_AgencyService_createAgencyAssignment"/>
      </Action>
      <Action Name="updateAgencyAssignment" IsBound="false">
        <Parameter Name="ID" Type="Edm.String"/>
        <Parameter Name="applicationID" Type="Edm.String"/>
        <Parameter Name="candidateName" Type="Edm.String"/>
        <Parameter Name="agencyID" Type="Edm.String"/>
        <Parameter Name="agencyName" Type="Edm.String"/>
        <Parameter Name="scopes" Type="Edm.String"/>
        <Parameter Name="status" Type="Edm.String"/>
        <Parameter Name="assignedAt" Type="Edm.Date"/>
        <Parameter Name="notes" Type="Edm.String"/>
        <Parameter Name="createdAt" Type="Edm.DateTimeOffset" Precision="7"/>
        <ReturnType Type="AgencyService.return_AgencyService_updateAgencyAssignment"/>
      </Action>
      <Action Name="deleteAgencyAssignment" IsBound="false">
        <Parameter Name="ID" Type="Edm.String"/>
        <ReturnType Type="AgencyService.return_AgencyService_deleteAgencyAssignment"/>
      </Action>
      <Action Name="getAgencyAssignment" IsBound="false">
        <Parameter Name="ID" Type="Edm.String"/>
        <ReturnType Type="AgencyService.AgencyAssignment"/>
      </Action>
      <Action Name="getAllAgencyAssignments" IsBound="false">
        <ReturnType Type="Collection(AgencyService.AgencyAssignment)"/>
      </Action>
      <Annotations Target="AgencyService.Agencies/ID">
        <Annotation Term="Core.ComputedDefaultValue" Bool="true"/>
      </Annotations>
      <Annotations Target="AgencyService.Agencies/createdAt">
        <Annotation Term="Core.ComputedDefaultValue" Bool="true"/>
      </Annotations>
      <Annotations Target="AgencyService.AgencyAssignment/ID">
        <Annotation Term="Core.ComputedDefaultValue" Bool="true"/>
      </Annotations>
      <Annotations Target="AgencyService.AgencyAssignment/createdAt">
        <Annotation Term="Core.ComputedDefaultValue" Bool="true"/>
      </Annotations>
    </Schema>
  </edmx:DataServices>
</edmx:Edmx>