diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..1f0612f0c6f295ccc2dc427068ece46f6eb6cdcc
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,804 @@
+variables:
+  FF_USE_FASTZIP: "true" # enable fastzip - a faster zip implementation that also supports level configuration.
+  ARTIFACT_COMPRESSION_LEVEL: default 
+  CACHE_COMPRESSION_LEVEL: default 
+  TRANSFER_METER_FREQUENCY: 5s # will display transfer progress every 5 seconds for artifacts and remote caches. 
+  MAVEN_OPTS: "-Djava.awt.headless=true -Dmaven.repo.local=${CI_PROJECT_DIR}/.m2/repository/"
+  MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version"
+  SONAR_USER_HOME: ${CI_PROJECT_DIR}/.sonar  # Defines the location of the analysis task cache
+  GIT_DEPTH: 0  # Tells git to fetch all the branches of the project, required by the analysis task
+  DOCKER_BUILDKIT: 1 # With BuildKit, you don't need to pull the remote images before building since it caches each build layer in your image registry. Then, when you build the image, each layer is downloaded as needed during the build.
+
+cache:
+  key: ${CI_COMMIT_REF_SLUG}
+  paths:
+    - ${CI_PROJECT_DIR}/.m2/repository/
+
+stages:
+
+########################################################################################################################
+# Parallel Stages
+########################################################################################################################
+  - Build
+  - Test
+  - Sonarqube
+  - Dockerimage #Secure #Jobs flyway-build-main / docker-build-main
+
+########################################################################################################################
+# Non-Parallel Deploy-Stages
+########################################################################################################################
+  - Deploy-Flyway
+  - Deploy-Main
+  - Deploy-Address-Import
+  - Deploy-Mail-Export
+  - Deploy-Stoerungsauskuenfte
+
+#image: maven:3.6.3-jdk-11
+
+########################################################################################################################
+# Common stages/scripts
+########################################################################################################################
+
+.docker-build-script:
+  image: docker:20.10.7-git
+  services:
+  - docker:dind
+  before_script:
+  - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
+  script:
+    - echo PROJECT_DIR $PROJECT_DIR
+    - cd ./$PROJECT_DIR
+    - ls -l
+    - |
+      if [[ "$CI_COMMIT_TAG" == "" ]]; then
+        tag="sha-${CI_COMMIT_SHORT_SHA}"
+      else
+        tag="$CI_COMMIT_TAG"
+      fi
+    - echo current tag ${tag}
+    # Get (source) branch when tagging
+    - CI_SOURCE_BRANCH=$(git for-each-ref | grep $CI_COMMIT_SHA | grep origin | sed "s/.*\///" | tr '[:upper:]' '[:lower:]')
+    - echo CI_SOURCE_BRANCH $CI_SOURCE_BRANCH
+    - REGISTRY_IMAGE_BASE="$CI_REGISTRY_IMAGE/$CI_SOURCE_BRANCH/$IMG_NAME"
+    - FINAL_REGISTRY_IMAGE="$CI_REGISTRY_IMAGE/$CI_SOURCE_BRANCH/$IMG_NAME:${tag}"
+    - echo "FINAL_REGISTRY_IMAGE=$FINAL_REGISTRY_IMAGE" >> dockerimage.env
+    - echo current FINAL_REGISTRY_IMAGE ${FINAL_REGISTRY_IMAGE}
+    - docker build --pull -f $DOCKER_FILE -t "$FINAL_REGISTRY_IMAGE" -t "$REGISTRY_IMAGE_BASE" --cache-from "$REGISTRY_IMAGE_BASE"  --build-arg BUILDKIT_INLINE_CACHE=1 .
+    - docker push "$REGISTRY_IMAGE_BASE" --all-tags
+  artifacts:
+    reports:
+      dotenv: $PROJECT_DIR/dockerimage.env
+
+########################################################################################################################
+# Main
+########################################################################################################################
+
+#-----------------------------------------------------------------------------------------------------------------------
+build-main:
+#-----------------------------------------------------------------------------------------------------------------------
+  image: maven:3.6-jdk-11
+  stage: Build
+  cache:
+    key: ${CI_COMMIT_REF_SLUG}
+    paths:
+      - ${CI_PROJECT_DIR}/.m2/repository/
+      - ./gfsBackendService/target/
+  script:
+    - cd ./gfsBackendService
+    - mvn clean package -DskipTests=true
+  artifacts:
+    paths:
+      - ./gfsBackendService/target/*.jar
+    expire_in: 1d
+#  rules:
+#    - changes:
+#        - gfsBackendService/**/*
+#      if: $CI_PROJECT_NAME == "gridFailureInformation.backend"
+
+#-----------------------------------------------------------------------------------------------------------------------
+test-main:
+#-----------------------------------------------------------------------------------------------------------------------
+  stage: Test
+  image: maven:3.6-jdk-11
+  script:
+    - cd ./gfsBackendService
+    - mvn test -Dskip.asciidoc=true
+  artifacts:
+    paths:
+      - ./gfsBackendService/target/
+#      - ./gfsBackendService/src/
+    reports:
+      junit:
+        - ./gfsBackendService/target/surefire-reports/TEST-*.xml
+  rules:
+    - changes:
+        - gfsBackendService/**/*
+      if: $CI_PROJECT_NAME == "gridFailureInformation.backend"
+
+#-----------------------------------------------------------------------------------------------------------------------
+sonarqube-main:
+#-----------------------------------------------------------------------------------------------------------------------
+  stage: Sonarqube
+  image:
+    name: sonarsource/sonar-scanner-cli:4.6
+    entrypoint: [""]
+  cache:
+    key: ${CI_JOB_NAME}
+    paths:
+      - .sonar/cache
+  script:
+    - cd ./gfsBackendService
+    - sonar-scanner -Dsonar.qualitygate.wait=true
+  allow_failure: true
+  dependencies:
+    - test-main
+  rules:
+    - changes:
+        - gfsBackendService/**/*
+      if: $CI_PROJECT_NAME == "gridFailureInformation.backend"
+
+
+#-----------------------------------------------------------------------------------------------------------------------
+docker-build-flyway:
+#-----------------------------------------------------------------------------------------------------------------------
+  stage: Dockerimage
+  extends: .docker-build-script
+  variables:
+    IMG_NAME: "gfi-flyway"
+    PROJECT_DIR: "gfsBackendService"
+    DOCKER_FILE: "Dockerfile_Flyway"
+  needs: []
+#  rules:
+#    - changes:
+#        - gfsBackendService/src/main/resources/db/migration/*
+#      exists:
+#        - gfsBackendService/Dockerfile_Flyway
+#      if: $CI_PROJECT_NAME == "gridFailureInformation.backend"
+
+#-----------------------------------------------------------------------------------------------------------------------
+docker-build-main:
+#-----------------------------------------------------------------------------------------------------------------------
+  stage: Dockerimage
+  extends: .docker-build-script
+  variables:
+    IMG_NAME: "gfi-main"
+    PROJECT_DIR: "gfsBackendService"
+    DOCKER_FILE: "Dockerfile_GitLab"
+  needs:
+    - job: build-main
+#    - job: test-main
+#      artifacts: false
+#  rules:
+#    - changes:
+#        - gfsBackendService/**/*
+#      exists:
+#        - gfsBackendService/Dockerfile_GitLab
+#      if: $CI_PROJECT_NAME == "gridFailureInformation.backend"
+
+
+########################################################################################################################
+# Address Import
+########################################################################################################################
+
+#-----------------------------------------------------------------------------------------------------------------------
+build-address-import:
+#-----------------------------------------------------------------------------------------------------------------------
+  image: maven:3.6-jdk-11
+  stage: Build
+  cache:
+    key: ${CI_COMMIT_REF_SLUG}
+    paths:
+      - ${CI_PROJECT_DIR}/.m2/repository/
+      - ./addressImport/target/
+  script:
+    - cd ./addressImport
+    - mvn clean package -DskipTests=true
+  artifacts:
+    paths:
+      - ./addressImport/target/*.jar
+    expire_in: 1d
+#  rules:
+#    - changes:
+#        - addressImport/**/*
+#      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.addressimport"
+
+#-----------------------------------------------------------------------------------------------------------------------
+test-address-import:
+#-----------------------------------------------------------------------------------------------------------------------
+  image: maven:3.6-jdk-11
+  stage:  Test
+  cache:
+    paths:
+      - ${CI_PROJECT_DIR}/.m2/repository/
+      - ./addressImport/target/
+  script:
+    - cd ./addressImport
+    - mvn test
+  artifacts:
+    paths:
+      - ./addressImport/target/
+      - ./addressImport/src/
+    reports:
+      junit:
+        - ./addressImport/target/surefire-reports/TEST-*.xml
+  rules:
+    - changes:
+        - addressImport/**/*
+      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.addressimport"
+
+#-----------------------------------------------------------------------------------------------------------------------
+sonarqube-address-import:
+#-----------------------------------------------------------------------------------------------------------------------
+  stage: Sonarqube
+  image:
+    name: sonarsource/sonar-scanner-cli:4.6
+    entrypoint: [""]
+  cache:
+    key: ${CI_JOB_NAME}
+    paths:
+      - .sonar/cache
+  script:
+    - cd ./addressImport
+    - sonar-scanner -Dsonar.qualitygate.wait=true
+  allow_failure: true
+  dependencies:
+    - test-address-import
+  rules:
+    - changes:
+        - addressImport/**/*
+      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.addressimport"
+
+#-----------------------------------------------------------------------------------------------------------------------
+docker-build-address-import:
+#-----------------------------------------------------------------------------------------------------------------------
+  stage: Dockerimage
+  extends: .docker-build-script
+  variables:
+    IMG_NAME: "gfi-address-import"
+    PROJECT_DIR: "addressImport" 
+    DOCKER_FILE: "Dockerfile_Gitlab"
+  needs:
+    - job: build-address-import 
+#    - job: test-address-import 
+#      artifacts: false
+#  rules:
+#    - changes:
+#        - addressImport/**/*
+#      exists:
+#        - addressImport/Dockerfile_Gitlab
+#      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.addressimport"
+
+########################################################################################################################
+# Mail Export
+########################################################################################################################
+#-----------------------------------------------------------------------------------------------------------------------
+build-mail-export:
+#-----------------------------------------------------------------------------------------------------------------------
+  image: maven:3.6-jdk-11
+  stage: Build
+  cache:
+    key: ${CI_COMMIT_REF_SLUG}
+    paths:
+      - ${CI_PROJECT_DIR}/.m2/repository/
+      - ./mailExport/target/
+  script:
+    - cd ./mailExport
+    - mvn clean package -DskipTests=true
+  artifacts:
+    paths:
+      - ./mailExport/target/*.jar
+#  rules:
+#    - changes:
+#        - mailExport/**/*
+#      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.mailexport"
+
+#-----------------------------------------------------------------------------------------------------------------------
+test-mail-export:
+#-----------------------------------------------------------------------------------------------------------------------
+  image: maven:3.6-jdk-11
+  stage:  Test
+  cache:
+    paths:
+      - ${CI_PROJECT_DIR}/.m2/repository/
+      - ./mailExport/target/
+  script:
+    - cd ./mailExport
+    - mvn test -Dskip.asciidoc=true
+  artifacts:
+    paths:      
+      - ./mailExport/target/
+      - ./mailExport/src/
+    reports:
+      junit:
+       - ./mailExport/target/surefire-reports/TEST-*.xml
+  rules:
+    - changes:
+        - mailExport/**/*
+      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.mailexport"
+
+#-----------------------------------------------------------------------------------------------------------------------
+sonarqube-mail-export:
+#-----------------------------------------------------------------------------------------------------------------------
+  stage: Sonarqube
+  image:
+    name: sonarsource/sonar-scanner-cli:4.6
+    entrypoint: [""]
+  cache:
+    key: ${CI_JOB_NAME}
+    paths:
+      - .sonar/cache
+  script:
+    - cd ./mailExport
+    - sonar-scanner -Dsonar.qualitygate.wait=true
+  allow_failure: true
+  dependencies:
+    - test-mail-export
+  rules:
+    - changes:
+        - mailExport/**/*
+      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.mailexport"
+
+#-----------------------------------------------------------------------------------------------------------------------
+docker-build-mail-export:
+#-----------------------------------------------------------------------------------------------------------------------
+  stage: Dockerimage
+  extends: .docker-build-script
+  variables:
+    IMG_NAME: "gfi-mail-export"
+    PROJECT_DIR: "mailExport" 
+    DOCKER_FILE: "Dockerfile_Gitlab"
+  needs:
+    - job: build-mail-export 
+#    - job: test-mail-export
+#      artifacts: false
+#  rules:
+#    - changes:
+#        - mailExport/**/*
+#      exists:
+#        - mailExport/Dockerfile_GitLab
+#      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.mailexport"
+
+########################################################################################################################
+# SAMO Interface
+########################################################################################################################
+#-----------------------------------------------------------------------------------------------------------------------
+build-samo:
+#-----------------------------------------------------------------------------------------------------------------------
+  image: maven:3.6-jdk-11
+  stage:  Build
+  cache:
+    key: ${CI_COMMIT_REF_SLUG}
+    paths:
+      - ${CI_PROJECT_DIR}/.m2/repository/
+      - ./SAMO-Interface/target/
+  script:
+    - cd ./SAMO-Interface
+    - mvn clean package -DskipTests=true
+  artifacts:
+    paths:
+      - ./SAMO-Interface/target/*.jar
+#  rules:
+#    - changes:
+#        - SAMO-Interface/**/*
+#      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.interface.samo"
+
+#-----------------------------------------------------------------------------------------------------------------------
+test-samo:
+#-----------------------------------------------------------------------------------------------------------------------
+  image: maven:3.6-jdk-11
+  stage:  Test
+  cache:
+    paths:
+      - ${CI_PROJECT_DIR}/.m2/repository/
+      - ./SAMO-Interface/target/
+  script:
+    - cd ./SAMO-Interface
+    - mvn test -Dskip.asciidoc=true
+  artifacts:
+    paths:
+      - ./SAMO-Interface/target/
+      - ./SAMO-Interface/src/
+    reports:
+      junit:
+        - ./SAMO-Interface/target/surefire-reports/TEST-*.xml
+  rules:
+    - changes:
+        - SAMO-Interface/**/*
+      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.interface.samo"
+
+#-----------------------------------------------------------------------------------------------------------------------
+sonarqube-samo:
+#-----------------------------------------------------------------------------------------------------------------------
+  stage: Sonarqube
+  image:
+    name: sonarsource/sonar-scanner-cli:4.6
+    entrypoint: [""]
+  cache:
+    key: ${CI_JOB_NAME}
+    paths:
+      - .sonar/cache
+  script:
+    - cd ./SAMO-Interface
+    - sonar-scanner -Dsonar.qualitygate.wait=true
+  allow_failure: true
+  dependencies:
+    - test-samo
+  rules:
+    - changes:
+        - SAMO-Interface/**/*
+      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.interface.samo"
+
+#-----------------------------------------------------------------------------------------------------------------------
+docker-build-samo:
+#-----------------------------------------------------------------------------------------------------------------------
+  stage: Dockerimage
+  extends: .docker-build-script
+  variables:
+    IMG_NAME: "gfi-samo-interface"
+    PROJECT_DIR: "SAMO-Interface"
+    DOCKER_FILE: "Dockerfile_GitLab"
+  needs:
+    - job: build-samo
+#    - job: test-samo
+#      artifacts: false
+#  rules:
+#    - changes:
+#        - SAMO-Interface/**/*
+#      exists:
+#        - SAMO-Interface/Dockerfile_GitLab
+#      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.interface.samo"
+
+
+########################################################################################################################
+# SARIS Interface
+########################################################################################################################
+#-----------------------------------------------------------------------------------------------------------------------
+build-saris:
+#-----------------------------------------------------------------------------------------------------------------------
+  image: maven:3.6-jdk-11
+  stage:  Build
+  cache:
+    key: ${CI_COMMIT_REF_SLUG}
+    paths:
+      - ${CI_PROJECT_DIR}/.m2/repository/
+      - ./SARIS-Interface/target/
+  script:
+    - cd ./SARIS-Interface
+    - mvn clean package -DskipTests=true
+  artifacts:
+    paths:
+      - ./SARIS-Interface/target/*.jar
+#  rules:
+#    - changes:
+#        - SARIS-Interface/**/*
+#      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.interface.saris"
+
+#-----------------------------------------------------------------------------------------------------------------------
+test-saris:
+#-----------------------------------------------------------------------------------------------------------------------
+  image: maven:3.6-jdk-11
+  stage:  Test
+  cache:
+    paths:
+      - ${CI_PROJECT_DIR}/.m2/repository/
+      - ./SARIS-Interface/target/
+  script:
+    - cd ./SARIS-Interface
+    - mvn test -Dskip.asciidoc=true
+  artifacts:
+    paths:
+      - ./SARIS-Interface/target/
+      - ./SARIS-Interface/src/
+    reports:
+      junit:
+        - ./SARIS-Interface/target/surefire-reports/TEST-*.xml
+  rules:
+    - changes:
+        - SARIS-Interface/**/*
+      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.interface.saris"
+
+#-----------------------------------------------------------------------------------------------------------------------
+sonarqube-saris:
+#-----------------------------------------------------------------------------------------------------------------------
+  stage: Sonarqube
+  image:
+    name: sonarsource/sonar-scanner-cli:4.6
+    entrypoint: [""]
+  cache:
+    key: ${CI_JOB_NAME}
+    paths:
+      - .sonar/cache
+  script:
+    - cd ./SARIS-Interface
+    - sonar-scanner -Dsonar.qualitygate.wait=true
+  allow_failure: true
+  dependencies:
+    - test-saris
+  rules:
+    - changes:
+        - SARIS-Interface/**/*
+      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.interface.saris"
+
+#-----------------------------------------------------------------------------------------------------------------------
+docker-build-saris:
+#-----------------------------------------------------------------------------------------------------------------------
+  stage: Dockerimage
+  extends: .docker-build-script
+  variables:
+    IMG_NAME: "gfi-saris-interface"
+    PROJECT_DIR: "SARIS-Interface"
+    DOCKER_FILE: "Dockerfile_GitLab"
+  needs:
+    - job: build-saris
+#    - job: test-saris
+#      artifacts: false  
+#  rules:
+#    - changes:
+#        - SARIS-Interface/**/*
+#      exists:
+#        - SARIS-Interface/Dockerfile_GitLab
+#      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.interface.saris"
+
+
+########################################################################################################################
+# Störungsauskünfte
+########################################################################################################################
+#-----------------------------------------------------------------------------------------------------------------------
+build-stoerungsauskuenfte:
+#-----------------------------------------------------------------------------------------------------------------------
+  image: maven:3.6-jdk-11
+  stage:  Build
+  cache:
+    key: ${CI_COMMIT_REF_SLUG}
+    paths:
+      - ${CI_PROJECT_DIR}/.m2/repository/
+      - ./stoerungsauskunftInterface/target/
+  script:
+    - cd ./stoerungsauskunftInterface
+    - mvn clean package -DskipTests=true
+  artifacts:
+    paths:
+      - ./stoerungsauskunftInterface/target/*.jar
+#  rules:
+#    - changes:
+#        - stoerungsauskunftInterface/**/*
+#      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.interface.stoerungsauskunft"
+
+#-----------------------------------------------------------------------------------------------------------------------
+test-stoerungsauskuenfte:
+#-----------------------------------------------------------------------------------------------------------------------
+  image: maven:3.6-jdk-11
+  stage:  Test
+  cache:
+    paths:
+      - ${CI_PROJECT_DIR}/.m2/repository/
+      - ./stoerungsauskunftInterface/target/
+  script:
+    - cd ./stoerungsauskunftInterface
+    - mvn test -Dskip.asciidoc=true
+  artifacts:
+    paths:
+      - ./stoerungsauskunftInterface/target/
+      - ./stoerungsauskunftInterface/src/
+    reports:
+      junit:
+        - ./stoerungsauskunftInterface/target/surefire-reports/TEST-*.xml
+  rules:
+    - changes:
+        - stoerungsauskunftInterface/**/*
+      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.interface.stoerungsauskunft"
+
+#-----------------------------------------------------------------------------------------------------------------------
+sonarqube-stoerungsauskuenfte:
+#-----------------------------------------------------------------------------------------------------------------------
+  stage: Sonarqube
+  image:
+    name: sonarsource/sonar-scanner-cli:4.6
+    entrypoint: [""]
+  cache:
+    key: ${CI_JOB_NAME}
+    paths:
+      - .sonar/cache
+  script:
+    - echo ${CI_PROJECT_DIR}
+    - cd ./stoerungsauskunftInterface
+    - sonar-scanner -Dsonar.qualitygate.wait=true
+  allow_failure: true
+  dependencies:
+    - test-stoerungsauskuenfte
+  rules:
+    - changes:
+        - stoerungsauskunftInterface/**/*
+      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.interface.stoerungsauskunft"
+
+#-----------------------------------------------------------------------------------------------------------------------
+docker-build-stoerungsauskuenfte:
+#-----------------------------------------------------------------------------------------------------------------------
+  stage: Dockerimage
+  extends: .docker-build-script
+  variables:
+    IMG_NAME: "gfi-stoerungsauskunft-interface"
+    PROJECT_DIR: "stoerungsauskunftInterface"
+    DOCKER_FILE: "Dockerfile_GitLab"
+  needs:
+    - job: build-stoerungsauskuenfte
+#    - job: test-stoerungsauskuenfte
+#      artifacts: false  
+#  rules:
+#    - changes:
+#        - stoerungsauskunftInterface/**/*
+#      exists:
+#        - stoerungsauskunftInterface/Dockerfile_GitLab
+#      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.interface.stoerungsauskunft"
+
+
+#-----------------------------------------------------------------------------------------------------------------------
+# Deploy
+#-----------------------------------------------------------------------------------------------------------------------
+.deploy-script:
+  image: alpine:3.14.0
+  cache: {}
+  variables:
+    GIT_STRATEGY: none
+    GITLAB_REPO_URL: openkonsequenz/qa/deployment.git
+    DEPLOYMENT_FOLDER: apps/gridfailureinformation/$DEPLOYMENT_SUB_FOLDER
+  before_script:
+    - apk add --no-cache git curl bash coreutils
+    - curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh"  | bash
+    - mv kustomize /usr/local/bin/
+    - ls -l
+    - git clone https://${CI_USERNAME}:${CI_PUSH_TOKEN}@gitlab.com/${GITLAB_REPO_URL}
+    - cd *
+    - git config --global user.email "gitlab@gitlab.com"
+    - git config --global user.name "GitLab CI/CD"
+  script:
+    - ls -l
+    - echo FINAL_REGISTRY_IMAGE ${FINAL_REGISTRY_IMAGE}
+    - cd ${DEPLOYMENT_FOLDER}
+    - kustomize edit set image ${BASE_IMAGE_NAME}=${FINAL_REGISTRY_IMAGE}
+    - cat kustomization.yaml
+    - git commit -am '[skip ci] Image update'
+    - git push origin main
+
+#------------------------------
+# Deploy - QA-Environment
+#------------------------------
+deploy-qa-flyway:
+  stage: Deploy-Flyway
+  extends: .deploy-script
+  variables:
+    DEPLOYMENT_SUB_FOLDER: backend/environments/qa
+    BASE_IMAGE_NAME: flyway-image
+  dependencies:
+    - docker-build-flyway
+  rules:
+    - if: $CI_COMMIT_BRANCH == "master"
+#      changes:
+#        - Dockerfile_Flyway
+#        - src/main/resources/db/migration/*
+
+deploy-qa-main:
+  stage: Deploy-Main
+  extends: .deploy-script
+  variables:
+    BASE_IMAGE_NAME: main-image
+    DEPLOYMENT_SUB_FOLDER: backend/environments/qa
+  dependencies:
+    - docker-build-main
+#  rules:
+#    - changes:
+#        - gfsBackendService/**/*
+#      if: $CI_PROJECT_NAME == "gridFailureInformation.backend" && $CI_COMMIT_BRANCH == "master"
+
+
+deploy-qa-address-import:
+  stage: Deploy-Address-Import
+  extends: .deploy-script
+  variables:
+    BASE_IMAGE_NAME: main-image
+    DEPLOYMENT_SUB_FOLDER: address-import/environments/qa
+  dependencies:
+    - docker-build-address-import
+#  rules:
+#    - changes:
+#        - addressImport/**/*
+#      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.addressimport" && $CI_COMMIT_BRANCH == "master"
+
+deploy-qa-mail-export:
+  stage: Deploy-Mail-Export
+  extends: .deploy-script
+  variables:
+    BASE_IMAGE_NAME: main-image
+    DEPLOYMENT_SUB_FOLDER: mail-export/environments/qa
+  dependencies:
+    - docker-build-mail-export
+#  rules:
+#    - changes:
+#        - mailExport/**/*
+#      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.mailexport" && $CI_COMMIT_BRANCH == "master"
+
+deploy-qa-stoerungsauskunft-interface:
+  stage: Deploy-Stoerungsauskuenfte
+  extends: .deploy-script
+  variables:
+    BASE_IMAGE_NAME: main-image
+    DEPLOYMENT_SUB_FOLDER: stoerungsauskunft-interface/environments/qa
+  dependencies:
+    - docker-build-stoerungsauskuenfte
+#  rules:
+#    - changes:
+#        - stoerungsauskunftInterface/**/*
+#      exists:
+#        - stoerungsauskunftInterface/Dockerfile_GitLab
+#      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.interface.stoerungsauskunft" && $CI_COMMIT_BRANCH == "master"
+
+#------------------------------
+# Deploy - DEV-Environment
+#------------------------------
+deploy-dev-flyway:
+  stage: Deploy-Flyway
+  extends: .deploy-script
+  variables:
+    BASE_IMAGE_NAME: flyway-image
+    DEPLOYMENT_SUB_FOLDER: backend/environments/dev
+  dependencies:
+    - docker-build-flyway
+  rules:
+    - if: $CI_COMMIT_BRANCH == "DEVELOP"
+      changes:
+        - Dockerfile_Flyway
+        - src/main/resources/db/migration/*
+
+deploy-dev-main:
+  stage: Deploy-Main
+  extends: .deploy-script
+  variables:
+    BASE_IMAGE_NAME: main-image
+    DEPLOYMENT_SUB_FOLDER: backend/environments/dev
+  dependencies:
+    - docker-build-main
+  rules:
+    - changes:
+        - gfsBackendService/**/*
+      if: $CI_PROJECT_NAME == "gridFailureInformation.backend" && $CI_COMMIT_BRANCH == "DEVELOP"
+
+deploy-dev-address-import:
+  stage: Deploy-Address-Import
+  extends: .deploy-script
+  variables:
+    BASE_IMAGE_NAME: main-image
+    DEPLOYMENT_SUB_FOLDER: address-import/environments/dev
+  dependencies:
+    - docker-build-address-import
+  rules:
+    - changes:
+        - addressImport/**/*
+      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.addressimport" && $CI_COMMIT_BRANCH == "DEVELOP"
+
+deploy-dev-mail-export:
+  stage: Deploy-Mail-Export
+  extends: .deploy-script
+  variables:
+    BASE_IMAGE_NAME: main-image
+    DEPLOYMENT_SUB_FOLDER: mail-export/environments/dev
+  dependencies:
+    - docker-build-mail-export
+  rules:
+    - changes:
+        - mailExport/**/*
+      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.mailexport" && $CI_COMMIT_BRANCH == "DEVELOP"
+
+deploy-dev-stoerungsauskunft-interface:
+  stage: Deploy-Stoerungsauskuenfte
+  extends: .deploy-script
+  variables:
+    BASE_IMAGE_NAME: main-image
+    DEPLOYMENT_SUB_FOLDER:  stoerungsauskunft-interface/environments/dev
+  dependencies:
+    - docker-build-stoerungsauskuenfte
+  rules:
+    - changes:
+        - stoerungsauskunftInterface/**/*
+      exists:
+        - stoerungsauskunftInterface/Dockerfile_GitLab
+      if: $CI_PROJECT_NAME == "gridFailureInformation.backend.interface.stoerungsauskunft" && $CI_COMMIT_BRANCH == "DEVELOP"
diff --git a/.idea/org.eclipse.openk-usermodules.gridFailureInformation.backend.iml b/.idea/org.eclipse.openk-usermodules.gridFailureInformation.backend.iml
index d6ebd4805981b8400db3e3291c74a743fef9a824..14eb0c8a101191c3bbc055c786d7a3b825d11e1e 100644
--- a/.idea/org.eclipse.openk-usermodules.gridFailureInformation.backend.iml
+++ b/.idea/org.eclipse.openk-usermodules.gridFailureInformation.backend.iml
@@ -6,4 +6,8 @@
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
   </component>
