diff --git a/src/migrations/scripts/1620229047628-opening-hours.ts b/src/migrations/scripts/1620229047628-opening-hours.ts
new file mode 100644
index 0000000000000000000000000000000000000000..16d11df31824338ad03636bc5d97d09c7dd96e3e
--- /dev/null
+++ b/src/migrations/scripts/1620229047628-opening-hours.ts
@@ -0,0 +1,67 @@
+import { Db } from 'mongodb';
+import { getDb } from '../migrations-utils/db';
+
+export const up = async () => {
+  const db: Db = await getDb();
+
+  const cursor = db.collection('structures').find({});
+  let document;
+  while ((document = await cursor.next())) {
+    const newDoc = updateStructure(document);
+    await db.collection('structures').updateOne({ _id: document._id }, [{ $set: newDoc }]);
+  }
+  console.log(`Update done`);
+};
+
+export const down = async () => {
+  const db: Db = await getDb();
+
+  const cursor = db.collection('structures').find({});
+  let document;
+  while ((document = await cursor.next())) {
+    const newDoc = downgradeStructure(document);
+    await db.collection('structures').updateOne({ _id: document._id }, [{ $set: newDoc }]);
+  }
+  console.log(`Update done`);
+};
+
+function updateStructure(doc) {
+  return updateHours(doc);
+}
+
+function downgradeStructure(doc) {
+  doc = restoreHours(doc);
+  return doc;
+}
+
+function updateHours(doc) {
+  if (doc.hours) {
+    Object.keys(doc.hours).forEach((key) => {
+      doc.hours[key].time.forEach((timeRange) => {
+        timeRange.opening = timeRange.openning;
+        delete timeRange.openning;
+      });
+    });
+    return doc;
+  } else {
+    console.warn(`No hours on doc ${doc._id}`);
+    return doc;
+  }
+}
+
+function restoreHours(doc) {
+  if (doc.hours) {
+    Object.keys(doc.hours).forEach((key) => {
+      if (doc.hours[key].time.length > 0) {
+        doc.hours[key].time.forEach((timeRange) => {
+          timeRange.openning = timeRange.opening;
+          delete timeRange.opening;
+        });
+      }
+    });
+    return doc;
+  } else {
+    console.warn(`No hours on doc ${doc._id}`);
+    return doc;
+  }
+}
diff --git a/src/structures/schemas/structure.schema.ts b/src/structures/schemas/structure.schema.ts
index fdd977bfc67d6f6ab411d60b1ba36f109a4a5573..718d4bb0377705246f7e6c0df31ad3e266b26a2d 100644
--- a/src/structures/schemas/structure.schema.ts
+++ b/src/structures/schemas/structure.schema.ts
@@ -1,4 +1,5 @@
 import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
+import { Exclude } from 'class-transformer';
 import { Document } from 'mongoose';
 import { Address } from './address.schema';
 import { Week } from './week.schema';
@@ -29,6 +30,7 @@ export class Structure {
   lockdownActivity: string;
 
   @Prop()
+  @Exclude()
   address: Address;
 
   @Prop()
diff --git a/src/structures/schemas/time.schema.ts b/src/structures/schemas/time.schema.ts
index 65109f63a40c61e04044ddb49d8ba95c145fa772..8a2261331041add1791775b9da1c2e1ee323a708 100644
--- a/src/structures/schemas/time.schema.ts
+++ b/src/structures/schemas/time.schema.ts
@@ -4,7 +4,7 @@ import { Document } from 'mongoose';
 export type TimeDocument = Time & Document;
 
 export class Time {
-  openning: string;
+  opening: string;
   closing: string;
 }
 
diff --git a/src/structures/services/structures.service.ts b/src/structures/services/structures.service.ts
index ae5c8dd485d8e9897c39b1c8b45c9efe51b46966..aec2207c635d21b40560bf7df44019fae8f76c5c 100644
--- a/src/structures/services/structures.service.ts
+++ b/src/structures/services/structures.service.ts
@@ -185,57 +185,59 @@ export class StructuresService {
         }
       })
     );
