diff --git a/src/app/core/eperson/models/NormalizedEperson.model.ts b/src/app/core/eperson/models/NormalizedEperson.model.ts
new file mode 100644
index 0000000000000000000000000000000000000000..0c0b2490d6d228235a34f2d2cd71f68058c38912
--- /dev/null
+++ b/src/app/core/eperson/models/NormalizedEperson.model.ts
@@ -0,0 +1,37 @@
+import { autoserialize, inheritSerialization } from 'cerialize';
+import { CacheableObject } from '../../cache/object-cache.reducer';
+import { ListableObject } from '../../../shared/object-collection/shared/listable-object.model';
+import { NormalizedDSpaceObject } from '../../cache/models/normalized-dspace-object.model';
+import { Eperson } from './eperson.model';
+import { mapsTo, relationship } from '../../cache/builders/build-decorators';
+import { ResourceType } from '../../shared/resource-type';
+
+@mapsTo(Eperson)
+@inheritSerialization(NormalizedDSpaceObject)
+export class NormalizedEpersonModel extends NormalizedDSpaceObject implements CacheableObject, ListableObject {
+
+  @autoserialize
+  public handle: string;
+
+  @autoserialize
+  @relationship(ResourceType.Group, true)
+  groups: string[];
+
+  @autoserialize
+  public netid: string;
+
+  @autoserialize
+  public lastActive: string;
+
+  @autoserialize
+  public canLogIn: boolean;
+
+  @autoserialize
+  public email: string;
+
+  @autoserialize
+  public requireCertificate: boolean;
+
+  @autoserialize
+  public selfRegistered: boolean;
+}
diff --git a/src/app/core/eperson/models/NormalizedGroup.model.ts b/src/app/core/eperson/models/NormalizedGroup.model.ts
new file mode 100644
index 0000000000000000000000000000000000000000..24f7da8eab2019fa1dc699fe0f5b5cf695ea67e6
--- /dev/null
+++ b/src/app/core/eperson/models/NormalizedGroup.model.ts
@@ -0,0 +1,18 @@
+import { autoserialize, inheritSerialization } from 'cerialize';
+import { CacheableObject } from '../../cache/object-cache.reducer';
+import { ListableObject } from '../../../shared/object-collection/shared/listable-object.model';
+import { NormalizedDSpaceObject } from '../../cache/models/normalized-dspace-object.model';
+import { Eperson } from './eperson.model';
+import { mapsTo } from '../../cache/builders/build-decorators';
+import { Group } from './group.model';
+
+@mapsTo(Group)
+@inheritSerialization(NormalizedDSpaceObject)
+export class NormalizedGroupModel extends NormalizedDSpaceObject implements CacheableObject, ListableObject {
+
+  @autoserialize
+  public handle: string;
+
+  @autoserialize
+  public permanent: boolean;
+}
diff --git a/src/app/core/eperson/models/eperson.model.ts b/src/app/core/eperson/models/eperson.model.ts
new file mode 100644
index 0000000000000000000000000000000000000000..373fb42792af44f5e1a580a1962edf1efed32c02
--- /dev/null
+++ b/src/app/core/eperson/models/eperson.model.ts
@@ -0,0 +1,22 @@
+import { DSpaceObject } from '../../shared/dspace-object.model';
+import { Group } from './group.model';
+
+export class Eperson extends DSpaceObject {
+
+  public handle: string;
+
+  public groups: Group[];
+
+  public netid: string;
+
+  public lastActive: string;
+
+  public canLogIn: boolean;
+
+  public email: string;
+
+  public requireCertificate: boolean;
+
+  public selfRegistered: boolean;
+
+}
diff --git a/src/app/core/eperson/models/group.model.ts b/src/app/core/eperson/models/group.model.ts
new file mode 100644
index 0000000000000000000000000000000000000000..cd41ce9e25798415ad66c858e659c3b6a164f7fa
--- /dev/null
+++ b/src/app/core/eperson/models/group.model.ts
@@ -0,0 +1,8 @@
+import { DSpaceObject } from '../../shared/dspace-object.model';
+
+export class Group extends DSpaceObject {
+
+  public handle: string;
+
+  public permanent: boolean;
+}
diff --git a/src/app/core/shared/resource-type.ts b/src/app/core/shared/resource-type.ts
index f3554e18cfb355c00e210ef067e0b0a4a3127967..6f4a1c735893215b7ea9e6c5d78dd53c5c14fb67 100644
--- a/src/app/core/shared/resource-type.ts
+++ b/src/app/core/shared/resource-type.ts
@@ -9,4 +9,6 @@ export enum ResourceType {
   Item = 'item',
   Collection = 'collection',
   Community = 'community',
+  Eperson = 'eperson',
+  Group = 'group',
 }