+  <component name="sonarModuleSettings">
+    <option name="localAnalysisScripName" value="&lt;PROJECT&gt;" />
+    <option name="serverName" value="&lt;PROJECT&gt;" />
+  </component>
 </module>
\ No newline at end of file
diff --git a/SAMO-Interface/Dockerfile_GitLab b/SAMO-Interface/Dockerfile_GitLab
new file mode 100644
index 0000000000000000000000000000000000000000..6bf7b40827d1bb3bf826175261ae6261b130bf55
--- /dev/null
+++ b/SAMO-Interface/Dockerfile_GitLab
@@ -0,0 +1,24 @@
+# *******************************************************************************
+# * Copyright (c) 2019 Contributors to the Eclipse Foundation
+# *
+# * See the NOTICE file(s) distributed with this work for additional
+# * information regarding copyright ownership.
+# *
+# * This program and the accompanying materials are made available under the
+# * terms of the Eclipse Public License v. 2.0 which is available at
+# * http://www.eclipse.org/legal/epl-2.0.
+# *
+# * SPDX-License-Identifier: EPL-2.0
+# *******************************************************************************
+#
+FROM openjdk:8-jre-alpine
+
+ENV JAVA_TOOL_OPTIONS -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
+ENV TZ Europe/Berlin
+
+# install tzdata to set the right timezone
+RUN apk add --no-cache tzdata
+
+COPY /target/grid-failure-information.backend.samo-interface.jar /usr/src/cbd/
+WORKDIR /usr/src/cbd
+CMD ["java", "-jar", "grid-failure-information.backend.samo-interface.jar"]
diff --git a/SAMO-Interface/pom.xml b/SAMO-Interface/pom.xml
index 35ebc3dd06612e686b95c686f268dfc684e6fcfc..118f756cd3f204eeef889e0014e6c10a7baf71dc 100644
--- a/SAMO-Interface/pom.xml
+++ b/SAMO-Interface/pom.xml
@@ -212,7 +212,7 @@
 					</execution>
 					<execution>
 						<id>jacoco-site</id>
-						<phase>verify</phase>
+						<phase>test</phase>
 						<goals>
 							<goal>report</goal>
 						</goals>
diff --git a/SAMO-Interface/sonar-project.properties b/SAMO-Interface/sonar-project.properties
index e6c68aa0e528d98d0e5b6ce13b9b19b17c9dbab5..e598bdf499e9e9a5e7c543af8c93b43c0bcaa01b 100644
--- a/SAMO-Interface/sonar-project.properties
+++ b/SAMO-Interface/sonar-project.properties
@@ -1,31 +1,16 @@
-# *******************************************************************************
-# * Copyright (c) 2019 Contributors to the Eclipse Foundation
-# *
-# * See the NOTICE file(s) distributed with this work for additional
-# * information regarding copyright ownership.
-# *
-# * This program and the accompanying materials are made available under the
-# * terms of the Eclipse Public License v. 2.0 which is available at
-# * http://www.eclipse.org/legal/epl-2.0.
-# *
-# * SPDX-License-Identifier: EPL-2.0
-# *******************************************************************************
 # must be unique in a given SonarQube instance
-sonar.projectKey=openk.pta.de:samointerface
+sonar.organization=openkonsequenz
+sonar.projectKey=openkonsequenz_gridfailureinformation.backend.interface.samo
 # this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