-    return (await this.structureModel.find({ deletedAt: { $exists: false }, accountVerified: true }).exec()).map(
-      (structure) => {
-        structure.proceduresAccompaniment = this.mapModules(
-          structure.proceduresAccompaniment,
-          accompagnementCategories.find((category) => category.name === 'Accompagnement des démarches').modules
-        );
-        structure.labelsQualifications = this.mapModules(
-          structure.labelsQualifications,
-          otherCategories.find((category) => category.name === 'Labels et qualifications').modules
-        );
-        structure.publics = this.mapModules(
-          structure.publics,
-          otherCategories.find((category) => category.name === 'Publics acceptés').modules
-        );
-        structure.accessModality = this.mapModules(
-          structure.accessModality,
-          otherCategories.find((category) => category.name === "Modalités d'accès").modules
-        );
-        structure.publicsAccompaniment = this.mapModules(
-          structure.publicsAccompaniment,
-          otherCategories.find((category) => category.name === 'Accompagnement des publics spécifique').modules
-        );
-        structure.equipmentsAndServices = this.mapModules(
-          structure.equipmentsAndServices,
-          otherCategories.find((category) => category.name === 'Équipements et services proposés').modules
-        );
-        structure.baseSkills = this.mapFormationModules(
-          structure.baseSkills,
-          formationCategories.find((category) => category.name === 'Les compétences de base').modules
-        );
-        structure.accessRight = this.mapFormationModules(
-          structure.accessRight,
-          formationCategories.find((category) => category.name === 'Accès aux droits').modules
-        );
-        structure.socialAndProfessional = this.mapFormationModules(
-          structure.socialAndProfessional,
-          formationCategories.find((category) => category.name === 'Insertion sociale et professionnelle').modules
-        );
-        structure.parentingHelp = this.mapFormationModules(
-          structure.parentingHelp,
-          formationCategories.find((category) => category.name === 'Aide à la parentalité').modules
-        );
-        structure.digitalCultureSecurity = this.mapFormationModules(
-          structure.digitalCultureSecurity,
-          formationCategories.find((category) => category.name === 'Culture et sécurité numérique').modules
-        );
-        return structure;
-      }
-    );
+    return (
+      await this.structureModel
+        .find({ deletedAt: { $exists: false }, accountVerified: true })
+        .select('-_id -accountVerified -otherDescription')
+        .exec()
+    ).map((structure) => {
+      structure.proceduresAccompaniment = this.mapModules(
+        structure.proceduresAccompaniment,
+        accompagnementCategories.find((category) => category.name === 'Accompagnement des démarches').modules
+      );
+      structure.labelsQualifications = this.mapModules(
+        structure.labelsQualifications,
+        otherCategories.find((category) => category.name === 'Labels et qualifications').modules
+      );
+      structure.publics = this.mapModules(
+        structure.publics,
+        otherCategories.find((category) => category.name === 'Publics acceptés').modules
+      );
+      structure.accessModality = this.mapModules(
+        structure.accessModality,
+        otherCategories.find((category) => category.name === "Modalités d'accès").modules
+      );
+      structure.publicsAccompaniment = this.mapModules(
+        structure.publicsAccompaniment,
+        otherCategories.find((category) => category.name === 'Accompagnement des publics spécifique').modules
+      );
+      structure.equipmentsAndServices = this.mapModules(
+        structure.equipmentsAndServices,
+        otherCategories.find((category) => category.name === 'Équipements et services proposés').modules
+      );
+      structure.baseSkills = this.mapFormationModules(
+        structure.baseSkills,
+        formationCategories.find((category) => category.name === 'Les compétences de base').modules
+      );
+      structure.accessRight = this.mapFormationModules(
+        structure.accessRight,
+        formationCategories.find((category) => category.name === 'Accès aux droits').modules
+      );
+      structure.socialAndProfessional = this.mapFormationModules(
+        structure.socialAndProfessional,
+        formationCategories.find((category) => category.name === 'Insertion sociale et professionnelle').modules
+      );
+      structure.parentingHelp = this.mapFormationModules(
+        structure.parentingHelp,
+        formationCategories.find((category) => category.name === 'Aide à la parentalité').modules
+      );
+      structure.digitalCultureSecurity = this.mapFormationModules(
+        structure.digitalCultureSecurity,
+        formationCategories.find((category) => category.name === 'Culture et sécurité numérique').modules
+      );
+      return structure;
+    });
   }
-
   public mapFormationModules(structureModule: string[], baseModule: CategoriesFormationsModule[]): string[] {
     if (structureModule == []) {
       return [];
diff --git a/src/structures/structures.controller.ts b/src/structures/structures.controller.ts
index 65dcfd00b0b4d5495ce84306e940f99a82982981..67012bced93c936227dd192f4826078572008abc 100644
--- a/src/structures/structures.controller.ts
+++ b/src/structures/structures.controller.ts
@@ -1,5 +1,6 @@
 import {
   Body,
+  ClassSerializerInterceptor,
   Controller,
   Delete,
   Get,
@@ -11,6 +12,7 @@ import {
   Put,
   Query,
   UseGuards,
+  UseInterceptors,
 } from '@nestjs/common';
 import { ApiParam } from '@nestjs/swagger';
 import { Types } from 'mongoose';
@@ -94,6 +96,7 @@ export class StructuresController {
   }
 
   @Get('formated')
+  //@UseInterceptors(ClassSerializerInterceptor)
   public async findAllFormated(): Promise<Structure[]> {
     const formationCategories = await this.categoriesFormationsService.findAll();
     const accompagnementCategories = await this.categoriesAccompagnementService.findAll();