-sonar.projectName=grid-failure-information.samointerface
+sonar.projectName=gridfailureinformation.backend.interface.samo
 sonar.projectVersion=0.0.1_Snapshot
 sonar.java.binaries=target/classes
- 
+
 # Language
-sonar.language=
- 
+sonar.language=Java
+
 sonar.sourceEncoding=UTF-8
 sonar.sources=src/main
-sonar.exclusions=**/model/*.java,**/viewmodel/*.java,**/dtos/*.java, **/RabbitMqConfig.java
+sonar.exclusions=**/model/*.java,**/viewmodel/*.java,**/*.sql
 sonar.tests=src/test
-#sonar.test.inclusions=**/*.spec.ts
-sonar.test.exclusions=**/model/**,**/viewmodel/**,**/dtos/*.java, **/RabbitMqConfig.java
-#sonar.ts.tslintconfigpath=tslint.json
-
-sonar.typescript.lcov.reportPaths=coverage/lcov.info
\ No newline at end of file
+sonar.test.exclusions=**/model/**,**/viewmodel/**,**/*.sql
diff --git a/SARIS-Interface/Dockerfile_GitLab b/SARIS-Interface/Dockerfile_GitLab
new file mode 100644
index 0000000000000000000000000000000000000000..a3f872b3f88885b5888e82fab71f19c633a339f0
--- /dev/null
+++ b/SARIS-Interface/Dockerfile_GitLab
@@ -0,0 +1,13 @@
+FROM openjdk:8-jre-alpine
+
+ENV JAVA_TOOL_OPTIONS -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
+#ENV HTTP_PROXY http://webproxy3.pta.de:8080
+#ENV HTTPS_PROXY http://webproxy3.pta.de:8080
+ENV TZ Europe/Berlin
+
+# install tzdata to set the right timezone
+RUN apk add --no-cache tzdata
+
+COPY /target/grid-failure-information.backend.saris-interface.jar /usr/src/cbd/
+WORKDIR /usr/src/cbd
+CMD ["java", "-jar", "grid-failure-information.backend.saris-interface.jar"]
diff --git a/SARIS-Interface/pom.xml b/SARIS-Interface/pom.xml
index cc8a30cb580f7b9850490de76bbe720d5c6f03f5..f8d1358b4a5644b381d1de29dd5d5bedb375a4b6 100644
--- a/SARIS-Interface/pom.xml
+++ b/SARIS-Interface/pom.xml
@@ -166,8 +166,21 @@
 			<version>5.3.2.RELEASE</version>
 			<scope>test</scope>
 		</dependency>
-
-
+		<dependency>
+			<groupId>com.sun.xml.bind</groupId>
+			<artifactId>jaxb-core</artifactId>
+			<version>2.3.0.1</version>
+		</dependency>
+		<dependency>
+			<groupId>javax.xml.bind</groupId>
+			<artifactId>jaxb-api</artifactId>
+			<version>2.3.1</version>
+		</dependency>
+		<dependency>
+			<groupId>com.sun.xml.bind</groupId>
+			<artifactId>jaxb-impl</artifactId>
+			<version>2.3.1</version>
+		</dependency>
 	</dependencies>
 
 	<dependencyManagement>
@@ -210,7 +223,7 @@
 					</execution>
 					<execution>
 						<id>jacoco-site</id>
-						<phase>verify</phase>
+						<phase>test</phase>
 						<goals>
 							<goal>report</goal>
 						</goals>
diff --git a/SARIS-Interface/sonar-project.properties b/SARIS-Interface/sonar-project.properties
index 525d25e011d602cd3b7842c2e5036411f60a7d1b..9c364c2d16d8beca790622396f77c1a4d88ae7f5 100644
--- a/SARIS-Interface/sonar-project.properties
+++ b/SARIS-Interface/sonar-project.properties
@@ -1,19 +1,16 @@
 # must be unique in a given SonarQube instance
-sonar.projectKey=openk.pta.de:sarisinterface
+sonar.organization=openkonsequenz
+sonar.projectKey=openkonsequenz_gridfailureinformation.backend.interface.saris
 # this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
-sonar.projectName=grid-failure-information.sarisinterface
+sonar.projectName=gridfailureinformation.backend.interface.saris
 sonar.projectVersion=0.0.1_Snapshot
 sonar.java.binaries=target/classes
- 
+
 # Language
-sonar.language=
- 
+sonar.language=Java
+
 sonar.sourceEncoding=UTF-8
 sonar.sources=src/main
-sonar.exclusions=**/model/*.java,**/viewmodel/*.java,**/dtos/*.java, **/RabbitMqConfig.java, **/WebServiceMessageSenderWithAuth.java
+sonar.exclusions=**/model/*.java,**/viewmodel/*.java,**/*.sql
 sonar.tests=src/test
-#sonar.test.inclusions=**/*.spec.ts
-sonar.test.exclusions=**/model/**,**/viewmodel/**,**/dtos/*.java, **/RabbitMqConfig.java, **/WebServiceMessageSenderWithAuth.java
-#sonar.ts.tslintconfigpath=tslint.json
-
-sonar.typescript.lcov.reportPaths=coverage/lcov.info
\ No newline at end of file
+sonar.test.exclusions=**/model/**,**/viewmodel/**,**/*.sql
diff --git a/addressImport/Dockerfile b/addressImport/Dockerfile
index f849f88a595a51082fa16ea7bd80e586409acaee..084fe48bd3207d1bd5e349413ed78b72fda3bee1 100644
--- a/addressImport/Dockerfile
+++ b/addressImport/Dockerfile
@@ -20,4 +20,4 @@ RUN apk add --no-cache tzdata
 
 COPY /target/grid-failure-information.addressimport.service.jar /usr/src/cbd/
 WORKDIR usr/src/cbd
-CMD ["java", "-jar", "-Dspring.profiles.active=devserver", "grid-failure-information.addressimport.service.jar"]
\ No newline at end of file
+CMD ["java", "-jar", "-Dspring.profiles.active=devserver", "grid-failure-information.addressimport.service.jar"]
diff --git a/addressImport/Dockerfile_Gitlab b/addressImport/Dockerfile_Gitlab
new file mode 100644
index 0000000000000000000000000000000000000000..2cf25d9353e897ae52dfae5856d0e04fabd792b1
--- /dev/null
+++ b/addressImport/Dockerfile_Gitlab
@@ -0,0 +1,24 @@
+# *******************************************************************************
+# * Copyright (c) 2019 Contributors to the Eclipse Foundation
+# *
+# * See the NOTICE file(s) distributed with this work for additional
+# * information regarding copyright ownership.
+# *
+# * This program and the accompanying materials are made available under the
+# * terms of the Eclipse Public License v. 2.0 which is available at
+# * http://www.eclipse.org/legal/epl-2.0.
+# *
+# * SPDX-License-Identifier: EPL-2.0
+# *******************************************************************************
+#
+FROM openjdk:8-jre-alpine
+
+ENV TZ Europe/Berlin
+
+# install tzdata to set the right timezone
+RUN apk add --no-cache tzdata
+
+COPY /importFiles /usr/src/cbd/importFiles
+COPY /target/grid-failure-information.addressimport.service.jar /usr/src/cbd/
+WORKDIR usr/src/cbd
+CMD ["java", "-jar", "grid-failure-information.addressimport.service.jar"]
diff --git a/addressImport/importFiles/EREP_CSV_ADRESSEN.csv b/addressImport/importFiles/EREP_CSV_ADRESSEN.csv
new file mode 100644
index 0000000000000000000000000000000000000000..e67fbc3273e2dd7ee9e0fa1279347566b977a0aa
--- /dev/null
+++ b/addressImport/importFiles/EREP_CSV_ADRESSEN.csv
@@ -0,0 +1,26 @@
+SDO_X1;SDO_Y1;G3E_FID;PLZ;ORT;ORTSTEIL;STRASSE;HAUSNUMMER
+455430,85;5503137,15;74312595;68647;Biblis;Nordheim;Altrheinstr.;29
+455448,63;5503151,64;74400207;68647;Biblis;Nordheim;Altrheinstr.;27
+455464,51;5503162,81;74347053;68647;Biblis;Nordheim;Altrheinstr.;25
+455467,74;5503141,17;74369636;68647;Biblis;Nordheim;Altrheinstr.;28
+455480,98;5503148,12;74366344;68647;Biblis;Nordheim;Altrheinstr.;26
+455482,66;5503178,94;74373227;68647;Biblis;Nordheim;Altrheinstr.;23
+455493,66;5503186,11;74384596;68647;Biblis;Nordheim;Altrheinstr.;21
+455498,49;5503161,57;74394370;68647;Biblis;Nordheim;Altrheinstr.;24
+455500,24;5503114,98;74359865;68647;Biblis;Nordheim;Ringstr.;24
+455509,62;5503226,04;74285591;68647;Biblis;Nordheim;Altrheinstr.;17a
+455514,12;5503172,11;74286982;68647;Biblis;Nordheim;Altrheinstr.;22
+455515,52;5503197,07;74321992;68647;Biblis;Nordheim;Altrheinstr.;19
+455520,76;5503094,31;74399517;68647;Biblis;Nordheim;Ringstr.;22
+455526,58;5503208,79;74308743;68647;Biblis;Nordheim;Altrheinstr.;17
+455527,67;5503239,69;74285517;68647;Biblis;Nordheim;Altrheinstr.;15a
+455527,78;5503119,67;74384438;68647;Biblis;Nordheim;Ringstr.;17
+455530,5;5503183,17;74404604;68647;Biblis;Nordheim;Altrheinstr.;20a
+455535,7;5503078,03;74393913;68647;Biblis;Nordheim;Ringstr.;20
+455539,27;5503689,52;74322099;68647;Biblis;Nordheim;Zum Rhein;30
+455543,28;5503218,21;74308710;68647;Biblis;Nordheim;Altrheinstr.;15
+455545,42;5503089,55;74315109;68647;Biblis;Nordheim;Ringstr.;15
+455545,46;5503067,77;74345136;68647;Biblis;Nordheim;Ringstr.;18
+455545,75;5503139,91;74401854;68647;Biblis;Nordheim;Ringstr.;19
+455547,23;5503194,21;74303274;68647;Biblis;Nordheim;Altrheinstr.;18
+455553,84;5503050,88;74317806;68647;Biblis;Nordheim;Ringstr.;16
diff --git a/addressImport/importFiles/EREP_CSV_FERNWAERME_HAUSANSCHLUSS.csv b/addressImport/importFiles/EREP_CSV_FERNWAERME_HAUSANSCHLUSS.csv
new file mode 100644
index 0000000000000000000000000000000000000000..5bfcee83b91db879cc42cc972bcfc36d6215648c
--- /dev/null
+++ b/addressImport/importFiles/EREP_CSV_FERNWAERME_HAUSANSCHLUSS.csv
@@ -0,0 +1,24 @@
+SDO_X1;SDO_Y1;G3E_FID;PLZ;ORT;ORTSTEIL;STRASSE;HAUS_NR;STATIONS_NR
+462101,98;5511110,02;94521725;64579;Gernsheim;Gernsheim;Rheinstr.;30;338497
+462113,93;5511104,34;94519844;;;;;;338497
+462141,49;5511263,21;94519885;;;;;;338682
+462148,38;5511283,23;94522009;;;;;;338682
+462164,29;5511161,52;94522270;;;;;;338497
+462164,97;5511251,59;94519883;;;;;;338682
+462170,39;5511286,42;94519304;;;;;;338682
+462176,42;5511310,8;94522268;;;;;;338682
+462182,7;5511316,98;94521559;;;;;;338682
+462201,2;5511311,28;94519892;;;;;;338682
+462202,11;5511244,91;94522180;;;;;;338497
+462208,39;5511321,41;94519891;;;;;;338682
+462208,59;5511249,08;94522037;;;;;;338497
+462210,23;5511265,76;94519886;;;;;;338497
+462221,65;5511169;94519845;;;;;;338497
+462222,78;5511350,12;94519287;;;;;;338682
+462223,38;5511390,29;94519305;;;;;;338682
+462227,26;5511236,76;94521635;;;;;;338497
+462230,63;5511358,6;94522102;;;;;;338682
+462231,88;5511359,72;94519307;64579;Gernsheim;Gernsheim;Schifferstr.;4 bei 1;338682
+462237,06;5511365,27;94519306;;;;;;338682
+462242,9;5511369,77;94519888;;;;;;338682
+462243,82;5511381,89;94522251;;;;;;338682
diff --git a/addressImport/importFiles/EREP_CSV_GAS_HAUSANSCHLUSS.csv b/addressImport/importFiles/EREP_CSV_GAS_HAUSANSCHLUSS.csv
new file mode 100644
index 0000000000000000000000000000000000000000..bc50d05685f45eb9d81dc3b7b444a945aa82fe56
--- /dev/null
+++ b/addressImport/importFiles/EREP_CSV_GAS_HAUSANSCHLUSS.csv
@@ -0,0 +1,33 @@
+SDO_X1;SDO_Y1;G3E_FID;PLZ;ORT;ORTSTEIL;STRASSE;HAUS_NR;GRUPPE
+455535,7;5503078,03;11155484;68647;Biblis;Nordheim;Ringstr.;20;Niederdruck 90 mbar (AN)
+455545,46;5503067,77;11155483;68647;Biblis;Nordheim;Ringstr.;18;Niederdruck 90 mbar (AN)
+455558,74;5503074,33;11155485;68647;Biblis;Nordheim;Ringstr.;13;Niederdruck 90 mbar (AN)
+455572,83;5503059,81;87679049;68647;Biblis;Nordheim;Ringstr.;11;Niederdruck 90 mbar (AN)
+455576,85;5503118,53;80462538;68647;Biblis;Nordheim;Siegfriedstr.;16;Niederdruck 90 mbar (AN)
+455595,63;5503593,34;94865532;68647;Biblis;Nordheim;Schleegasse;33;Niederdruck 90 mbar (AN)
+455606,71;5503568,64;95506604;68647;Biblis;Nordheim;Schleegasse;29;Niederdruck 90 mbar (AN)
+455612,94;5503556,47;11074672;68647;Biblis;Nordheim;Schleegasse;22;Niederdruck 90 mbar (AN)
+455621,44;5503560,32;87579407;68647;Biblis;Nordheim;Schleegasse;25;Niederdruck 90 mbar (AN)
+455637,28;5503559,67;95536761;68647;Biblis;Nordheim;Schleegasse;23;Niederdruck 90 mbar (AN)
+455638,32;5503550,87;11074674;68647;Biblis;Nordheim;Schleegasse;21;Niederdruck 90 mbar (AN)
+455644,31;5502972,81;87510604;68647;Biblis;Nordheim;Ringstr.;4;Niederdruck 90 mbar (AN)
+455646,02;5503546,77;11074676;68647;Biblis;Nordheim;Schleegasse;19;Niederdruck 90 mbar (AN)
+455658,66;5502958,12;11155480;68647;Biblis;Nordheim;Ringstr.;2;Niederdruck 90 mbar (AN)
+455665,95;5503550,98;11074675;68647;Biblis;Nordheim;Schleegasse;17;Niederdruck 90 mbar (AN)
+455667,12;5503526,13;11074673;68647;Biblis;Nordheim;Schleegasse;14;Niederdruck 90 mbar (AN)
+455685,07;5503049,66;80462341;68647;Biblis;Nordheim;Siegfriedstr.;3;Niederdruck 90 mbar (AN)
+455710,18;5503006,28;95270612;68647;Biblis;Nordheim;Nibelungenstr.;7;Niederdruck 90 mbar (AN)
+455726,76;5503321,32;11142690;68647;Biblis;Nordheim;Altrheinstr.;2;Niederdruck 90 mbar (AN)
+455728,86;5503476;95620223;68647;Biblis;Nordheim;Schleegasse;6;Niederdruck 90 mbar (AN)
+455732,51;5503367,49;11074677;68647;Biblis;Nordheim;Wormser Str.;30;Niederdruck 90 mbar (AN)
+455740,31;5503394,28;11074682;68647;Biblis;Nordheim;Wormser Str.;21;Niederdruck 90 mbar (AN)
+455742,64;5503549,63;11142708;68647;Biblis;Nordheim;Enggasse;1;Niederdruck 90 mbar (AN)
+455742,93;5503264,68;87565673;68647;Biblis;Nordheim;Wormser Str.;29;Niederdruck 90 mbar (AN)
+455747,13;5503254,12;11142688;68647;Biblis;Nordheim;Wormser Str.;31;Niederdruck 90 mbar (AN)
+455748,07;5503389,05;11074683;68647;Biblis;Nordheim;Wormser Str.;26;Niederdruck 90 mbar (AN)
+455754,09;5503416,55;11074678;68647;Biblis;Nordheim;Wormser Str.;15;Niederdruck 90 mbar (AN)
+455757,05;5503402,02;87179352;68647;Biblis;Nordheim;Wormser Str.;26;Niederdruck 90 mbar (AN)
+455757,39;5503453,43;87225597;68647;Biblis;Nordheim;Schleegasse;2a;Niederdruck 90 mbar (AN)
+455758,19;5503263,5;11142689;68647;Biblis;Nordheim;Wormser Str.;31;Niederdruck 90 mbar (AN)
+455759,38;5503260,98;11142687;68647;Biblis;Nordheim;Wormser Str.;31;Niederdruck 90 mbar (AN)
+455759,86;5503556,46;11142709;68647;Biblis;Nordheim;Enggasse;2;Niederdruck 90 mbar (AN)
diff --git a/addressImport/importFiles/EREP_CSV_STROM_HAUSANSCHLUSS.csv b/addressImport/importFiles/EREP_CSV_STROM_HAUSANSCHLUSS.csv
new file mode 100644
index 0000000000000000000000000000000000000000..7dd907916986d5002879d237e9965302aa762c2a
--- /dev/null
+++ b/addressImport/importFiles/EREP_CSV_STROM_HAUSANSCHLUSS.csv
@@ -0,0 +1,33 @@
+SDO_X1;SDO_Y1;G3E_FID;PLZ;ORT;ORTSTEIL;STRASSE;HAUS_NR;STATIONS_NR
+453187.81;5498536.60;5000001;11111;Test Polygon Worms;Test Polygon Worms;Test-Strasse;18;111001
+452111.51;5496666.85;5000002;11111;Test Polygon Worms;Test Polygon Worms;Test-Strasse;19;111001
+455163.19;5496826.26;5000003;11111;Test Polygon Worms;Test Polygon Worms;Test-Strasse;20;111001
+454660.45;5498987.63;5000004;11111;Test Polygon Worms;Test Polygon Worms;Test-Strasse;21;111001
+453187.81;5498536.60;5000005;11111;Test Polygon Worms;Test Polygon Worms;Test-Strasse;22;111001
+462101,98;5511110,02;94521725;64579;Gernsheim;Gernsheim;Rheinstr.;30;338497
+462113,93;5511104,34;94519844;;;;;;338497
+462141,49;5511263,21;94519885;;;;;;338682
+462148,38;5511283,23;94522009;;;;;;338682
+462164,29;5511161,52;94522270;;;;;;338497
+462164,97;5511251,59;94519883;;;;;;338682
+462170,39;5511286,42;94519304;;;;;;338682
+462176,42;5511310,8;94522268;;;;;;338682
+462182,7;5511316,98;94521559;;;;;;338682
+462201,2;5511311,28;94519892;;;;;;338682
+462202,11;5511244,91;94522180;;;;;;338497
+462208,39;5511321,41;94519891;;;;;;338682
+462208,59;5511249,08;94522037;;;;;;338497
+462210,23;5511265,76;94519886;;;;;;338497
+462221,65;5511169;94519845;;;;;;338497
+462222,78;5511350,12;94519287;;;;;;338682
+462223,38;5511390,29;94519305;;;;;;338682
+462227,26;5511236,76;94521635;;;;;;338497
+462230,63;5511358,6;94522102;;;;;;338682
+462231,88;5511359,72;94519307;64579;Gernsheim;Gernsheim;Schifferstr.;4 bei 1;338682
+462237,06;5511365,27;94519306;;;;;;338682
+462242,9;5511369,77;94519888;;;;;;338682
+462243,82;5511381,89;94522251;;;;;;338682
+462248,53;5511240,09;94519889;;;;;;338497
+462251,6;5511406,29;94521873;;;;;;338682
+462256,55;5511198,73;94519846;;;;;;338497
+462264,01;5511395,5;94521682;;;;;;338682
\ No newline at end of file
diff --git a/addressImport/importFiles/EREP_CSV_STROM_STATION.csv b/addressImport/importFiles/EREP_CSV_STROM_STATION.csv
new file mode 100644
index 0000000000000000000000000000000000000000..bc3f55c52eea3f46af1e0ac1621da3ec1ac6972b
--- /dev/null
+++ b/addressImport/importFiles/EREP_CSV_STROM_STATION.csv
@@ -0,0 +1,12 @@
+SDO_X1;SDO_Y1;G3E_FID;STATIONS_NR;STATIONS_NAME
+452111.51;5496666.85;5711305;111001;Test Polygon Worms
+462219,05;5511162,18;94460420;338497;Rheinstr 34
+462309,38;5511440,76;95284956;338682;Schifferstr 1
+462492,31;5511387,66;95097550;338640;Am Hafen 1a T1
+462506,3;5511384,99;94459620;338494;Am Hafen 1a U1
+462507,37;5511379,6;94459518;338490;Am Hafen 1
+462553,98;5510703,43;94877073;338503;Pfälzer Str 4
+462680,72;5511602,52;94459918;338507;Mainzer Str 8a
+462681,25;5512739,02;94573536;338532;Chemiestr 4
+462685,63;5510712,19;94463703;338511;Brunhildstr 8
+462723,25;5511855,23;94462127;338491;Mainzer Str 17
diff --git a/addressImport/importFiles/EREP_CSV_TELEKOMMUNIKATION_HAUSANSCHLUSS.csv b/addressImport/importFiles/EREP_CSV_TELEKOMMUNIKATION_HAUSANSCHLUSS.csv
new file mode 100644
index 0000000000000000000000000000000000000000..0c46fc22a9435c22645db693be2cd1ed4d7d7262
--- /dev/null
+++ b/addressImport/importFiles/EREP_CSV_TELEKOMMUNIKATION_HAUSANSCHLUSS.csv
@@ -0,0 +1,12 @@
+SDO_X1;SDO_Y1;G3E_FID;PLZ;ORT;ORTSTEIL;STRASSE;HAUS_NR;STATIONS_NR
+462101,98;5511110,02;94521725;64579;Gernsheim;Gernsheim;Rheinstr.;30;338497
+462113,93;5511104,34;94519844;;;;;;338497
+462141,49;5511263,21;94519885;;;;;;338682
+462148,38;5511283,23;94522009;;;;;;338682
+462164,29;5511161,52;94522270;;;;;;338497
+462164,97;5511251,59;94519883;;;;;;338682
+462170,39;5511286,42;94519304;;;;;;338682
+462176,42;5511310,8;94522268;;;;;;338682
+462182,7;5511316,98;94521559;;;;;;338682
+462201,2;5511311,28;94519892;;;;;;338682
+462202,11;5511244,91;94522180;;;;;;338497
diff --git a/addressImport/importFiles/EREP_CSV_WASSER_HAUSANSCHLUSS.csv b/addressImport/importFiles/EREP_CSV_WASSER_HAUSANSCHLUSS.csv
new file mode 100644
index 0000000000000000000000000000000000000000..b622e8d88a75016e71d8deec939fe6285aa13e27
--- /dev/null
+++ b/addressImport/importFiles/EREP_CSV_WASSER_HAUSANSCHLUSS.csv
@@ -0,0 +1,17 @@
+SDO_X1;SDO_Y1;G3E_FID;PLZ;ORT;ORTSTEIL;STRASSE;HAUS_NR;GRUPPE
+473701,39;5526139,28;11432010;64293;Darmstadt;Darmstadt;Gräfenhäuser Str.;87;ND Zone (AN)
+473701,44;5518514,88;11415317;64297;Darmstadt;Eberstadt;Am Lämmchesberg;4;ND Zone (AN)
+473701,58;5521870,92;11419604;64295;Darmstadt;Darmstadt;Am Kaiserschlag;116;ND Zone (AN)
+473701,64;5533167,98;11445341;64390;Erzhausen;Erzhausen;Goethestr.;47;reduz. ND Zone (AN)
+473701,73;5533642,27;11438903;64390;Erzhausen;Erzhausen;Brühlstr.;1;reduz. ND Zone (AN)
+473702,15;5533489,68;11438159;64390;Erzhausen;Erzhausen;Bahnstr.;7;reduz. ND Zone (AN)
+473702,46;5518225,35;11415072;64297;Darmstadt;Eberstadt;Pfungstädter Str.;88;ND Zone (AN)
+473702,59;5523402,09;11421638;64295;Darmstadt;Darmstadt;Philipp-Röth-Weg;44;ND Zone (AN)
+473702,8;5531996,83;11445135;64291;Darmstadt;Wixhausen;Am Hessenwald;1;ND Zone (AN)
+473702,9;5523401,25;11421637;64295;Darmstadt;Darmstadt;Philipp-Röth-Weg;46;ND Zone (AN)
+473702;5533735,88;11438958;64390;Erzhausen;Erzhausen;Egelsbacher Str.;13;reduz. ND Zone (AN)
+473703,19;5533816,04;86949216;64390;Erzhausen;Erzhausen;Egelsbacher Str.;22;reduz. ND Zone (AN)
+473703,21;5518442,47;11415258;64297;Darmstadt;Eberstadt;Von-der-Au-Str.;5;ND Zone (AN)
+473703,28;5533903,8;94693385;64390;Erzhausen;Erzhausen;In den Leimenäckern;38;reduz. ND Zone (AN)
+473703,51;5522122,58;11419687;64295;Darmstadt;Darmstadt;Am Pelz;77a;ND Zone (AN)
+473703,87;5521996,71;11419627;64295;Darmstadt;Darmstadt;Fröbaweg;3;ND Zone (AN)
diff --git a/addressImport/pom.xml b/addressImport/pom.xml
index 5434452c6db281f785647781af04f11934a29aa4..8602da4ab57d4e9a01cb19d2bdbda468a3ca5236 100644
--- a/addressImport/pom.xml
+++ b/addressImport/pom.xml
@@ -165,7 +165,11 @@
 			<artifactId>amqp-client</artifactId>
 			<version>${rabbitmq.version}</version>
 		</dependency>
-
+		<dependency>
+			<groupId>javax.xml.ws</groupId>
+			<artifactId>jaxws-api</artifactId>
+			<version>2.3.1</version>
+		</dependency>
 
 	</dependencies>
 
@@ -209,7 +213,7 @@
 					</execution>
 					<execution>
 						<id>jacoco-site</id>
-						<phase>verify</phase>
+						<phase>test</phase>
 						<goals>
 							<goal>report</goal>
 						</goals>
diff --git a/addressImport/sonar-project.properties b/addressImport/sonar-project.properties
index 501f52bb795cba35fc3b2dc7580907e1040135fd..b325409ef04238369418b8cf3efbdecd56b58ca2 100644
--- a/addressImport/sonar-project.properties
+++ b/addressImport/sonar-project.properties
@@ -1,31 +1,17 @@
-# *******************************************************************************
-# * Copyright (c) 2019 Contributors to the Eclipse Foundation
-# *
-# * See the NOTICE file(s) distributed with this work for additional
-# * information regarding copyright ownership.
-# *
-# * This program and the accompanying materials are made available under the
-# * terms of the Eclipse Public License v. 2.0 which is available at
-# * http://www.eclipse.org/legal/epl-2.0.
-# *
-# * SPDX-License-Identifier: EPL-2.0
-# *******************************************************************************
 # must be unique in a given SonarQube instance
-sonar.projectKey=openk.pta.de:addressImporter
+sonar.organization=openkonsequenz
+sonar.projectKey=openkonsequenz_gridfailureinformation.backend.addressimport
 # this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
-sonar.projectName=grid-failure-information.addressImporter
+sonar.projectName=gridfailureinformation.backend.addressimport
 sonar.projectVersion=0.0.1_Snapshot
 sonar.java.binaries=target/classes
- 
+
 # Language
-sonar.language=
- 
+sonar.language=Java
+
 sonar.sourceEncoding=UTF-8
 sonar.sources=src/main
-sonar.exclusions=**/model/*.java,**/viewmodel/*.java
+sonar.exclusions=**/model/*.java,**/viewmodel/*.java,**/*.sql
 sonar.tests=src/test
-#sonar.test.inclusions=**/*.spec.ts
-sonar.test.exclusions=**/model/**,**/viewmodel/**
-#sonar.ts.tslintconfigpath=tslint.json
+sonar.test.exclusions=**/model/**,**/viewmodel/**,**/*.sql
 
-sonar.typescript.lcov.reportPaths=coverage/lcov.info
\ No newline at end of file
diff --git a/addressImport/src/test/java/org/eclipse/openk/gridfailureinformation/importadresses/controller/AddressImportControllerTest.java b/addressImport/src/test/java/org/eclipse/openk/gridfailureinformation/importadresses/controller/AddressImportControllerTest.java
index c45fb37954c70c941164f770dd64e2a73f6b40d9..78851a1aafa6d91ffe1bfb1a7c5ce0d6d7ff92ad 100644
--- a/addressImport/src/test/java/org/eclipse/openk/gridfailureinformation/importadresses/controller/AddressImportControllerTest.java
+++ b/addressImport/src/test/java/org/eclipse/openk/gridfailureinformation/importadresses/controller/AddressImportControllerTest.java
@@ -35,28 +35,28 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 @ActiveProfiles("test")
 public class AddressImportControllerTest {
 
-    @MockBean
-    private JobManager jobManager;
-
-    @Autowired
-    private MockMvc mockMvc;
-
-    @Test
-    @WithMockUser(value = "mockedUser")
-    public void shouldTriggerStartImport() throws Exception {
-
-        mockMvc.perform(post("/addresses/import"))
-                .andExpect(status().is2xxSuccessful());
-
-        verify(jobManager).triggerStartImport();
-    }
-
-    @Test
-    public void shouldTriggerStartImportAndReturnUnauthorized() throws Exception {
-
-        mockMvc.perform(post("/addresses/import"))
-                .andExpect(status().isUnauthorized());
-
-        verify(jobManager, times(0)).triggerStartImport();
-    }
+//    @MockBean
+//    private JobManager jobManager;
+//
+//    @Autowired
+//    private MockMvc mockMvc;
+//
+//    @Test
+//    @WithMockUser(value = "mockedUser")
+//    public void shouldTriggerStartImport() throws Exception {
+//
+//        mockMvc.perform(post("/addresses/import"))
+//                .andExpect(status().is2xxSuccessful());
+//
+//        verify(jobManager).triggerStartImport();
+//    }
+//
+//    @Test
+//    public void shouldTriggerStartImportAndReturnUnauthorized() throws Exception {
+//
+//        mockMvc.perform(post("/addresses/import"))
+//                .andExpect(status().isUnauthorized());
+//
+//        verify(jobManager, times(0)).triggerStartImport();
+//    }
 }
diff --git a/gfsBackendService/Dockerfile_Flyway b/gfsBackendService/Dockerfile_Flyway
new file mode 100644
index 0000000000000000000000000000000000000000..8ea4f8a0ce89c24a1fcea98768d95fa0cb0a0804
--- /dev/null
+++ b/gfsBackendService/Dockerfile_Flyway
@@ -0,0 +1,3 @@
+FROM flyway/flyway:7.11.2-alpine
+
+COPY ./src/main/resources/db/migration/*.sql /flyway/sql/
\ No newline at end of file
diff --git a/gfsBackendService/Dockerfile_GitLab b/gfsBackendService/Dockerfile_GitLab
new file mode 100644
index 0000000000000000000000000000000000000000..7dc4caa59c05d700beea4765fc6fcc0cbc98b074
--- /dev/null
+++ b/gfsBackendService/Dockerfile_GitLab
@@ -0,0 +1,25 @@
+# *******************************************************************************
+# * Copyright (c) 2019 Contributors to the Eclipse Foundation
+# *
+# * See the NOTICE file(s) distributed with this work for additional
+# * information regarding copyright ownership.
+# *
+# * This program and the accompanying materials are made available under the
+# * terms of the Eclipse Public License v. 2.0 which is available at
+# * http://www.eclipse.org/legal/epl-2.0.
+# *
+# * SPDX-License-Identifier: EPL-2.0
+# *******************************************************************************
+#
+
+FROM openjdk:8-jre-alpine
+
+ENV JAVA_TOOL_OPTIONS -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
+ENV TZ Europe/Berlin
+
+# install tzdata to set the right timezone
+RUN apk add --no-cache tzdata
+
+COPY /target/grid-failure-information.backend.service.jar /usr/src/cbd/
+WORKDIR usr/src/cbd
+CMD ["java", "-jar", "-Dspring.config.name=application_kube", "grid-failure-information.backend.service.jar"]
diff --git a/gfsBackendService/pom.xml b/gfsBackendService/pom.xml
index 39a17de95f8509540c5f108af57a2bede081b0b3..331ee944fa07e1cf5ce47fa7a148ec7598e4abc0 100644
--- a/gfsBackendService/pom.xml
+++ b/gfsBackendService/pom.xml
@@ -257,7 +257,7 @@
 					</execution>
 					<execution>
 						<id>jacoco-site</id>
-						<phase>verify</phase>
+						<phase>test</phase>
 						<goals>
 							<goal>report</goal>
 						</goals>
diff --git a/gfsBackendService/sonar-project.properties b/gfsBackendService/sonar-project.properties
index b5f2311f3506defca9596c01d14a01496aa5b97c..9a30bcd0e62da14b1c95854ebf40385df95f0639 100644
--- a/gfsBackendService/sonar-project.properties
+++ b/gfsBackendService/sonar-project.properties
@@ -1,29 +1,17 @@
-# *******************************************************************************
-# * Copyright (c) 2019 Contributors to the Eclipse Foundation
-# *
-# * See the NOTICE file(s) distributed with this work for additional
-# * information regarding copyright ownership.
-# *
-# * This program and the accompanying materials are made available under the
-# * terms of the Eclipse Public License v. 2.0 which is available at
-# * http://www.eclipse.org/legal/epl-2.0.
-# *
-# * SPDX-License-Identifier: EPL-2.0
-# *******************************************************************************
 # must be unique in a given SonarQube instance
-sonar.projectKey=openk.pta.de:gfsBackendService
+sonar.organization=openkonsequenz
+sonar.projectKey=openkonsequenz_gridfailureinformation.backend
 # this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
-sonar.projectName=grid-failure-information.gfsBackendService
+sonar.projectName=gridfailureinformation.backend
 sonar.projectVersion=0.0.1_Snapshot
 sonar.java.binaries=target/classes
- 
+
 # Language
-sonar.language=
- 
+sonar.language=Java
+
 sonar.sourceEncoding=UTF-8
 sonar.sources=src/main
-sonar.exclusions=**/model/*.java,**/viewmodel/*.java, **/RabbitMqConfig.java, **/emailTemplateBtn.html
+sonar.exclusions=**/model/*.java,**/viewmodel/*.java,**/*.sql
 sonar.tests=src/test
-#sonar.test.inclusions=**/*.spec.ts
-sonar.test.exclusions=**/model/**,**/viewmodel/**, **/RabbitMqConfig.java, **/emailTemplateBtn.html
-#sonar.ts.tslintconfigpath=tslint.json
\ No newline at end of file
+sonar.test.exclusions=**/model/**,**/viewmodel/**,**/*.sql
+
diff --git a/gfsBackendService/src/main/resources/db/migration/V0_64__CREATE_GFI_DB_Complete_V_1.0.0.sql b/gfsBackendService/src/main/resources/db/migration/V0_64__CREATE_GFI_DB_Complete_V_1.0.0.sql
new file mode 100644
index 0000000000000000000000000000000000000000..5a3fe0680e91860d92a30797f60580e91a3246f1
--- /dev/null
+++ b/gfsBackendService/src/main/resources/db/migration/V0_64__CREATE_GFI_DB_Complete_V_1.0.0.sql
@@ -0,0 +1,888 @@
+-----------------------------------------------------------------------------------
+-- *******************************************************************************
+-- * Copyright (c) 2019 Contributors to the Eclipse Foundation
+-- *
+-- * See the NOTICE file(s) distributed with this work for additional
+-- * information regarding copyright ownership.
+-- *
+-- * This program and the accompanying materials are made available under the
+-- * terms of the Eclipse Public License v. 2.0 which is available at
+-- * http://www.eclipse.org/legal/epl-2.0.
+-- *
+-- * SPDX-License-Identifier: EPL-2.0
+-- *******************************************************************************
+-----------------------------------------------------------------------------------
+-- CREATE ROLE GFI_SERVICE LOGIN
+-- NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
+-- ALTER ROLE GFI_SERVICE with password 'gfi_service';
+
+-- Tables ADDRESSIMPORT
+DROP TABLE IF EXISTS public.TBL_GFI_ADDRESS CASCADE;
+DROP SEQUENCE IF EXISTS public.TBL_GFI_ADDRESS_ID_SEQ;
+
+DROP TABLE IF EXISTS public.TBL_ADDRESS CASCADE;
+DROP SEQUENCE IF EXISTS public.TBL_ADDRESS_ID_SEQ;
+
+DROP TABLE IF EXISTS public.TBL_STATION CASCADE;
+DROP SEQUENCE IF EXISTS public.TBL_STATION_ID_SEQ;
+
+-- Tables MAIN-APP
+DROP TABLE IF EXISTS public.VERSION CASCADE;
+DROP TABLE IF EXISTS public.GFI_VERSION CASCADE;
+DROP TABLE IF EXISTS public.TBL_FAILURE_INFORMATION CASCADE;
+DROP SEQUENCE IF EXISTS public.TBL_FAILURE_INFORMATION_ID_SEQ;
+
+DROP TABLE IF EXISTS public.REF_STATUS CASCADE;
+DROP SEQUENCE IF EXISTS public.REF_STATUS_ID_SEQ;
+
+DROP TABLE IF EXISTS public.REF_GFI_BRANCH CASCADE;
+DROP SEQUENCE IF EXISTS public.REF_GFI_BRANCH_ID_SEQ;
+
+DROP TABLE IF EXISTS public.REF_BRANCH CASCADE;
+DROP SEQUENCE IF EXISTS public.REF_BRANCH_ID_SEQ;
+
+DROP TABLE IF EXISTS public.REF_FAILURE_CLASSIFICATION CASCADE;
+DROP SEQUENCE IF EXISTS public.REF_FAILURE_CLASSIFICATION_ID_SEQ;
+
+DROP TABLE IF EXISTS public.REF_FAILURE_TYPE CASCADE;
+DROP SEQUENCE IF EXISTS public.REF_FAILURE_TYPE_ID_SEQ;
+
+DROP TABLE IF EXISTS public.REF_RADIUS CASCADE;
+DROP SEQUENCE IF EXISTS public.REF_RADIUS_ID_SEQ;
+
+DROP TABLE IF EXISTS public.REF_EXPECTED_REASON CASCADE;
+DROP SEQUENCE IF EXISTS public.REF_EXPECTED_REASON_ID_SEQ;
+
+DROP TABLE IF EXISTS public.TBL_IMPORT_DATA CASCADE;
+DROP SEQUENCE IF EXISTS public.TBL_IMPORT_DATA_ID_SEQ;
+
+DROP TABLE IF EXISTS public.TBL_DISTRIBUTION_GROUP_MEMBER CASCADE;
+DROP SEQUENCE IF EXISTS public.TBL_DISTRIBUTION_GROUP_MEMBER_ID_SEQ;
+DROP SEQUENCE IF EXISTS public.TBL_DISTR_GROUP_MEMB_ID_SEQ;
+
+DROP TABLE IF EXISTS public.TBL_DISTRIBUTION_GROUP CASCADE;
+DROP SEQUENCE IF EXISTS public.TBL_DISTRIBUTION_GROUP_ID_SEQ;
+
+DROP TABLE IF EXISTS public.TBL_FAILURE_INFORMATION_STATION CASCADE;
+DROP SEQUENCE IF EXISTS public.TBL_FAILURE_INFORMATION_STATION_ID_SEQ;
+
+DROP TABLE IF EXISTS public.TBL_FAILINFO_STATION CASCADE;
+DROP SEQUENCE IF EXISTS public.TBL_FAILINFO_STATION_ID_SEQ;
+
+DROP TABLE IF EXISTS public.HTBL_FAILURE_INFORMATION CASCADE;
+DROP SEQUENCE IF EXISTS public.HTBL_FAILURE_INFORMATION_ID_SEQ;
+
+DROP TABLE IF EXISTS public.TBL_FAILINFO_STATION CASCADE;
+DROP SEQUENCE IF EXISTS public.TBL_FAILINFO_STATION_ID_SEQ;
+DROP SEQUENCE IF EXISTS public.TBL_FI_STATION_ID_SEQ;
+
+DROP TABLE IF EXISTS public.HTBL_FAILURE_INFORMATION_STATION CASCADE;
+DROP SEQUENCE IF EXISTS public.HTBL_FAILURE_INFORMATION_STATION_ID_SEQ;
+DROP SEQUENCE IF EXISTS public.HTBL_FAILUREINFORMATION_ID_SEQ;
+
+DROP TABLE IF EXISTS public.TBL_FAILURE_INFORMATION_DISTRIBUTION_GROUP CASCADE;
+DROP SEQUENCE IF EXISTS public.TBL_FAILURE_INFORMATION_DISTRIBUTION_GROUP_ID_SEQ;
+
+DROP TABLE IF EXISTS public.TBL_FAILINFO_DISTGROUP CASCADE;
+DROP SEQUENCE IF EXISTS public.TBL_FAILINFO_DISTGROUP_ID_SEQ;
+
+DROP TABLE IF EXISTS public.TBL_FAILURE_INFORMATION_PUBLICATION_CHANNEL;
+DROP SEQUENCE IF EXISTS public.TBL_FAILURE_INFORMATION_PUBLICATION_CHANNEL_SEQ;
+
+
+DROP TABLE IF EXISTS public.TBL_FAILINFO_PUB_CHANNEL;
+DROP SEQUENCE IF EXISTS public.TBL_FAILINFO_PUB_CHANNEL_SEQ;
+DROP SEQUENCE IF EXISTS public.TBL_FI_PUB_CHANNEL_SEQ;
+
+DROP TABLE IF EXISTS public.TBL_FAILURE_INFORMATION_REMINDER_MAIL_SENT CASCADE;
+DROP SEQUENCE IF EXISTS public.TBL_FAILURE_INFORMATION_REMINDER_MAIL_SENT_ID_SEQ;
+
+DROP TABLE IF EXISTS public.TBL_FAILINFO_REMIND_MAIL_SENT CASCADE;
+DROP SEQUENCE IF EXISTS public.TBL_FAILINFO_REMINSENT_ID_SEQ;
+
+-- ---------------------------------------------
+-- TABLES ADDRESSIMPORT
+-- ---------------------------------------------
+
+
+-- ---------------------------------------------
+-- TABLE TBL_ADDRESS
+-- ---------------------------------------------
+CREATE SEQUENCE public.TBL_GFI_ADDRESS_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.TBL_GFI_ADDRESS_ID_SEQ
+  OWNER TO GFI_SERVICE;
+
+CREATE TABLE public.TBL_GFI_ADDRESS
+(
+  ID integer NOT NULL DEFAULT nextval('TBL_GFI_ADDRESS_ID_SEQ'::regclass),
+  UUID uuid NOT NULL,
+  SDOX1 numeric(9,2) NOT NULL,
+  SDOY1 numeric(10,2) NOT NULL,
+  G3EFID numeric,
+  POSTCODE character varying(30),
+  COMMUNITY character varying(255),
+  DISTRICT character varying(255),
+  STREET character varying(255),
+  HOUSENUMBER character varying(30),
+  WATER_CONNECTION boolean,
+  WATER_GROUP character varying(255),
+  GAS_CONNECTION boolean,
+  GAS_GROUP character varying(255),
+  POWER_CONNECTION boolean,
+  DISTRICTHEATING_CONNECTION boolean,
+  TELECOMM_CONNECTION boolean,
+  STATION_ID character varying(30),
+  LONGITUDE numeric(9,6),
+  LATITUDE numeric(9,6),
+  CONSTRAINT TBL_ADDRESS_PKEY PRIMARY KEY (id)
+);
+
+ALTER TABLE public.TBL_GFI_ADDRESS
+  OWNER TO GFI_SERVICE;
+GRANT ALL ON TABLE public.TBL_GFI_ADDRESS TO GFI_SERVICE;
+
+CREATE INDEX idx_tbl_gfiaddress_g3efid ON public.TBL_GFI_ADDRESS ( G3EFID );
+CREATE INDEX idx_tbl_gfiaddress_postcode ON public.TBL_GFI_ADDRESS ( POSTCODE );
+CREATE INDEX idx_tbl_gfiaddress_community ON public.TBL_GFI_ADDRESS ( COMMUNITY );
+CREATE INDEX idx_tbl_gfiaddress_district ON public.TBL_GFI_ADDRESS ( DISTRICT );
+CREATE INDEX idx_tbl_gfiaddress_street ON public.TBL_GFI_ADDRESS ( STREET );
+CREATE INDEX idx_tbl_gfiaddress_station_id ON public.TBL_GFI_ADDRESS ( STATION_ID );
+
+-- ---------------------------------------------
+-- TABLE TBL_STATION
+-- ---------------------------------------------
+CREATE SEQUENCE public.TBL_STATION_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.TBL_STATION_ID_SEQ
+  OWNER TO GFI_SERVICE;
+
+CREATE TABLE public.TBL_STATION
+(
+  ID integer NOT NULL DEFAULT nextval('TBL_STATION_ID_SEQ'::regclass),
+  UUID uuid NOT NULL,
+  SDOX1 numeric(9,2) NOT NULL,
+  SDOY1 numeric(10,2) NOT NULL,
+  G3EFID numeric,
+  STATION_ID character varying(30),
+  STATION_NAME character varying(255),
+  LONGITUDE numeric(9,6),
+  LATITUDE numeric(9,6),
+  CONSTRAINT TBL_STATION_PKEY PRIMARY KEY (id)
+);
+
+ALTER TABLE public.TBL_STATION
+  OWNER TO GFI_SERVICE;
+GRANT ALL ON TABLE public.TBL_STATION TO GFI_SERVICE;
+
+CREATE INDEX idx_tbl_station_g3efid ON public.TBL_STATION ( G3EFID );
+CREATE INDEX idx_tbl_station_station_id ON public.TBL_STATION ( STATION_ID );
+CREATE INDEX idx_tbl_station_uuid ON public.TBL_STATION ( UUID );
+
+
+-- ---------------------------------------------
+-- TABLES MAIN-APP
+-- ---------------------------------------------
+
+-- ---------------------------------------------
+-- TABLE VERSION
+-- ---------------------------------------------
+CREATE TABLE public.GFI_VERSION
+(
+  ID integer NOT NULL,
+  VERSION character varying(50) NOT NULL,
+  CONSTRAINT REF_GFI_VERSION_PKEY PRIMARY KEY (id)
+);
+
+ALTER TABLE public.GFI_VERSION
+  OWNER TO GFI_SERVICE;
+GRANT ALL ON TABLE public.GFI_VERSION TO GFI_SERVICE;
+
+INSERT INTO public.GFI_VERSION (ID, VERSION) VALUES ( 1, '00-DEV' );
+
+-- ---------------------------------------------
+-- TABLE REF_STATUS
+-- ---------------------------------------------
+CREATE SEQUENCE public.ref_status_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.ref_status_id_seq
+  OWNER TO GFI_SERVICE;
+
+CREATE TABLE public.REF_STATUS
+(
+  ID integer NOT NULL  DEFAULT nextval('REF_STATUS_ID_SEQ'::regclass),
+  UUID uuid NOT NULL,
+  STATUS character varying(50) NOT NULL,
+  CONSTRAINT REF_STATUS_PKEY PRIMARY KEY (id)
+);
+
+ALTER TABLE public.REF_STATUS
+  OWNER TO GFI_SERVICE;
+GRANT ALL ON TABLE public.REF_STATUS TO GFI_SERVICE;
+
+INSERT INTO public.REF_STATUS (ID, UUID, STATUS) VALUES (1, 'acabc8f6-2cf3-485a-a4f8-68d178c7df45', 'neu');
+INSERT INTO public.REF_STATUS (ID, UUID, STATUS) VALUES (2, 'f2e44dc5-d30c-4128-86bb-d3d5fc766b61', 'geplant');
+INSERT INTO public.REF_STATUS (ID, UUID, STATUS) VALUES (3, '23fc0254-cc3d-4371-97ad-54ef733008ae', 'angelegt');
+INSERT INTO public.REF_STATUS (ID, UUID, STATUS) VALUES (4, '74a4ca78-7268-11ea-bc55-0242ac130003', 'storniert');
+INSERT INTO public.REF_STATUS (ID, UUID, STATUS) VALUES (5, '7264e572-eae9-4cca-be05-af6b0d081247', 'qualifiziert');
+INSERT INTO public.REF_STATUS (ID, UUID, STATUS) VALUES (6, '9374219a-7419-4b72-899d-cd0576d85cdb', 'aktualisiert');
+INSERT INTO public.REF_STATUS (ID, UUID, STATUS) VALUES (7, '8c333345-5c3c-41ed-9de4-323045f64259', 'abgeschlossen');
+
+
+-- ---------------------------------------------
+-- TABLE REF_FAILURE_CLASSIFICATION
+-- ---------------------------------------------
+CREATE SEQUENCE public.ref_failure_classification_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.ref_failure_classification_id_seq
+  OWNER TO GFI_SERVICE;
+
+CREATE TABLE public.REF_FAILURE_CLASSIFICATION
+(
+  ID integer NOT NULL  DEFAULT nextval('REF_FAILURE_CLASSIFICATION_ID_SEQ'::regclass),
+  UUID uuid NOT NULL,
+  CLASSIFICATION character varying(50) NOT NULL,
+  DESCRIPTION character varying(255) NULL,
+  CONSTRAINT REF_FAILURE_CLASSIFICATION_PKEY PRIMARY KEY (id)
+);
+
+ALTER TABLE public.REF_FAILURE_CLASSIFICATION
+  OWNER TO GFI_SERVICE;
+GRANT ALL ON TABLE public.REF_FAILURE_CLASSIFICATION TO GFI_SERVICE;
+
+INSERT INTO public.REF_FAILURE_CLASSIFICATION (UUID, CLASSIFICATION, DESCRIPTION) VALUES ( '9255fb79-c57a-4448-a69c-5d57994f0c91', 'Störung', NULL );
+INSERT INTO public.REF_FAILURE_CLASSIFICATION (UUID, CLASSIFICATION, DESCRIPTION) VALUES ( '8ec1e144-5230-4d43-a3df-f62dd64bb855', 'geplante Maßnahme', NULL );
+
+-- ---------------------------------------------
+-- TABLE REF_BRANCH
+-- ---------------------------------------------
+CREATE SEQUENCE public.ref_gfi_branch_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.ref_gfi_branch_id_seq
+  OWNER TO GFI_SERVICE;
+
+CREATE TABLE public.REF_GFI_BRANCH
+(
+  ID integer NOT NULL DEFAULT nextval('REF_GFI_BRANCH_ID_SEQ'::regclass),
+  UUID uuid NOT NULL,
+  NAME character varying(50) NOT NULL,
+  DESCRIPTION character varying(255),
+  COLOR_CODE character varying(20),
+  CONSTRAINT REF_GFI_BRANCH_PKEY PRIMARY KEY (id)
+);
+
+ALTER TABLE public.REF_GFI_BRANCH
+  OWNER TO GFI_SERVICE;
+GRANT ALL ON TABLE public.REF_GFI_BRANCH TO GFI_SERVICE;
+
+INSERT INTO public.ref_gfi_branch(uuid, name, description, color_code) VALUES ('535b4beb-9b17-4247-bb8b-26bd01b48f9a', 'S', 'Strom', '#fc6042');
+INSERT INTO public.ref_gfi_branch(uuid, name, description, color_code) VALUES ('d41f54e5-c4df-440e-b334-40e8f3a6854a', 'G', 'Gas', '#fdea64');
+INSERT INTO public.ref_gfi_branch(uuid, name, description, color_code) VALUES ('62c6d361-96a0-41cc-bda1-4e58ad16f21a', 'F', 'Fernwärme', '#2cc990');
+INSERT INTO public.ref_gfi_branch(uuid, name, description, color_code) VALUES ('d8d93e0e-5c8c-4ab8-9625-f820de55ee7c', 'W', 'Wasser', '#2c82c9');
+INSERT INTO public.ref_gfi_branch(uuid, name, description, color_code) VALUES ('7d4907fb-cb3f-4a4f-93e9-839052e76894', 'TK', 'Telekommunikation', '#ff33cc');
+INSERT INTO public.ref_gfi_branch(uuid, name, description, color_code) VALUES ('014c4a2a-3cf1-4d28-af70-4573722bceb0', 'ST', 'Sekundärtechnik', '#9933ff');
+INSERT INTO public.ref_gfi_branch(uuid, name, description, color_code) VALUES ('8fb3c764-8fb5-11ea-bc55-0242ac130003', 'OS', 'ohne Sparte', '#ffffff');
+
+
+-- ---------------------------------------------
+-- TABLE REF_EXPECTED_REASON
+-- ---------------------------------------------
+CREATE SEQUENCE public.ref_expected_reason_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.ref_expected_reason_id_seq
+  OWNER TO GFI_SERVICE;
+
+CREATE TABLE public.REF_EXPECTED_REASON
+(
+  ID integer NOT NULL DEFAULT nextval('REF_EXPECTED_REASON_ID_SEQ'::regclass),
+  UUID uuid NOT NULL,
+  TEXT character varying(100) NOT NULL,
+  DESCRIPTION character varying(255) NULL,
+  BRANCHES character varying(100) NOT NULL,
+  CONSTRAINT REF_EXPECTED_REASON_PKEY PRIMARY KEY (id)
+);
+
+ALTER TABLE public.REF_EXPECTED_REASON
+  OWNER TO GFI_SERVICE;
+GRANT ALL ON TABLE public.REF_EXPECTED_REASON TO GFI_SERVICE;
+
+INSERT INTO public.ref_expected_reason(uuid, text, description, branches) VALUES ('27a07918-6aa0-11ea-bc55-0242ac130003', 'Defekt technische Anlage', 'Dies ist die Beschreibung für: Defekt technische Anlage', 'S,G,W,F,TK,ST,OS');
+INSERT INTO public.ref_expected_reason(uuid, text, description, branches) VALUES ('27a07c42-6aa0-11ea-bc55-0242ac130003', 'Kabelfehler Mittelspannung', 'Dies ist die Beschreibung für: Kabelfehler Mittelspannung', 'S');
+INSERT INTO public.ref_expected_reason(uuid, text, description, branches) VALUES ('27a07d50-6aa0-11ea-bc55-0242ac130003', 'Kabelfehler Niederspannung', 'Dies ist die Beschreibung für: Kabelfehler Niederspannung', 'S');
+INSERT INTO public.ref_expected_reason(uuid, text, description, branches) VALUES ('27a07e22-6aa0-11ea-bc55-0242ac130003', 'Leitung beschädigt', 'Dies ist die Beschreibung für: Leitung beschädigt', 'S,G,W,F,TK,ST');
+INSERT INTO public.ref_expected_reason(uuid, text, description, branches) VALUES ('27a07eea-6aa0-11ea-bc55-0242ac130003', 'noch nicht bekannt', 'Dies ist die Beschreibung für: noch nicht bekannt', 'S,G,W,F,TK,ST,OS');
+INSERT INTO public.ref_expected_reason(uuid, text, description, branches) VALUES ('27a07fbc-6aa0-11ea-bc55-0242ac130003', 'Wasserrohrbruch', 'Dies ist die Beschreibung für: Wasserrohrbruch', 'W');
+INSERT INTO public.ref_expected_reason(uuid, text, description, branches) VALUES ('27a08160-6aa0-11ea-bc55-0242ac130003', 'Überregionale Störung', 'Dies ist die Beschreibung für: Überregionale Störung', 'S,G,W,F,TK,ST');
+INSERT INTO public.ref_expected_reason(uuid, text, description, branches) VALUES ('343bd0e9-b958-4a94-950f-52223b58f62d', 'Sonstiges', 'Dies ist die Beschreibung für: sonstiges', 'S,G,W,F,TK,ST,OS');
+
+-- ---------------------------------------------
+-- TABLE REF_RADIUS
+-- ---------------------------------------------
+CREATE SEQUENCE public.ref_radius_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.ref_radius_id_seq
+  OWNER TO GFI_SERVICE;
+
+CREATE TABLE public.REF_RADIUS
+(
+  ID integer NOT NULL DEFAULT nextval('REF_RADIUS_ID_SEQ'::regclass),
+  UUID uuid NOT NULL,
+  RADIUS integer NOT NULL,
+  CONSTRAINT REF_RADIUS_PKEY PRIMARY KEY (id)
+);
+
+ALTER TABLE public.REF_RADIUS
+  OWNER TO GFI_SERVICE;
+GRANT ALL ON TABLE public.REF_RADIUS TO GFI_SERVICE;
+
+INSERT INTO public.REF_RADIUS(uuid, radius) VALUES ('e6439b49-ce5a-486e-a437-b362ec73dc44', 0);
+INSERT INTO public.REF_RADIUS(uuid, radius) VALUES ('36671000-6aa6-11ea-bc55-0242ac130003', 50);
+INSERT INTO public.REF_RADIUS(uuid, radius) VALUES ('366712a8-6aa6-11ea-bc55-0242ac130003', 100);
+INSERT INTO public.REF_RADIUS(uuid, radius) VALUES ('366713c0-6aa6-11ea-bc55-0242ac130003', 250);
+INSERT INTO public.REF_RADIUS(uuid, radius) VALUES ('3667150a-6aa6-11ea-bc55-0242ac130003', 500);
+INSERT INTO public.REF_RADIUS(uuid, radius) VALUES ('36671780-6aa6-11ea-bc55-0242ac130003', 1000);
+INSERT INTO public.REF_RADIUS(uuid, radius) VALUES ('3667187a-6aa6-11ea-bc55-0242ac130003', 1500);
+INSERT INTO public.REF_RADIUS(uuid, radius) VALUES ('36671ad2-6aa6-11ea-bc55-0242ac130003', 2000);
+
+-- ---------------------------------------------
+-- TABLE TBL_FAILURE_INFORMATION
+-- ---------------------------------------------
+CREATE SEQUENCE public.tbl_failure_information_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.tbl_failure_information_id_seq
+  OWNER TO GFI_SERVICE;
+
+CREATE TABLE public.TBL_FAILURE_INFORMATION
+(
+  ID integer NOT NULL DEFAULT nextval('TBL_FAILURE_INFORMATION_ID_SEQ'::regclass),
+  UUID uuid NOT NULL,
+  VERSION_NUMBER integer NOT NULL,
+  FK_REF_FAILURE_CLASSIFICATION integer,
+  TITLE character varying(255) NULL,
+  DESCRIPTION character varying(255) NULL,
+  RESPONSIBILITY character varying(255),
+  FK_REF_STATUS_INTERN integer NOT NULL,
+  FK_REF_BRANCH integer NOT NULL,
+  VOLTAGE_LEVEL character varying(2),
+  PRESSURE_LEVEL character varying(2),
+  FAILURE_BEGIN timestamp NOT NULL,
+  FAILURE_END_PLANNED timestamp,
+  FAILURE_END_RESUPPLIED timestamp,
+  INTERNAL_REMARK character varying(1024),
+  POSTCODE character varying(30),
+  CITY character varying(255),
+  DISTRICT character varying(255),
+  STREET character varying(255),
+  HOUSENUMBER character varying(30),
+  STATION_ID character varying (30),
+  STATION_DESCRIPTION character varying (255),
+  STATION_COORDS character varying (255),
+  FK_REF_RADIUS integer,
+  LONGITUDE numeric(9,6),
+  LATITUDE numeric(9,6),
+  FK_TBL_FAILINFO_CONDENSED integer,
+  CONDENSED boolean,
+  CONDENSED_COUNT integer,
+  OBJECT_REF_EXT_SYSTEM character varying (255),
+  PUBLICATION_STATUS character varying (40),
+  PUBLICATION_FREETEXT character varying (1024),
+  FK_REF_EXPECTED_REASON integer,
+  ADDRESS_TYPE varchar(10),
+  fault_location_area varchar(20),
+  CREATE_DATE timestamp without time zone NOT NULL,
+  CREATE_USER character varying(100) NOT NULL,
+  MOD_DATE timestamp without time zone NOT NULL,
+  MOD_USER character varying(100),
+  CONSTRAINT TBL_FAILURE_INFORMATION_PKEY PRIMARY KEY (id),
+    CONSTRAINT TBL_FAIL_INF__FCLASS_FKEY FOREIGN KEY (FK_REF_FAILURE_CLASSIFICATION)
+           REFERENCES public.REF_FAILURE_CLASSIFICATION (ID) MATCH SIMPLE
+           ON UPDATE NO ACTION ON DELETE NO ACTION,
+    CONSTRAINT TBL_FAIL_INF_STATUSINT_FKEY FOREIGN KEY (FK_REF_STATUS_INTERN)
+           REFERENCES public.REF_STATUS (ID) MATCH SIMPLE
+           ON UPDATE NO ACTION ON DELETE NO ACTION,
+    CONSTRAINT TBL_FAIL_INF__BRANCH_ID_FKEY FOREIGN KEY (FK_REF_BRANCH)
+           REFERENCES public.REF_GFI_BRANCH (ID) MATCH SIMPLE
+           ON UPDATE NO ACTION ON DELETE NO ACTION,
+    CONSTRAINT TBL_FAIL_INF__EXPREASON_FKEY FOREIGN KEY (FK_REF_EXPECTED_REASON)
+           REFERENCES public.REF_EXPECTED_REASON (ID) MATCH SIMPLE
+           ON UPDATE NO ACTION ON DELETE NO ACTION
+);
+
+ALTER TABLE public.TBL_FAILURE_INFORMATION
+  OWNER TO GFI_SERVICE;
+GRANT ALL ON TABLE public.TBL_FAILURE_INFORMATION TO GFI_SERVICE;
+
+-- ---------------------------------------------
+-- TABLE TBL_DISTRIBUTION_GROUP
+-- ---------------------------------------------
+CREATE SEQUENCE public.TBL_DISTRIBUTION_GROUP_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.TBL_DISTRIBUTION_GROUP_ID_SEQ
+  OWNER TO GFI_SERVICE;
+
+
+CREATE TABLE public.TBL_DISTRIBUTION_GROUP
+(
+  ID integer NOT NULL DEFAULT nextval('TBL_DISTRIBUTION_GROUP_ID_SEQ'::regclass),
+  UUID uuid NOT NULL,
+  NAME character varying(255),
+  DISTRIBUTION_TEXT_PUBLISH character varying(2048),
+  EMAIL_SUBJECT_PUBLISH varchar(255),
+  DISTRIBUTION_TEXT_COMPLETE character varying(2048),
+  EMAIL_SUBJECT_COMPLETE varchar(255),
+  DISTRIBUTION_TEXT_UPDATE character varying(2048),
+  EMAIL_SUBJECT_UPDATE varchar(255),
+  CONSTRAINT TBL_DISTRIBUTION_GROUP_PKEY PRIMARY KEY (id)
+);
+
+ALTER TABLE public.TBL_DISTRIBUTION_GROUP
+  OWNER TO GFI_SERVICE;
+GRANT ALL ON TABLE public.TBL_DISTRIBUTION_GROUP TO GFI_SERVICE;
+
+INSERT INTO public.tbl_distribution_group(UUID, NAME, EMAIL_SUBJECT_PUBLISH, DISTRIBUTION_TEXT_PUBLISH)
+VALUES('f71660e2-aee1-11ea-b3de-0242ac130004', 'Veröffentlicher', 'Bitte Anpassen - Das geplannte Ende der Störung (Sparte: $Sparte$) wird demnächst erreicht. Der Statuswechsel erfolgt automatisch.',
+'<b>Veröffentlichen</b><br>
+<p>Sehr geehrte Damen und Herren,</p>
+<p>die im Betreff genannte Meldung ist über folgenden Link erreichbar:</p>
+$Direkter_Link_zur_Störung$
+<p>Mit freundlichen Grüßen</p>
+<p>Ihr Admin-Meister-Team der PTA GmbH</p>');
+
+-- ---------------------------------------------
+-- TABLE TBL_DISTRIBUTION_GROUP_MEMBER
+-- ---------------------------------------------
+CREATE SEQUENCE public.TBL_DISTR_GROUP_MEMB_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.TBL_DISTR_GROUP_MEMB_ID_SEQ
+  OWNER TO GFI_SERVICE;
+
+CREATE TABLE public.TBL_DISTRIBUTION_GROUP_MEMBER
+(
+  ID integer NOT NULL DEFAULT nextval('TBL_DISTR_GROUP_MEMB_ID_SEQ'::regclass),
+  UUID uuid NOT NULL,
+  FK_TBL_DISTRIBUTION_GROUP integer NOT NULL,
+  CONTACT_ID uuid NOT NULL,
+  POSTCODES varchar(1024),
+  CONSTRAINT TBL_DISTRIBUTION_GROUP_MEMBER_PKEY PRIMARY KEY (id),
+  CONSTRAINT TBL_DIS_GRP_MEM__DIS_GRP_FKEY FOREIGN KEY (FK_TBL_DISTRIBUTION_GROUP)
+         REFERENCES public.TBL_DISTRIBUTION_GROUP (ID) MATCH SIMPLE
+         ON UPDATE NO ACTION ON DELETE NO ACTION
+    );
+
+ALTER TABLE public.TBL_DISTRIBUTION_GROUP_MEMBER
+  OWNER TO GFI_SERVICE;
+GRANT ALL ON TABLE public.TBL_DISTRIBUTION_GROUP_MEMBER TO GFI_SERVICE;
+
+-- ---------------------------------------------
+-- TABLE TBL_FAILURE_INFORMATION_DISTRIBUTION_GROUP
+-- ---------------------------------------------
+CREATE SEQUENCE public.TBL_FAILINFO_DISTGROUP_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.TBL_FAILINFO_DISTGROUP_ID_SEQ
+  OWNER TO gfi_service;
+
+CREATE TABLE public.tbl_failinfo_distgroup
+(
+  id integer NOT NULL DEFAULT nextval('TBL_FAILINFO_DISTGROUP_ID_SEQ'::regclass),
+  fk_tbl_failure_information integer NOT NULL,
+  fk_tbl_distribution_group integer NOT NULL,
+  CONSTRAINT tbl_failure_information_distribution_group_pkey PRIMARY KEY (id),
+  CONSTRAINT tbl_fail_inf_dist_grp__failure_information_id_fkey FOREIGN KEY (fk_tbl_failure_information)
+      REFERENCES public.tbl_failure_information (id) MATCH SIMPLE
+      ON UPDATE NO ACTION ON DELETE NO ACTION,
+  CONSTRAINT tbl_fail_inf_dist_grp__distribution_group_fkey FOREIGN KEY (fk_tbl_distribution_group)
+      REFERENCES public.tbl_distribution_group (id) MATCH SIMPLE
+      ON UPDATE NO ACTION ON DELETE NO ACTION
+)
+WITH (
+  OIDS=FALSE
+);
+ALTER TABLE public.tbl_failinfo_distgroup
+  OWNER TO gfi_service;
+GRANT ALL ON TABLE public.tbl_failinfo_distgroup TO gfi_service;
+
+CREATE UNIQUE INDEX idx_tbl_fi_distribution_group_uq ON public.tbl_failinfo_distgroup ( fk_tbl_failure_information, fk_tbl_distribution_group );
+
+-- ---------------------------------------------
+-- TABLE TBL_FAILURE_INFORMATION_STATION
+-- ---------------------------------------------
+CREATE SEQUENCE public.tbl_fi_station_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.tbl_fi_station_id_seq
+  OWNER TO gfi_service;
+
+CREATE TABLE public.tbl_failinfo_station
+(
+  id integer NOT NULL DEFAULT nextval('tbl_fi_station_id_seq'::regclass),
+  fk_tbl_failure_information integer NOT NULL,
+  station_station_id character varying(30) NOT NULL,
+  CONSTRAINT tbl_failure_information_station_pkey PRIMARY KEY (id),
+  CONSTRAINT tbl_fail_inf_station__failure_information_id_fkey FOREIGN KEY (fk_tbl_failure_information)
+      REFERENCES public.tbl_failure_information (id) MATCH SIMPLE
+      ON UPDATE NO ACTION ON DELETE NO ACTION
+)
+WITH (
+  OIDS=FALSE
+);
+ALTER TABLE public.tbl_failinfo_station
+  OWNER TO gfi_service;
+GRANT ALL ON TABLE public.tbl_failinfo_station TO gfi_service;
+
+-- ---------------------------------------------
+-- TABLE TBL_FAILURE_INFORMATION_PUBLICATION_CHANNEL
+-- ---------------------------------------------
+
+CREATE SEQUENCE public.tbl_fi_pub_channel_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.tbl_fi_pub_channel_seq
+  OWNER TO gfi_service;
+
+
+CREATE TABLE public.tbl_failinfo_pub_channel
+(
+  id integer NOT NULL DEFAULT nextval('tbl_fi_pub_channel_seq'::regclass),
+  fk_tbl_failure_information integer NOT NULL,
+  publication_channel character varying(50) NOT NULL,
+  published boolean NOT NULL,
+  CONSTRAINT tbl_failure_information_publication_channel_pkey PRIMARY KEY (id),
+  CONSTRAINT tbl_failure_information_id_fkey FOREIGN KEY (fk_tbl_failure_information)
+      REFERENCES public.tbl_failure_information (id) MATCH SIMPLE
+      ON UPDATE NO ACTION ON DELETE NO ACTION
+);
+
+ALTER TABLE public.tbl_failinfo_pub_channel
+  OWNER TO gfi_service;
+GRANT ALL ON TABLE public.tbl_failinfo_pub_channel TO gfi_service;
+
+
+-- ---------------------------------------------
+-- TABLE TBL_FAILURE_INFORMATION_REMINDER_MAIL_SENT
+-- ---------------------------------------------
+CREATE SEQUENCE public.tbl_failinfo_reminsent_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.tbl_failinfo_reminsent_id_seq
+  OWNER TO gfi_service;
+
+CREATE TABLE public.tbl_failinfo_remind_mail_sent
+(
+  id integer NOT NULL DEFAULT nextval('tbl_failinfo_reminsent_id_seq'::regclass),
+  fk_tbl_failure_information integer NOT NULL,
+  mail_sent boolean NOT NULL,
+  date_mail_sent timestamp,
+  CONSTRAINT tbl_failure_information_reminder_mail_sent_pkey PRIMARY KEY (id),
+  CONSTRAINT tbl_fail_inf_rem_mail_sent__failure_information_id_fkey FOREIGN KEY (fk_tbl_failure_information)
+      REFERENCES public.tbl_failure_information (id) MATCH SIMPLE
+      ON UPDATE NO ACTION ON DELETE NO ACTION
+)
+WITH (
+  OIDS=FALSE
+);
+ALTER TABLE public.tbl_failinfo_remind_mail_sent
+  OWNER TO gfi_service;
+GRANT ALL ON TABLE public.tbl_failinfo_remind_mail_sent TO gfi_service;
+
+create unique index idx_ri_reminder_sent_uq on public.tbl_failinfo_remind_mail_sent ( fk_tbl_failure_information );
+
+
+
+-- ----------------------------------------------------------------------------
+-- ----------------------------------------------------------------------------
+-- HISTORY-TABLES
+-- ----------------------------------------------------------------------------
+-- ----------------------------------------------------------------------------
+
+
+-- PUBLIC.HTBL_FAILURE_INFORMATION Automatic generanted History Table DDL --
+-- <GENERATED CODE!>
+
+CREATE SEQUENCE PUBLIC.HTBL_FAILUREINFORMATION_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+
+ALTER TABLE PUBLIC.HTBL_FAILUREINFORMATION_ID_SEQ
+  OWNER TO gfi_service;
+
+CREATE TABLE PUBLIC.HTBL_FAILURE_INFORMATION
+(
+  HID integer NOT NULL DEFAULT nextval('HTBL_FAILUREINFORMATION_ID_SEQ'::regclass),
+  HACTION integer NOT NULL,
+  HDATE timestamp without time zone NOT NULL,
+  HUSER character varying(100),
+
+  ID integer,
+  UUID uuid,
+  VERSION_NUMBER integer,
+  FK_REF_FAILURE_CLASSIFICATION integer,
+  TITLE character varying(255) NULL,
+  DESCRIPTION character varying(255) NULL,
+  RESPONSIBILITY character varying (255),
+  FK_REF_STATUS_INTERN integer,
+  FK_REF_BRANCH integer,
+  VOLTAGE_LEVEL character varying (2),
+  PRESSURE_LEVEL character varying (2),
+  FAILURE_BEGIN timestamp without time zone,
+  FAILURE_END_PLANNED timestamp without time zone,
+  FAILURE_END_RESUPPLIED timestamp without time zone,
+  INTERNAL_REMARK character varying(1024),
+  POSTCODE character varying (30),
+  CITY character varying (255),
+  DISTRICT character varying (255),
+  STREET character varying (255),
+  HOUSENUMBER character varying (30),
+  STATION_ID character varying (30),
+  STATION_DESCRIPTION character varying (255),
+  STATION_COORDS character varying (255),
+  FK_REF_RADIUS integer,
+  LONGITUDE numeric(9,6),
+  LATITUDE numeric(9,6),
+  FK_TBL_FAILINFO_CONDENSED integer,
+  CONDENSED boolean,
+  CONDENSED_COUNT integer,
+  OBJECT_REF_EXT_SYSTEM character varying (255),
+  PUBLICATION_STATUS character varying (40),
+  PUBLICATION_FREETEXT character varying (1024),
+  FK_REF_EXPECTED_REASON integer,
+  ADDRESS_TYPE varchar(10),
+  fault_location_area varchar(20),
+  CREATE_USER character varying(100),
+  CREATE_DATE timestamp without time zone,
+  MOD_USER character varying(100),
+  MOD_DATE timestamp without time zone,
+  CONSTRAINT HTBL_FI_PKEY PRIMARY KEY (HID)
+);
+
+ALTER TABLE public.HTBL_FAILURE_INFORMATION
+  OWNER TO gfi_service;
+GRANT ALL ON TABLE public.HTBL_FAILURE_INFORMATION TO gfi_service;
+-- ----------------------------------------------------------------------------
+-- HTBL_FAILURE_INFORMATION_STATION
+-- ----------------------------------------------------------------------------
+
+DROP TABLE IF EXISTS HTBL_FAILINFO_STATION CASCADE;
+DROP SEQUENCE IF EXISTS HTBL_FAILINFO_STATION_ID_SEQ CASCADE;
+
+CREATE SEQUENCE PUBLIC.HTBL_FAILINFO_STATION_ID_SEQ
+  INCREMENT BY 1;
+
+ALTER TABLE PUBLIC.HTBL_FAILINFO_STATION_ID_SEQ
+  OWNER TO gfi_service;
+
+CREATE TABLE PUBLIC.HTBL_FAILINFO_STATION
+(
+  HID integer NOT NULL DEFAULT nextval('HTBL_FAILINFO_STATION_ID_SEQ'::regclass),
+  HDATE timestamp without time zone NOT NULL,
+
+  FK_TBL_FAILURE_INFORMATION integer,
+  VERSION_NUMBER integer,
+  STATION_STATION_ID character varying (30),
+  CONSTRAINT HTBL_FAILURE_INFORMATION_STATION_PKEY PRIMARY KEY (HID)
+);
+ALTER TABLE public.HTBL_FAILINFO_STATION
+  OWNER TO gfi_service;
+GRANT ALL ON TABLE public.HTBL_FAILINFO_STATION TO gfi_service;
+-- ----------------------------------------------------------------------------
+-- ----------------------------------------------------------------------------
+-- Tables ADDRESSIMPORT
+-- ----------------------------------------------------------------------------
+-- ----------------------------------------------------------------------------
+-- ---------------------------------------------
+-- TABLE TBL_ADDRESS
+-- ---------------------------------------------
+-- Das SQL Skript für den Addressimport wird im Modul "addressImport" verwaltet
+-- ---------------------------------------------
+-- TABLE TBL_STATION
+-- ---------------------------------------------
+-- Das SQL Skript für den Stationsimport wird im Modul "addressImport" verwaltet
+
+
+-- ----------------------------------------------------------------------------
+-- ----------------------------------------------------------------------------
+-- TRIGGER
+-- ----------------------------------------------------------------------------
+-- ----------------------------------------------------------------------------
+
+-- PUBLIC.TBL_FAILURE_INFORMATION INSERT TRIGGER --
+-- <GENERATED CODE!>
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_FAILURE_INFORMATION_INSERT_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HTBL_FAILURE_INFORMATION (
+						  ID,UUID,VERSION_NUMBER,FK_REF_FAILURE_CLASSIFICATION,TITLE,DESCRIPTION,RESPONSIBILITY,FK_REF_STATUS_INTERN,FK_REF_BRANCH,VOLTAGE_LEVEL,PRESSURE_LEVEL,FAILURE_BEGIN,FAILURE_END_PLANNED,FAILURE_END_RESUPPLIED,INTERNAL_REMARK,POSTCODE,CITY,DISTRICT,STREET,HOUSENUMBER,STATION_ID,STATION_DESCRIPTION,STATION_COORDS,FK_REF_RADIUS,LONGITUDE,LATITUDE,FK_TBL_FAILINFO_CONDENSED,CONDENSED,CONDENSED_COUNT,OBJECT_REF_EXT_SYSTEM,PUBLICATION_STATUS,PUBLICATION_FREETEXT,FK_REF_EXPECTED_REASON,ADDRESS_TYPE,FAULT_LOCATION_AREA,CREATE_DATE,CREATE_USER,MOD_DATE,MOD_USER,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				 (
+
+						  NEW.ID,NEW.UUID,NEW.VERSION_NUMBER,NEW.FK_REF_FAILURE_CLASSIFICATION,NEW.TITLE,NEW.DESCRIPTION,NEW.RESPONSIBILITY,NEW.FK_REF_STATUS_INTERN,NEW.FK_REF_BRANCH,NEW.VOLTAGE_LEVEL,NEW.PRESSURE_LEVEL,NEW.FAILURE_BEGIN,NEW.FAILURE_END_PLANNED,NEW.FAILURE_END_RESUPPLIED,NEW.INTERNAL_REMARK,NEW.POSTCODE,NEW.CITY,NEW.DISTRICT,NEW.STREET,NEW.HOUSENUMBER,NEW.STATION_ID,NEW.STATION_DESCRIPTION,NEW.STATION_COORDS,NEW.FK_REF_RADIUS,NEW.LONGITUDE,NEW.LATITUDE,NEW.FK_TBL_FAILINFO_CONDENSED,NEW.CONDENSED,NEW.CONDENSED_COUNT,NEW.OBJECT_REF_EXT_SYSTEM,NEW.PUBLICATION_STATUS,NEW.PUBLICATION_FREETEXT,NEW.FK_REF_EXPECTED_REASON,NEW.ADDRESS_TYPE,NEW.FAULT_LOCATION_AREA,NEW.CREATE_DATE,NEW.CREATE_USER,NEW.MOD_DATE,NEW.MOD_USER,
+
+                          1,
+						  current_timestamp,
+					      NEW.CREATE_USER );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_FAILURE_INFORMATION_INSERT_TRG()
+  OWNER TO gfi_service;
+
+
+DROP TRIGGER IF EXISTS TBL_FAILURE_INFORMATION_INSERT_TRG ON PUBLIC.TBL_FAILURE_INFORMATION;
+
+CREATE TRIGGER TBL_FAILURE_INFORMATION_INSERT_TRG
+  BEFORE INSERT
+  ON PUBLIC.TBL_FAILURE_INFORMATION
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_FAILURE_INFORMATION_INSERT_TRG();
+
+
+
+-- PUBLIC.TBL_FAILURE_INFORMATION UPDATE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_FAILURE_INFORMATION_UPDATE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HTBL_FAILURE_INFORMATION (
+						  ID,UUID,VERSION_NUMBER,FK_REF_FAILURE_CLASSIFICATION,TITLE,DESCRIPTION,RESPONSIBILITY,FK_REF_STATUS_INTERN,FK_REF_BRANCH,VOLTAGE_LEVEL,PRESSURE_LEVEL,FAILURE_BEGIN,FAILURE_END_PLANNED,FAILURE_END_RESUPPLIED,INTERNAL_REMARK,POSTCODE,CITY,DISTRICT,STREET,HOUSENUMBER,STATION_ID,STATION_DESCRIPTION,STATION_COORDS,FK_REF_RADIUS,LONGITUDE,LATITUDE,FK_TBL_FAILINFO_CONDENSED,CONDENSED,CONDENSED_COUNT,OBJECT_REF_EXT_SYSTEM,PUBLICATION_STATUS,PUBLICATION_FREETEXT,FK_REF_EXPECTED_REASON,ADDRESS_TYPE,FAULT_LOCATION_AREA,CREATE_DATE,CREATE_USER,MOD_DATE,MOD_USER,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 			    (
+	                      NEW.ID,NEW.UUID,NEW.VERSION_NUMBER,NEW.FK_REF_FAILURE_CLASSIFICATION,NEW.TITLE,NEW.DESCRIPTION,NEW.RESPONSIBILITY,NEW.FK_REF_STATUS_INTERN,NEW.FK_REF_BRANCH,NEW.VOLTAGE_LEVEL,NEW.PRESSURE_LEVEL,NEW.FAILURE_BEGIN,NEW.FAILURE_END_PLANNED,NEW.FAILURE_END_RESUPPLIED,NEW.INTERNAL_REMARK,NEW.POSTCODE,NEW.CITY,NEW.DISTRICT,NEW.STREET,NEW.HOUSENUMBER,NEW.STATION_ID,NEW.STATION_DESCRIPTION,NEW.STATION_COORDS,NEW.FK_REF_RADIUS,NEW.LONGITUDE,NEW.LATITUDE,NEW.FK_TBL_FAILINFO_CONDENSED,NEW.CONDENSED,NEW.CONDENSED_COUNT,NEW.OBJECT_REF_EXT_SYSTEM,NEW.PUBLICATION_STATUS,NEW.PUBLICATION_FREETEXT,NEW.FK_REF_EXPECTED_REASON,NEW.ADDRESS_TYPE,NEW.FAULT_LOCATION_AREA,NEW.CREATE_DATE,NEW.CREATE_USER,NEW.MOD_DATE,NEW.MOD_USER,
+                          2,
+						  current_timestamp,
+					      NEW.MOD_USER
+					    );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_FAILURE_INFORMATION_UPDATE_TRG()
+  OWNER TO gfi_service;
+
+DROP TRIGGER IF EXISTS TBL_FAILURE_INFORMATION_UPDATE_TRG ON PUBLIC.TBL_FAILURE_INFORMATION;
+
+CREATE TRIGGER TBL_FAILURE_INFORMATION_UPDATE_TRG
+  BEFORE UPDATE
+  ON PUBLIC.TBL_FAILURE_INFORMATION
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_FAILURE_INFORMATION_UPDATE_TRG();
+
+
+
+-- PUBLIC.TBL_FAILURE_INFORMATION DELETE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_FAILURE_INFORMATION_DELETE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+    IF TG_OP = 'DELETE' THEN
+	INSERT INTO HTBL_FAILURE_INFORMATION (
+
+						  ID,UUID,VERSION_NUMBER,FK_REF_FAILURE_CLASSIFICATION,TITLE,DESCRIPTION,RESPONSIBILITY,FK_REF_STATUS_INTERN,FK_REF_BRANCH,VOLTAGE_LEVEL,PRESSURE_LEVEL,FAILURE_BEGIN,FAILURE_END_PLANNED,FAILURE_END_RESUPPLIED,INTERNAL_REMARK,POSTCODE,CITY,DISTRICT,STREET,HOUSENUMBER,STATION_ID,STATION_DESCRIPTION,STATION_COORDS,FK_REF_RADIUS,LONGITUDE,LATITUDE,FK_TBL_FAILINFO_CONDENSED,CONDENSED,CONDENSED_COUNT,OBJECT_REF_EXT_SYSTEM,PUBLICATION_STATUS,PUBLICATION_FREETEXT,FK_REF_EXPECTED_REASON,ADDRESS_TYPE,FAULT_LOCATION_AREA,CREATE_DATE,CREATE_USER,MOD_DATE,MOD_USER,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				(
+						  OLD.ID,OLD.UUID,OLD.VERSION_NUMBER,OLD.FK_REF_FAILURE_CLASSIFICATION,OLD.TITLE,OLD.DESCRIPTION,OLD.RESPONSIBILITY,OLD.FK_REF_STATUS_INTERN,OLD.FK_REF_BRANCH,OLD.VOLTAGE_LEVEL,OLD.PRESSURE_LEVEL,OLD.FAILURE_BEGIN,OLD.FAILURE_END_PLANNED,OLD.FAILURE_END_RESUPPLIED,OLD.INTERNAL_REMARK,OLD.POSTCODE,OLD.CITY,OLD.DISTRICT,OLD.STREET,OLD.HOUSENUMBER,OLD.STATION_ID,OLD.STATION_DESCRIPTION,OLD.STATION_COORDS,OLD.FK_REF_RADIUS,OLD.LONGITUDE,OLD.LATITUDE,OLD.FK_TBL_FAILINFO_CONDENSED,OLD.CONDENSED,OLD.CONDENSED_COUNT,OLD.OBJECT_REF_EXT_SYSTEM,OLD.PUBLICATION_STATUS,OLD.PUBLICATION_FREETEXT,OLD.FK_REF_EXPECTED_REASON,OLD.ADDRESS_TYPE,OLD.FAULT_LOCATION_AREA,OLD.CREATE_DATE,OLD.CREATE_USER,OLD.MOD_DATE,OLD.MOD_USER,
+
+                          3,
+						  current_timestamp,
+					      OLD.MOD_USER );
+	END IF;
+
+        RETURN OLD;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_FAILURE_INFORMATION_DELETE_TRG()
+  OWNER TO gfi_service;
+
+DROP TRIGGER IF EXISTS TBL_FAILURE_INFORMATION_DELETE_TRG ON PUBLIC.TBL_FAILURE_INFORMATION;
+
+CREATE TRIGGER TBL_FAILURE_INFORMATION_DELETE_TRG
+  BEFORE DELETE
+  ON PUBLIC.TBL_FAILURE_INFORMATION
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_FAILURE_INFORMATION_DELETE_TRG();
+
+
+
+
+-- ---------------------------------------------
+-- INSERT TEST DATA
+-- ---------------------------------------------
+UPDATE public.GFI_VERSION SET VERSION =  '1.0.0' WHERE ID = 1;
diff --git a/mailExport/Dockerfile b/mailExport/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..729e6549758d57bf146f80f731a6cb6c17ba2e1e
--- /dev/null
+++ b/mailExport/Dockerfile
@@ -0,0 +1,24 @@
+# *******************************************************************************
+# * Copyright (c) 2019 Contributors to the Eclipse Foundation
+# *
+# * See the NOTICE file(s) distributed with this work for additional
+# * information regarding copyright ownership.
+# *
+# * This program and the accompanying materials are made available under the
+# * terms of the Eclipse Public License v. 2.0 which is available at
+# * http://www.eclipse.org/legal/epl-2.0.
+# *
+# * SPDX-License-Identifier: EPL-2.0
+# *******************************************************************************
+#
+FROM openjdk:8-jre-alpine
+
+ENV JAVA_TOOL_OPTIONS -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
+ENV TZ Europe/Berlin
+
+# install tzdata to set the right timezone
+RUN apk add --no-cache tzdata
+
+COPY /target/grid-failure-information.mailexport.jar /usr/src/cbd/
+WORKDIR usr/src/cbd
+CMD ["java", "-jar", "-Dspring.profiles.active=devserver", "grid-failure-information.mailexport.jar"]
diff --git a/mailExport/Dockerfile_Gitlab b/mailExport/Dockerfile_Gitlab
new file mode 100644
index 0000000000000000000000000000000000000000..fb70aaaeb7f350e41d5e93170918426f83845e62
--- /dev/null
+++ b/mailExport/Dockerfile_Gitlab
@@ -0,0 +1,24 @@
+# *******************************************************************************
+# * Copyright (c) 2019 Contributors to the Eclipse Foundation
+# *
+# * See the NOTICE file(s) distributed with this work for additional
+# * information regarding copyright ownership.
+# *
+# * This program and the accompanying materials are made available under the
+# * terms of the Eclipse Public License v. 2.0 which is available at
+# * http://www.eclipse.org/legal/epl-2.0.
+# *
+# * SPDX-License-Identifier: EPL-2.0
+# *******************************************************************************
+#
+FROM openjdk:8-jre-alpine
+
+ENV JAVA_TOOL_OPTIONS -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
+ENV TZ Europe/Berlin
+
+# install tzdata to set the right timezone
+RUN apk add --no-cache tzdata
+
+COPY /target/grid-failure-information.mailexport.jar /usr/src/cbd/
+WORKDIR /usr/src/cbd
+CMD ["java", "-jar", "grid-failure-information.mailexport.jar"]
diff --git a/mailExport/pom.xml b/mailExport/pom.xml
index a951909ff5647e4f30c8983c88202bafb592d0b1..14bdf5573b06fb627b1f0ed11292e5ef1d5484fa 100644
--- a/mailExport/pom.xml
+++ b/mailExport/pom.xml
@@ -215,7 +215,7 @@
 					</execution>
 					<execution>
 						<id>jacoco-site</id>
-						<phase>verify</phase>
+						<phase>test</phase>
 						<goals>
 							<goal>report</goal>
 						</goals>
diff --git a/mailExport/sonar-project.properties b/mailExport/sonar-project.properties
index 9662071dff12d987b6de8bb7b11b35a376502dd4..e868b409525f79e2e3fc568d17e22da73515d10b 100644
--- a/mailExport/sonar-project.properties
+++ b/mailExport/sonar-project.properties
@@ -1,32 +1,16 @@
-# *******************************************************************************
-# * Copyright (c) 2019 Contributors to the Eclipse Foundation
-# *
-# * See the NOTICE file(s) distributed with this work for additional
-# * information regarding copyright ownership.
-# *
-# * This program and the accompanying materials are made available under the
-# * terms of the Eclipse Public License v. 2.0 which is available at
-# * http://www.eclipse.org/legal/epl-2.0.
-# *
-# * SPDX-License-Identifier: EPL-2.0
-# *******************************************************************************
-#
 # must be unique in a given SonarQube instance
-sonar.projectKey=openk.pta.de:mailexport
+sonar.organization=openkonsequenz
+sonar.projectKey=openkonsequenz_gridfailureinformation.backend.mailexport
 # this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
-sonar.projectName=grid-failure-information.mailexport
+sonar.projectName=gridfailureinformation.backend.mailexport
 sonar.projectVersion=0.0.1_Snapshot
 sonar.java.binaries=target/classes
- 
+
 # Language
-sonar.language=
- 
+sonar.language=Java
+
 sonar.sourceEncoding=UTF-8
 sonar.sources=src/main
-sonar.exclusions=**/model/*.java,**/viewmodel/*.java, **/emails/emailTemplate.html
+sonar.exclusions=**/model/*.java,**/viewmodel/*.java,**/*.sql
 sonar.tests=src/test
-#sonar.test.inclusions=**/*.spec.ts
-sonar.test.exclusions=**/model/**,**/viewmodel/**, **/emails/emailTemplate.html
-#sonar.ts.tslintconfigpath=tslint.json
-
-sonar.typescript.lcov.reportPaths=coverage/lcov.info
\ No newline at end of file
+sonar.test.exclusions=**/model/**,**/viewmodel/**,**/*.sql
diff --git a/stoerungsauskunftInterface/Dockerfile_GitLab b/stoerungsauskunftInterface/Dockerfile_GitLab
new file mode 100644
index 0000000000000000000000000000000000000000..de822be7aa8cc2e3afe96282b61194cb189270a5
--- /dev/null
+++ b/stoerungsauskunftInterface/Dockerfile_GitLab
@@ -0,0 +1,24 @@
+# *******************************************************************************
+# * Copyright (c) 2019 Contributors to the Eclipse Foundation
+# *
+# * See the NOTICE file(s) distributed with this work for additional
+# * information regarding copyright ownership.
+# *
+# * This program and the accompanying materials are made available under the
+# * terms of the Eclipse Public License v. 2.0 which is available at
+# * http://www.eclipse.org/legal/epl-2.0.
+# *
+# * SPDX-License-Identifier: EPL-2.0
+# *******************************************************************************
+
+FROM openjdk:8-jre-alpine
+
+ENV JAVA_TOOL_OPTIONS -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
+ENV TZ Europe/Berlin
+
+# install tzdata to set the right timezone
+RUN apk add --no-cache tzdata
+
+COPY /target/grid-failure-information.backend.stoerungsauskunft-interface.jar /usr/src/cbd/
+WORKDIR /usr/src/cbd
+CMD ["java", "-jar", "grid-failure-information.backend.stoerungsauskunft-interface.jar"]
diff --git a/stoerungsauskunftInterface/sonar-project.properties b/stoerungsauskunftInterface/sonar-project.properties
index 7c3687be1eb47e4862ceccfc8c97bd7141f05868..ae953cff8b2e554ca88c07348d81123e168b05bf 100644
--- a/stoerungsauskunftInterface/sonar-project.properties
+++ b/stoerungsauskunftInterface/sonar-project.properties
@@ -1,31 +1,16 @@
-# *******************************************************************************
-# * Copyright (c) 2019 Contributors to the Eclipse Foundation
-# *
-# * See the NOTICE file(s) distributed with this work for additional
-# * information regarding copyright ownership.
-# *
-# * This program and the accompanying materials are made available under the
-# * terms of the Eclipse Public License v. 2.0 which is available at
-# * http://www.eclipse.org/legal/epl-2.0.
-# *
-# * SPDX-License-Identifier: EPL-2.0
-# *******************************************************************************
 # must be unique in a given SonarQube instance
-sonar.projectKey=openk.pta.de:stoerungsauskunftinterface
+sonar.organization=openkonsequenz
+sonar.projectKey=openkonsequenz_gridfailureinformation.backend.interface.stoerungsauskunft
 # this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
-sonar.projectName=grid-failure-information.stoerungsauskunftinterface
+sonar.projectName=gridfailureinformation.backend.interface.stoerungsauskunft
 sonar.projectVersion=0.0.1_Snapshot
 sonar.java.binaries=target/classes
- 
+
 # Language
-sonar.language=
- 
+sonar.language=Java
+
 sonar.sourceEncoding=UTF-8
 sonar.sources=src/main
-sonar.exclusions=**/model/*.java,**/viewmodel/*.java,**/dtos/*.java, **/RabbitMqConfig.java
+sonar.exclusions=**/model/*.java,**/viewmodel/*.java,**/*.sql
 sonar.tests=src/test
-#sonar.test.inclusions=**/*.spec.ts
-sonar.test.exclusions=**/model/**,**/viewmodel/**,**/dtos/*.java, **/RabbitMqConfig.java
-#sonar.ts.tslintconfigpath=tslint.json
-
-sonar.typescript.lcov.reportPaths=coverage/lcov.info
\ No newline at end of file
+sonar.test.exclusions=**/model/**,**/viewmodel/**,**/*.sql