diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 60b346f8c..83fe1564e 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v3 with: - version: 9.1.3 + version: 9.5.0 package_json_file: webclient/package.json run_install: | - cwd: webclient @@ -44,7 +44,5 @@ jobs: PR comes from [this Workflow Run](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) [ 1 ]: https://github.com/peter-evans/create-pull-request - assignees: CommanderStorm - reviewers: CommanderStorm branch: chore/formatting-fixes delete-branch: true diff --git a/.github/workflows/server-cicd.yml b/.github/workflows/server-cicd.yml index d3b02dd24..ed8b46c73 100644 --- a/.github/workflows/server-cicd.yml +++ b/.github/workflows/server-cicd.yml @@ -29,7 +29,9 @@ jobs: run: | git config --global user.email "github-actions[bot]@users.noreply.github.com" git config --global user.name "github-actions[bot]" - - run: cargo test --workspace + - name: Setup | install insta + run: curl -LsSf https://insta.rs/install.sh | sh + - run: cargo insta test --workspace working-directory: server linting: runs-on: ubuntu-latest diff --git a/.github/workflows/update-data.yml b/.github/workflows/update-data.yml index e442a9fb0..de3261346 100644 --- a/.github/workflows/update-data.yml +++ b/.github/workflows/update-data.yml @@ -12,7 +12,7 @@ jobs: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v3 with: - version: 9.1.3 + version: 9.5.0 package_json_file: webclient/package.json run_install: | - cwd: webclient @@ -42,12 +42,6 @@ jobs: CONNECTUM_OAUTH_CLIENT_ID: ${{ secrets.CONECTUM_OAUTH_CLIENT_ID }} CONNECTUM_OAUTH_CLIENT_SECRET: ${{ secrets.CONECTUM_OAUTH_CLIENT_SECRET }} working-directory: data/external - - name: Download mytum data - continue-on-error: true # a PR deleting all data will be created if this fails => fail obvious - run: PYTHONPATH=$PYTHONPATH:.. python3 scrapers/roomfinder.py - env: - TQDM_MININTERVAL: 100 - working-directory: data/external - continue-on-error: true # a PR deleting all data will be created if this fails => fail obvious run: ls -lah data/external/results - continue-on-error: true # a PR deleting all data will be created if this fails => fail obvious diff --git a/.github/workflows/webclient-cicd.yml b/.github/workflows/webclient-cicd.yml index 423523219..aa0764d8b 100644 --- a/.github/workflows/webclient-cicd.yml +++ b/.github/workflows/webclient-cicd.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v3 with: - version: 9.1.3 + version: 9.5.0 package_json_file: webclient/package.json run_install: | - cwd: webclient diff --git a/.prettierignore b/.prettierignore index 8f9f9f03b..708e4293c 100644 --- a/.prettierignore +++ b/.prettierignore @@ -6,5 +6,4 @@ data/sources/15_patches-rooms_tumonline.yaml data/sources/45_custom-maps.yaml data/sources/46_overlay-maps.yaml data/sources/img/img-sources.yaml -server/main-api/test/test-queries.yaml deployment/k3s diff --git a/README.md b/README.md index 136bac4c5..030c6f5d3 100644 --- a/README.md +++ b/README.md @@ -87,8 +87,9 @@ docker compose -f docker-compose.local.yml up --build ``` > [!NOTE] -> Because we have a tileserver, running the following command is required once. -> +> While most of the setup is simple, we need to download data (only Oberbayern is needed) for the initial setup. This takes 1-2 minutes. +> Please first bring up a [postgis](https://postgis.net/) instance (for example via `docker compose -f docker-compose.local.yml up --build`) and then run: +> > ```bash > wget -O data.pbf https://download.geofabrik.de/europe/germany/bayern/oberbayern-latest.osm.pbf > docker run -it -v $(pwd):/data -e PGPASSWORD=CHANGE_ME --network="host" iboates/osm2pgsql:latest osm2pgsql --create --slim --database postgres --user postgres --host 127.0.0.1 --port 5432 /data/data.pbf --hstore --hstore-add-index --hstore-column raw diff --git a/data/external/results/maps_roomfinder.json b/data/external/results/maps_roomfinder.json index 114b62480..3059a70b3 100644 --- a/data/external/results/maps_roomfinder.json +++ b/data/external/results/maps_roomfinder.json @@ -1708,7 +1708,7 @@ "width": 386 }, { - "desc": "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "desc": "01-05-0502 Zentralgeb\u00e4ude 7 EG", "height": 540, "id": "rf228", "latlonbox": { @@ -1722,7 +1722,7 @@ "width": 720 }, { - "desc": "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "desc": "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", "height": 540, "id": "rf229", "latlonbox": { @@ -1736,7 +1736,7 @@ "width": 720 }, { - "desc": "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "desc": "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", "height": 540, "id": "rf230", "latlonbox": { @@ -1750,7 +1750,7 @@ "width": 720 }, { - "desc": "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "desc": "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", "height": 540, "id": "rf231", "latlonbox": { @@ -1764,7 +1764,7 @@ "width": 720 }, { - "desc": "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "desc": "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", "height": 540, "id": "rf232", "latlonbox": { @@ -1778,7 +1778,7 @@ "width": 720 }, { - "desc": "01-05-0507 Zentralgeb\u00e4ude 7 2.UG", + "desc": "01-05-0502 Zentralgeb\u00e4ude 7 2.UG", "height": 540, "id": "rf233", "latlonbox": { diff --git a/data/external/results/orgs-de_tumonline.json b/data/external/results/orgs-de_tumonline.json index f266bff92..46b28fc06 100644 --- a/data/external/results/orgs-de_tumonline.json +++ b/data/external/results/orgs-de_tumonline.json @@ -11028,5 +11028,10 @@ "code": "TUS4F7E", "name": "Lehrstuhl f\u00fcr Food Texture Engineering (Prof. Guldin)", "path": "TUM/Schools/Life Sciences/Departments/Life Science Engineering/Food Texture Engineering (Prof. Guldin)" + }, + "56417": { + "code": "TUCSP17", + "name": "Professur f\u00fcr Optimization and Sustainable Decision Making (Prof. Thielen)", + "path": "TUM/Integrative Research Institutes/TUM Campus Straubing f\u00fcr Biotechnologie und Nachhaltigkeit (TUMCS)/Lehrst\u00fchle und Professuren/Optimization and Sustainable Decision Making (Prof. Thielen)" } } diff --git a/data/external/results/orgs-en_tumonline.json b/data/external/results/orgs-en_tumonline.json index de6123293..ea8921879 100644 --- a/data/external/results/orgs-en_tumonline.json +++ b/data/external/results/orgs-en_tumonline.json @@ -11028,5 +11028,10 @@ "code": "TUS4F7E", "name": "Chair of Food Texture Engineering (Prof. Guldin)", "path": "TUM/Schools/Life Sciences/Departments/Life Science Engineering/Food Texture Engineering (Prof. Guldin)" + }, + "56417": { + "code": "TUCSP17", + "name": "Associate Professorship of Optimization and Sustainable Decision Making (Prof. Thielen)", + "path": "TUM/Integrative Research Institutes/TUM Campus Straubing for Biotechnology and Sustainability (TUMCS)/Chairs and Professorships/Optimization and Sustainable Decision Making (Prof. Thielen)" } } diff --git a/data/external/results/rooms_roomfinder.json b/data/external/results/rooms_roomfinder.json index 64b7c63f9..89ad1f5b8 100644 --- a/data/external/results/rooms_roomfinder.json +++ b/data/external/results/rooms_roomfinder.json @@ -128032,7 +128032,7 @@ ] ], "metas": [], - "r_alias": "", + "r_alias": "Foyer", "r_id": "0219@0502", "r_level": "0", "r_number": "0219" @@ -206185,7 +206185,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -206249,7 +206249,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -206313,7 +206313,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -206377,7 +206377,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -206441,7 +206441,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -206505,7 +206505,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -206569,7 +206569,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -206633,7 +206633,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -206697,7 +206697,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -206761,7 +206761,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -206825,7 +206825,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -206889,7 +206889,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -206953,7 +206953,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -207017,7 +207017,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -207081,7 +207081,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -207145,7 +207145,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -207209,7 +207209,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -207273,7 +207273,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -207337,7 +207337,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -207401,7 +207401,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -207465,7 +207465,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -207529,7 +207529,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -207593,7 +207593,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -207657,7 +207657,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -207721,7 +207721,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -207785,7 +207785,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -207849,7 +207849,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -207913,7 +207913,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -207977,7 +207977,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -208041,7 +208041,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -208105,7 +208105,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -208169,7 +208169,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -208233,7 +208233,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -208297,7 +208297,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -208361,7 +208361,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -208425,7 +208425,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -208489,7 +208489,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -208553,7 +208553,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -208617,7 +208617,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -208681,7 +208681,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -208745,7 +208745,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -208809,7 +208809,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -208873,7 +208873,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -208937,7 +208937,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -209001,7 +209001,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -209065,7 +209065,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -209129,7 +209129,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -209193,7 +209193,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -209257,7 +209257,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -209321,7 +209321,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -209385,7 +209385,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -209449,7 +209449,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -209513,7 +209513,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -209577,7 +209577,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -209641,7 +209641,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -209705,7 +209705,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -209769,7 +209769,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -209833,7 +209833,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -209897,7 +209897,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -209961,7 +209961,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -210025,7 +210025,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -210089,7 +210089,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -210153,7 +210153,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -210217,7 +210217,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -210281,7 +210281,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -210345,7 +210345,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -210409,7 +210409,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -210473,7 +210473,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -210537,7 +210537,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -210601,7 +210601,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -210665,7 +210665,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -210729,7 +210729,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -210793,7 +210793,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -210857,7 +210857,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -210921,7 +210921,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -210985,7 +210985,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -211049,7 +211049,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -211113,7 +211113,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -211177,7 +211177,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -211241,7 +211241,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -211305,7 +211305,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -211369,7 +211369,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -211433,7 +211433,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -211497,7 +211497,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -211561,7 +211561,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -211625,7 +211625,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -211689,7 +211689,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -211753,7 +211753,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -211874,7 +211874,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -211938,7 +211938,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -212002,7 +212002,7 @@ [ "500", "rf232", - "01-05-0507 Zentralgeb\u00e4ude 7 1.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.UG", 720, 540 ], @@ -212066,7 +212066,7 @@ [ "500", "rf233", - "01-05-0507 Zentralgeb\u00e4ude 7 2.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.UG", 720, 540 ], @@ -212130,7 +212130,7 @@ [ "500", "rf233", - "01-05-0507 Zentralgeb\u00e4ude 7 2.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.UG", 720, 540 ], @@ -212194,7 +212194,7 @@ [ "500", "rf233", - "01-05-0507 Zentralgeb\u00e4ude 7 2.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.UG", 720, 540 ], @@ -212258,7 +212258,7 @@ [ "500", "rf233", - "01-05-0507 Zentralgeb\u00e4ude 7 2.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.UG", 720, 540 ], @@ -212322,7 +212322,7 @@ [ "500", "rf233", - "01-05-0507 Zentralgeb\u00e4ude 7 2.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.UG", 720, 540 ], @@ -212386,7 +212386,7 @@ [ "500", "rf233", - "01-05-0507 Zentralgeb\u00e4ude 7 2.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.UG", 720, 540 ], @@ -212450,7 +212450,7 @@ [ "500", "rf233", - "01-05-0507 Zentralgeb\u00e4ude 7 2.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.UG", 720, 540 ], @@ -212514,7 +212514,7 @@ [ "500", "rf233", - "01-05-0507 Zentralgeb\u00e4ude 7 2.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.UG", 720, 540 ], @@ -212578,7 +212578,7 @@ [ "500", "rf233", - "01-05-0507 Zentralgeb\u00e4ude 7 2.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.UG", 720, 540 ], @@ -212642,7 +212642,7 @@ [ "500", "rf233", - "01-05-0507 Zentralgeb\u00e4ude 7 2.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.UG", 720, 540 ], @@ -212706,7 +212706,7 @@ [ "500", "rf233", - "01-05-0507 Zentralgeb\u00e4ude 7 2.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.UG", 720, 540 ], @@ -212770,7 +212770,7 @@ [ "500", "rf233", - "01-05-0507 Zentralgeb\u00e4ude 7 2.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.UG", 720, 540 ], @@ -212834,7 +212834,7 @@ [ "500", "rf233", - "01-05-0507 Zentralgeb\u00e4ude 7 2.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.UG", 720, 540 ], @@ -212898,7 +212898,7 @@ [ "500", "rf233", - "01-05-0507 Zentralgeb\u00e4ude 7 2.UG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.UG", 720, 540 ], @@ -212962,7 +212962,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -213026,7 +213026,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -213090,7 +213090,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -213154,7 +213154,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -213218,7 +213218,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -213282,7 +213282,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -213346,7 +213346,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -213410,7 +213410,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -213474,7 +213474,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -213538,7 +213538,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -213602,7 +213602,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -213666,7 +213666,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -213730,7 +213730,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -213794,7 +213794,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -213858,7 +213858,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -213922,7 +213922,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -213986,7 +213986,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -214050,7 +214050,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -214114,7 +214114,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -214178,7 +214178,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -214242,7 +214242,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -214306,7 +214306,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -214370,7 +214370,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -214434,7 +214434,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -214498,7 +214498,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -214562,7 +214562,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -214626,7 +214626,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -214690,7 +214690,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -214754,7 +214754,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -214818,7 +214818,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -214882,7 +214882,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -214946,7 +214946,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -215010,7 +215010,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -215074,7 +215074,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -215138,7 +215138,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -215202,7 +215202,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -215266,7 +215266,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -215330,7 +215330,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -215394,7 +215394,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -215458,7 +215458,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -215522,7 +215522,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -215586,7 +215586,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -215650,7 +215650,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -215714,7 +215714,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -215778,7 +215778,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -215842,7 +215842,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -215906,7 +215906,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -215970,7 +215970,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -216034,7 +216034,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -216098,7 +216098,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -216162,7 +216162,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -216226,7 +216226,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -216290,7 +216290,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -216354,7 +216354,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -216418,7 +216418,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -216482,7 +216482,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -216546,7 +216546,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -216610,7 +216610,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -216674,7 +216674,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -216738,7 +216738,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -216802,7 +216802,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -216866,7 +216866,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -216930,7 +216930,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -216994,7 +216994,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -217058,7 +217058,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -217122,7 +217122,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -217186,7 +217186,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -217250,7 +217250,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -217314,7 +217314,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -217378,7 +217378,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -217442,7 +217442,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -217506,7 +217506,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -217570,7 +217570,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -217634,7 +217634,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -217698,7 +217698,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -217762,7 +217762,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -217826,7 +217826,7 @@ [ "500", "rf228", - "01-05-0507 Zentralgeb\u00e4ude 7 EG", + "01-05-0502 Zentralgeb\u00e4ude 7 EG", 720, 540 ], @@ -217890,7 +217890,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -217954,7 +217954,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -218018,7 +218018,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -218082,7 +218082,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -218146,7 +218146,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -218210,7 +218210,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -218274,7 +218274,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -218338,7 +218338,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -218402,7 +218402,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -218466,7 +218466,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -218530,7 +218530,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -218594,7 +218594,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -218658,7 +218658,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -218722,7 +218722,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -218786,7 +218786,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -218850,7 +218850,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -218914,7 +218914,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -218978,7 +218978,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -219042,7 +219042,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -219106,7 +219106,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -219170,7 +219170,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -219234,7 +219234,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -219298,7 +219298,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -219362,7 +219362,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -219426,7 +219426,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -219490,7 +219490,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -219554,7 +219554,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -219618,7 +219618,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -219682,7 +219682,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -219746,7 +219746,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -219810,7 +219810,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -219874,7 +219874,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -219938,7 +219938,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -220002,7 +220002,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -220066,7 +220066,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -220130,7 +220130,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -220194,7 +220194,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -220258,7 +220258,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -220322,7 +220322,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -220386,7 +220386,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -220450,7 +220450,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -220514,7 +220514,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -220578,7 +220578,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -220642,7 +220642,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -220706,7 +220706,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -220770,7 +220770,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -220834,7 +220834,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -220898,7 +220898,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -220962,7 +220962,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -221026,7 +221026,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -221090,7 +221090,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -221154,7 +221154,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -221218,7 +221218,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -221282,7 +221282,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -221346,7 +221346,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -221410,7 +221410,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -221474,7 +221474,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -221538,7 +221538,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -221602,7 +221602,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -221666,7 +221666,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -221730,7 +221730,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -221794,7 +221794,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -221858,7 +221858,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -221922,7 +221922,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -221986,7 +221986,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -222050,7 +222050,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -222114,7 +222114,7 @@ [ "500", "rf229", - "01-05-0507 Zentralgeb\u00e4ude 7 1.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 1.OG", 720, 540 ], @@ -222178,7 +222178,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -222242,7 +222242,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -222306,7 +222306,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -222370,7 +222370,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -222434,7 +222434,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -222498,7 +222498,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -222562,7 +222562,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -222626,7 +222626,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -222690,7 +222690,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -222754,7 +222754,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -222818,7 +222818,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -222882,7 +222882,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -222946,7 +222946,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -223010,7 +223010,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -223074,7 +223074,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -223138,7 +223138,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -223202,7 +223202,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -223266,7 +223266,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -223330,7 +223330,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -223394,7 +223394,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -223458,7 +223458,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -223522,7 +223522,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -223586,7 +223586,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -223650,7 +223650,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -223714,7 +223714,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -223778,7 +223778,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -223842,7 +223842,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -223906,7 +223906,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -223970,7 +223970,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -224034,7 +224034,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -224098,7 +224098,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -224162,7 +224162,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -224226,7 +224226,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -224290,7 +224290,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -224354,7 +224354,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -224418,7 +224418,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -224482,7 +224482,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -224546,7 +224546,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -224610,7 +224610,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -224674,7 +224674,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -224738,7 +224738,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -224802,7 +224802,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -224866,7 +224866,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -224930,7 +224930,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -224994,7 +224994,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -225058,7 +225058,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -225122,7 +225122,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -225186,7 +225186,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -225250,7 +225250,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -225314,7 +225314,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -225378,7 +225378,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -225442,7 +225442,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -225506,7 +225506,7 @@ [ "500", "rf230", - "01-05-0507 Zentralgeb\u00e4ude 7 2.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 2.OG", 720, 540 ], @@ -225570,7 +225570,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -225634,7 +225634,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -225698,7 +225698,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -225762,7 +225762,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -225826,7 +225826,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -225890,7 +225890,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -225954,7 +225954,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -226018,7 +226018,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -226082,7 +226082,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -226146,7 +226146,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -226210,7 +226210,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -226274,7 +226274,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -226338,7 +226338,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -226402,7 +226402,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -226466,7 +226466,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -226530,7 +226530,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -226594,7 +226594,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -226658,7 +226658,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -226722,7 +226722,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -226786,7 +226786,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -226850,7 +226850,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -226914,7 +226914,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -226978,7 +226978,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -227042,7 +227042,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -227106,7 +227106,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -227170,7 +227170,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -227234,7 +227234,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -227298,7 +227298,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -227362,7 +227362,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -227426,7 +227426,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -227490,7 +227490,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -227554,7 +227554,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -227618,7 +227618,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -227682,7 +227682,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -227746,7 +227746,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -227810,7 +227810,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -227874,7 +227874,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -227938,7 +227938,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -228002,7 +228002,7 @@ [ "500", "rf231", - "01-05-0507 Zentralgeb\u00e4ude 7 3.OG", + "01-05-0502 Zentralgeb\u00e4ude 7 3.OG", 720, 540 ], @@ -342701,7 +342701,7 @@ ] ], "metas": [], - "r_alias": "", + "r_alias": "Foyer", "r_id": "219@5107", "r_level": "1", "r_number": "219" @@ -344583,7 +344583,7 @@ ] ], "metas": [], - "r_alias": "5510.EG.001, H\u00f6rsaal", + "r_alias": "H\u00f6rsaal", "r_id": "0001@5510", "r_level": "0", "r_number": "0001" diff --git a/data/external/results/rooms_tumonline.json b/data/external/results/rooms_tumonline.json index 05dc9a0cb..156ee61d8 100644 --- a/data/external/results/rooms_tumonline.json +++ b/data/external/results/rooms_tumonline.json @@ -23047,7 +23047,7 @@ "floor_type": "Spannteppich", "main_operator_id": 15376, "seats": { - "sitting": 2, + "sitting": 1, "standing": null, "wheelchair": null }, @@ -23081,7 +23081,7 @@ "street": "Theresienstr. 90", "zip_code": 80333 }, - "alt_name": "N1403, Prof.-B\u00fcro", + "alt_name": "N1403, B\u00fcro", "arch_name": "N1403@0104", "area_id": 27, "building_id": 564, @@ -23089,7 +23089,7 @@ "floor_type": "Spannteppich", "main_operator_id": 15376, "seats": { - "sitting": 1, + "sitting": 3, "standing": null, "wheelchair": null }, @@ -23110,7 +23110,7 @@ "floor_type": "Linoleum", "main_operator_id": 15376, "seats": { - "sitting": 4, + "sitting": 3, "standing": null, "wheelchair": null }, @@ -23123,7 +23123,7 @@ "street": "Theresienstr. 90", "zip_code": 80333 }, - "alt_name": "N1405, B\u00fcro", + "alt_name": "N1405, Prof.-B\u00fcro", "arch_name": "N1405@0104", "area_id": 27, "building_id": 564, @@ -23131,7 +23131,7 @@ "floor_type": "Linoleum", "main_operator_id": 15376, "seats": { - "sitting": null, + "sitting": 1, "standing": null, "wheelchair": null }, @@ -23152,7 +23152,7 @@ "floor_type": "Linoleum", "main_operator_id": 15376, "seats": { - "sitting": null, + "sitting": 4, "standing": null, "wheelchair": null }, @@ -23207,7 +23207,7 @@ "street": "Theresienstr. 90", "zip_code": 80333 }, - "alt_name": "N1409, Opt. Messtechnik", + "alt_name": "N1409, B\u00fcro", "arch_name": "N1409@0104", "area_id": 27, "building_id": 564, @@ -23220,7 +23220,7 @@ "wheelchair": null }, "tumonline_id": 38676, - "usage_id": 103 + "usage_id": 12 }, "0104.01.410": { "address": { @@ -23249,7 +23249,7 @@ "street": "Theresienstr. 90", "zip_code": 80333 }, - "alt_name": "N1411, Computerlabor", + "alt_name": "N1411, B\u00fcro m. exp. Arbpl.", "arch_name": "N1411@0104", "area_id": 27, "building_id": 564, @@ -23262,7 +23262,7 @@ "wheelchair": null }, "tumonline_id": 38686, - "usage_id": 103 + "usage_id": 12 }, "0104.01.412": { "address": { @@ -23270,7 +23270,7 @@ "street": "Theresienstr. 90", "zip_code": 80333 }, - "alt_name": "N1412, Elektronische Werkstatt", + "alt_name": "N1412, B\u00fcro", "arch_name": "N1412@0104", "area_id": 27, "building_id": 564, @@ -23278,12 +23278,12 @@ "floor_type": "Linoleum", "main_operator_id": 15376, "seats": { - "sitting": 2, + "sitting": 3, "standing": null, "wheelchair": null }, "tumonline_id": 14734, - "usage_id": 51 + "usage_id": 12 }, "0104.01.413": { "address": { @@ -23300,7 +23300,7 @@ "floor_type": "Linoleum", "main_operator_id": 15376, "seats": { - "sitting": 15, + "sitting": 12, "standing": null, "wheelchair": null }, @@ -23344,7 +23344,7 @@ "floor_type": "Linoleum", "main_operator_id": 15376, "seats": { - "sitting": 25, + "sitting": 24, "standing": null, "wheelchair": null }, @@ -23735,7 +23735,7 @@ "street": "Theresienstr. 90", "zip_code": 80333 }, - "alt_name": "N2401, B\u00fcro", + "alt_name": "N2401, Sekretariat", "arch_name": "N2401@0104", "area_id": 27, "building_id": 564, @@ -23743,12 +23743,12 @@ "floor_type": "Spannteppich", "main_operator_id": 15364, "seats": { - "sitting": 2, + "sitting": 1, "standing": null, "wheelchair": null }, "tumonline_id": 7586, - "usage_id": 12 + "usage_id": 40 }, "0104.02.402": { "address": { @@ -23756,7 +23756,7 @@ "street": "Theresienstr. 90", "zip_code": 80333 }, - "alt_name": "N2402, B\u00fcro", + "alt_name": "N2402, Sekretariat", "arch_name": "N2402@0104", "area_id": 27, "building_id": 564, @@ -23769,7 +23769,7 @@ "wheelchair": null }, "tumonline_id": 7588, - "usage_id": 12 + "usage_id": 40 }, "0104.02.403": { "address": { @@ -23829,7 +23829,7 @@ "floor_type": "Spannteppich", "main_operator_id": 15364, "seats": { - "sitting": 12, + "sitting": 16, "standing": null, "wheelchair": null }, @@ -23850,7 +23850,7 @@ "floor_type": "Spannteppich", "main_operator_id": 15364, "seats": { - "sitting": 10, + "sitting": 17, "standing": null, "wheelchair": null }, @@ -23872,7 +23872,7 @@ "floor_type": "Linoleum", "main_operator_id": 15364, "seats": { - "sitting": 40, + "sitting": 42, "standing": null, "wheelchair": null }, @@ -23894,7 +23894,7 @@ "floor_type": "Linoleum", "main_operator_id": 15364, "seats": { - "sitting": 16, + "sitting": 11, "standing": null, "wheelchair": null }, @@ -23916,7 +23916,7 @@ "floor_type": "Linoleum", "main_operator_id": 15364, "seats": { - "sitting": 22, + "sitting": 12, "standing": null, "wheelchair": null }, @@ -23959,7 +23959,7 @@ "floor_type": "Linoleum", "main_operator_id": 15364, "seats": { - "sitting": 84, + "sitting": 69, "standing": null, "wheelchair": null }, @@ -23981,7 +23981,7 @@ "floor_type": "Linoleum", "main_operator_id": 15364, "seats": { - "sitting": 30, + "sitting": 34, "standing": null, "wheelchair": null }, @@ -24520,7 +24520,7 @@ "street": "Theresienstr. 90", "zip_code": 80333 }, - "alt_name": "N3413, B\u00fcro", + "alt_name": "N3413, Prof.-B\u00fcro", "arch_name": "N3413@0104", "area_id": 27, "building_id": 564, @@ -24549,7 +24549,7 @@ "floor_type": "Linoleum", "main_operator_id": 15371, "seats": { - "sitting": null, + "sitting": 1, "standing": null, "wheelchair": null }, @@ -24570,7 +24570,7 @@ "floor_type": "Spannteppich", "main_operator_id": 15364, "seats": { - "sitting": 12, + "sitting": 4, "standing": null, "wheelchair": null }, @@ -24591,7 +24591,7 @@ "floor_type": "Spannteppich", "main_operator_id": 15364, "seats": { - "sitting": null, + "sitting": 4, "standing": null, "wheelchair": null }, @@ -24612,7 +24612,7 @@ "floor_type": "Spannteppich", "main_operator_id": 48078, "seats": { - "sitting": 12, + "sitting": 4, "standing": null, "wheelchair": null }, @@ -24633,7 +24633,7 @@ "floor_type": "Spannteppich", "main_operator_id": 48078, "seats": { - "sitting": 8, + "sitting": 4, "standing": null, "wheelchair": null }, @@ -24654,7 +24654,7 @@ "floor_type": "Spannteppich", "main_operator_id": 48078, "seats": { - "sitting": 4, + "sitting": 1, "standing": null, "wheelchair": null }, @@ -26127,7 +26127,7 @@ "floor_type": "Linoleum", "main_operator_id": 53497, "seats": { - "sitting": null, + "sitting": 8, "standing": null, "wheelchair": null }, @@ -26148,7 +26148,7 @@ "floor_type": "Linoleum", "main_operator_id": 53497, "seats": { - "sitting": 2, + "sitting": 3, "standing": null, "wheelchair": null }, @@ -26190,7 +26190,7 @@ "floor_type": "Linoleum", "main_operator_id": 53497, "seats": { - "sitting": 2, + "sitting": 3, "standing": null, "wheelchair": null }, @@ -26232,7 +26232,7 @@ "floor_type": "Linoleum", "main_operator_id": 53497, "seats": { - "sitting": null, + "sitting": 1, "standing": null, "wheelchair": null }, @@ -26253,7 +26253,7 @@ "floor_type": "Spannteppich", "main_operator_id": 53497, "seats": { - "sitting": 2, + "sitting": 3, "standing": null, "wheelchair": null }, @@ -26274,7 +26274,7 @@ "floor_type": "Linoleum", "main_operator_id": 44066, "seats": { - "sitting": null, + "sitting": 2, "standing": null, "wheelchair": null }, @@ -26287,7 +26287,7 @@ "street": "Theresienstr. 90", "zip_code": 80333 }, - "alt_name": "N0410, Studentenarb. m. DV", + "alt_name": "N0410, Labor", "arch_name": "N0410@0104", "area_id": 27, "building_id": 564, @@ -26295,12 +26295,12 @@ "floor_type": "Linoleum", "main_operator_id": 44066, "seats": { - "sitting": null, + "sitting": 2, "standing": null, "wheelchair": null }, "tumonline_id": 38254, - "usage_id": 208 + "usage_id": 103 }, "0104.EG.411": { "address": { @@ -26350,15 +26350,15 @@ "street": "Theresienstr. 90", "zip_code": 80333 }, - "alt_name": "N0413, Elektroniklabor", + "alt_name": "N0413, Elektroniklabor Fachschaft EI", "arch_name": "N0413@0104", "area_id": 27, "building_id": 564, "floor_level": "EG", "floor_type": "Linoleum", - "main_operator_id": 15376, + "main_operator_id": 38698, "seats": { - "sitting": 3, + "sitting": 7, "standing": null, "wheelchair": null }, @@ -26379,7 +26379,7 @@ "floor_type": "Linoleum", "main_operator_id": 15376, "seats": { - "sitting": 2, + "sitting": 4, "standing": null, "wheelchair": null }, @@ -26400,7 +26400,7 @@ "floor_type": "Linoleum", "main_operator_id": 53497, "seats": { - "sitting": 5, + "sitting": 4, "standing": null, "wheelchair": null }, @@ -26421,7 +26421,7 @@ "floor_type": "Linoleum", "main_operator_id": 53497, "seats": { - "sitting": null, + "sitting": 2, "standing": null, "wheelchair": null }, @@ -26442,7 +26442,7 @@ "floor_type": "Linoleum", "main_operator_id": 53497, "seats": { - "sitting": 10, + "sitting": 2, "standing": null, "wheelchair": null }, @@ -26967,7 +26967,7 @@ "floor_type": "Linoleum", "main_operator_id": 38698, "seats": { - "sitting": 17, + "sitting": 10, "standing": null, "wheelchair": null }, @@ -27009,7 +27009,7 @@ "floor_type": "Linoleum", "main_operator_id": 15376, "seats": { - "sitting": 3, + "sitting": 6, "standing": null, "wheelchair": null }, @@ -27135,7 +27135,7 @@ "floor_type": "Linoleum", "main_operator_id": 15376, "seats": { - "sitting": 2, + "sitting": 4, "standing": null, "wheelchair": null }, @@ -27179,7 +27179,7 @@ "floor_type": "Linoleum", "main_operator_id": 15376, "seats": { - "sitting": 3, + "sitting": 8, "standing": null, "wheelchair": null }, @@ -27200,7 +27200,7 @@ "floor_type": "Linoleum", "main_operator_id": 53497, "seats": { - "sitting": null, + "sitting": 6, "standing": null, "wheelchair": null }, @@ -27213,7 +27213,7 @@ "street": "Theresienstr. 90", "zip_code": 80333 }, - "alt_name": "N-1409, Werkstatt", + "alt_name": "N-1409, Labor", "arch_name": "N-1409@0104", "area_id": 27, "building_id": 564, @@ -27226,7 +27226,7 @@ "wheelchair": null }, "tumonline_id": 38163, - "usage_id": 51 + "usage_id": 103 }, "0104.U1.412": { "address": { @@ -43636,13 +43636,13 @@ "street": "Gabelsbergerstr. 39", "zip_code": 80333 }, - "alt_name": "001, B\u00fcro/Personalraum", + "alt_name": "001, B\u00fcro", "arch_name": "001@0202", "area_id": 26, "building_id": 569, "floor_level": "EG", "floor_type": "Linoleum", - "main_operator_id": 39688, + "main_operator_id": 45008, "seats": { "sitting": 1, "standing": null, @@ -43657,21 +43657,21 @@ "street": "Gabelsbergerstr. 39", "zip_code": 80333 }, - "alt_name": "002, Seminarraum", + "alt_name": "002, WC-Herren", "arch_name": "002@0202", "area_id": 26, "building_id": 569, "calendar_resource_nr": 18763, "floor_level": "EG", - "floor_type": "Linoleum", - "main_operator_id": 39688, + "floor_type": "Fliesen", + "main_operator_id": 19691, "seats": { - "sitting": 12, + "sitting": null, "standing": null, "wheelchair": null }, "tumonline_id": 55829, - "usage_id": 41 + "usage_id": 115 }, "0202.EG.003": { "address": { @@ -43679,20 +43679,20 @@ "street": "Gabelsbergerstr. 39", "zip_code": 80333 }, - "alt_name": "003, WC-Personal", + "alt_name": "003, WC-Damen", "arch_name": "003@0202", "area_id": 26, "building_id": 569, "floor_level": "EG", "floor_type": "Fliesen", - "main_operator_id": 39688, + "main_operator_id": 19691, "seats": { "sitting": null, "standing": null, "wheelchair": null }, "tumonline_id": 13732, - "usage_id": 114 + "usage_id": 116 }, "0202.EG.004": { "address": { @@ -43722,20 +43722,20 @@ "street": "Gabelsbergerstr. 39", "zip_code": 80333 }, - "alt_name": "005, Kinder Schlaf-/Ruheraum", + "alt_name": "005, B\u00fcro", "arch_name": "005@0202", "area_id": 26, "building_id": 569, "floor_level": "EG", "floor_type": "Linoleum", - "main_operator_id": 39688, + "main_operator_id": 45008, "seats": { "sitting": null, "standing": null, "wheelchair": null }, "tumonline_id": 67684, - "usage_id": 53 + "usage_id": 12 }, "0202.EG.006": { "address": { @@ -43743,20 +43743,20 @@ "street": "Gabelsbergerstr. 39", "zip_code": 80333 }, - "alt_name": "006, Kinder Spiel-Flur", + "alt_name": "006, Flur", "arch_name": "006@0202", "area_id": 26, "building_id": 569, "floor_level": "EG", "floor_type": "Linoleum", - "main_operator_id": 39688, + "main_operator_id": 19691, "seats": { "sitting": null, "standing": null, "wheelchair": null }, "tumonline_id": 67715, - "usage_id": 146 + "usage_id": 222 }, "0202.EG.007": { "address": { @@ -43764,20 +43764,20 @@ "street": "Gabelsbergerstr. 39", "zip_code": 80333 }, - "alt_name": "007, Kindergruppenraum", + "alt_name": "007, B\u00fcro", "arch_name": "007@0202", "area_id": 26, "building_id": 569, "floor_level": "EG", "floor_type": "Linoleum", - "main_operator_id": 39688, + "main_operator_id": 45008, "seats": { "sitting": null, "standing": null, "wheelchair": null }, "tumonline_id": 67780, - "usage_id": 53 + "usage_id": 12 }, "0202.EG.008": { "address": { @@ -43785,21 +43785,21 @@ "street": "Gabelsbergerstr. 39", "zip_code": 80333 }, - "alt_name": "008, Gruppenraum 2 TUM International", + "alt_name": "008, B\u00fcro", "arch_name": "008@0202", "area_id": 26, "building_id": 569, "calendar_resource_nr": 18966, "floor_level": "EG", "floor_type": "Linoleum", - "main_operator_id": 26055, + "main_operator_id": 45008, "seats": { "sitting": null, "standing": null, "wheelchair": null }, "tumonline_id": 55994, - "usage_id": 131 + "usage_id": 12 }, "0202.EG.009": { "address": { @@ -43813,7 +43813,7 @@ "building_id": 569, "floor_level": "EG", "floor_type": "Linoleum", - "main_operator_id": 39688, + "main_operator_id": 45008, "seats": { "sitting": null, "standing": null, @@ -43828,20 +43828,20 @@ "street": "Gabelsbergerstr. 39", "zip_code": 80333 }, - "alt_name": "010, Eingang und Kinder-Spiel-Flur", + "alt_name": "010, Eingang / Flur", "arch_name": "010@0202", "area_id": 26, "building_id": 569, "floor_level": "EG", "floor_type": "Linoleum", - "main_operator_id": 39688, + "main_operator_id": 19691, "seats": { "sitting": null, "standing": null, "wheelchair": null }, "tumonline_id": 56153, - "usage_id": 146 + "usage_id": 222 }, "0202.EG.011": { "address": { @@ -43855,7 +43855,7 @@ "building_id": 569, "floor_level": "EG", "floor_type": "PVC", - "main_operator_id": 39688, + "main_operator_id": 19691, "seats": { "sitting": null, "standing": null, @@ -59465,9 +59465,9 @@ "building_id": 575, "floor_level": "2.OG", "floor_type": "Linoleum", - "main_operator_id": 19691, + "main_operator_id": 39688, "seats": { - "sitting": 20, + "sitting": 10, "standing": null, "wheelchair": null }, @@ -59495,6 +59495,27 @@ "tumonline_id": 63398, "usage_id": 12 }, + "0401.02.215B": { + "address": { + "place": "M\u00fcnchen", + "street": "Richard-Wagner-Str. 18", + "zip_code": 80333 + }, + "alt_name": "2215B, B\u00fcro", + "arch_name": "2215B@0401", + "area_id": 24, + "building_id": 575, + "floor_level": "2.OG", + "floor_type": "Linoleum", + "main_operator_id": 39688, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76464, + "usage_id": 12 + }, "0401.02.216": { "address": { "place": "M\u00fcnchen", @@ -282917,7 +282938,7 @@ "area_id": 43, "building_id": 719, "floor_level": "1.OG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 50717, "seats": { "sitting": 2, @@ -282939,7 +282960,7 @@ "building_id": 719, "calendar_resource_nr": 24175, "floor_level": "1.OG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 26685, "seats": { "sitting": 2, @@ -282961,7 +282982,7 @@ "building_id": 719, "calendar_resource_nr": 24174, "floor_level": "1.OG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 50717, "seats": { "sitting": 1, @@ -282977,13 +282998,13 @@ "street": "Alte Akademie 12", "zip_code": 85354 }, - "alt_name": "O 07, Sekretariat", + "alt_name": "O 07, B\u00fcro", "arch_name": "O 07@4105", "area_id": 43, "building_id": 719, "calendar_resource_nr": 31232, "floor_level": "1.OG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 50717, "seats": { "sitting": 1, @@ -282991,7 +283012,7 @@ "wheelchair": null }, "tumonline_id": 40622, - "usage_id": 12 + "usage_id": 40 }, "4105.01.068": { "address": { @@ -283004,7 +283025,7 @@ "area_id": 43, "building_id": 719, "floor_level": "1.OG", - "floor_type": "PVC", + "floor_type": "Linoleum", "main_operator_id": 51258, "seats": { "sitting": 3, @@ -283020,12 +283041,12 @@ "street": "Alte Akademie 12", "zip_code": 85354 }, - "alt_name": "O 09, B\u00fcro", - "arch_name": "O 09@4105", + "alt_name": "O 09/10, B\u00fcro", + "arch_name": "O 09/10@4105", "area_id": 43, "building_id": 719, "floor_level": "1.OG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 50717, "seats": { "sitting": 1, @@ -283182,6 +283203,27 @@ "tumonline_id": 40671, "usage_id": 116 }, + "4105.01.078": { + "address": { + "place": "Freising", + "street": "Alte Akademie 12", + "zip_code": 85354 + }, + "alt_name": "O 15, Balkon", + "arch_name": "O 15@4105", + "area_id": 43, + "building_id": 719, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76486, + "usage_id": 219 + }, "4105.EG.001": { "address": { "place": "Freising", @@ -283193,7 +283235,7 @@ "area_id": 43, "building_id": 719, "floor_level": "EG", - "floor_type": "PVC", + "floor_type": "Linoleum", "main_operator_id": 55277, "seats": { "sitting": 5, @@ -283214,7 +283256,7 @@ "area_id": 43, "building_id": 719, "floor_level": "EG", - "floor_type": "PVC", + "floor_type": "Linoleum", "main_operator_id": 19691, "seats": { "sitting": null, @@ -283235,7 +283277,7 @@ "area_id": 43, "building_id": 719, "floor_level": "EG", - "floor_type": "PVC", + "floor_type": "Linoleum", "main_operator_id": 55277, "seats": { "sitting": 2, @@ -283256,7 +283298,7 @@ "area_id": 43, "building_id": 719, "floor_level": "EG", - "floor_type": "PVC", + "floor_type": "Linoleum", "main_operator_id": 55277, "seats": { "sitting": 5, @@ -283319,7 +283361,7 @@ "area_id": 43, "building_id": 719, "floor_level": "EG", - "floor_type": "PVC", + "floor_type": "Linoleum", "main_operator_id": 14881, "seats": { "sitting": null, @@ -283329,49 +283371,48 @@ "tumonline_id": 40522, "usage_id": 12 }, - "4105.EG.004B": { + "4105.EG.005": { "address": { "place": "Freising", "street": "Alte Akademie 12", "zip_code": 85354 }, - "alt_name": "E 05B, Bibliothek/K\u00fcche (gem. Nutzung 1126301010)", - "arch_name": "E 05B@4105", + "alt_name": "E 05A, Seminar / Vorlesungs-Zimmer (gem. Nutzung 1", + "arch_name": "E 05A@4105", "area_id": 43, "building_id": 719, - "calendar_resource_nr": 12620, + "calendar_resource_nr": 26007, "floor_level": "EG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 46195, "seats": { - "sitting": null, + "sitting": 21, "standing": null, "wheelchair": null }, - "tumonline_id": 20921, - "usage_id": 10 + "tumonline_id": 40523, + "usage_id": 41 }, - "4105.EG.005": { + "4105.EG.005A": { "address": { "place": "Freising", "street": "Alte Akademie 12", "zip_code": 85354 }, - "alt_name": "E 05A, Seminar / Vorlesungs-Zimmer (gem. Nutzung 1", - "arch_name": "E 05A@4105", + "alt_name": "E 05, Lounge (gem. Nutzung 1126301010)", + "arch_name": "E 05@4105", "area_id": 43, "building_id": 719, - "calendar_resource_nr": 26007, "floor_level": "EG", - "floor_type": "PVC", + "floor_type": "Linoleum", "main_operator_id": 46195, "seats": { - "sitting": 21, + "sitting": null, "standing": null, "wheelchair": null }, - "tumonline_id": 40523, - "usage_id": 41 + "tumonline_id": 76485, + "usage_id": 44 }, "4105.EG.006": { "address": { @@ -283384,7 +283425,7 @@ "area_id": 43, "building_id": 719, "floor_level": "EG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 46195, "seats": { "sitting": 2, @@ -283405,7 +283446,7 @@ "area_id": 43, "building_id": 719, "floor_level": "EG", - "floor_type": "PVC", + "floor_type": "Linoleum", "main_operator_id": 46195, "seats": { "sitting": 3, @@ -283426,7 +283467,7 @@ "area_id": 43, "building_id": 719, "floor_level": "EG", - "floor_type": "PVC", + "floor_type": "Linoleum", "main_operator_id": 46195, "seats": { "sitting": 2, @@ -283447,7 +283488,7 @@ "area_id": 43, "building_id": 719, "floor_level": "EG", - "floor_type": "PVC", + "floor_type": "Linoleum", "main_operator_id": 14881, "seats": { "sitting": 2, @@ -283468,7 +283509,7 @@ "area_id": 43, "building_id": 719, "floor_level": "EG", - "floor_type": "Stein", + "floor_type": "Fliesen", "main_operator_id": 19691, "seats": { "sitting": null, @@ -283589,7 +283630,7 @@ "street": "Alte Akademie 12", "zip_code": 85354 }, - "alt_name": "E 14, Foyer", + "alt_name": "E 14, Flur", "arch_name": "E 14@4105", "area_id": 43, "building_id": 719, @@ -283615,7 +283656,7 @@ "area_id": 43, "building_id": 719, "floor_level": "EG", - "floor_type": "Linoleum", + "floor_type": "PVC", "main_operator_id": 19691, "seats": { "sitting": null, @@ -283636,7 +283677,7 @@ "area_id": 43, "building_id": 719, "floor_level": "1.UG", - "floor_type": "PVC", + "floor_type": "Linoleum", "main_operator_id": 26175, "seats": { "sitting": null, @@ -283657,7 +283698,7 @@ "area_id": 43, "building_id": 719, "floor_level": "1.UG", - "floor_type": "Linoleum", + "floor_type": "Estrich (Beton)", "main_operator_id": 26175, "seats": { "sitting": null, @@ -283778,7 +283819,7 @@ "street": "Alte Akademie 12", "zip_code": 85354 }, - "alt_name": "S 07B, EDV", + "alt_name": "S 07B, B\u00fcro", "arch_name": "S 07B@4105", "area_id": 43, "building_id": 719, @@ -283791,7 +283832,7 @@ "wheelchair": null }, "tumonline_id": 40425, - "usage_id": 207 + "usage_id": 12 }, "4105.U1.009": { "address": { @@ -283825,7 +283866,7 @@ "area_id": 43, "building_id": 719, "floor_level": "1.UG", - "floor_type": "Spannteppich", + "floor_type": "Linoleum", "main_operator_id": 50717, "seats": { "sitting": null, @@ -284051,12 +284092,12 @@ "street": "Alte Akademie 12", "zip_code": 85354 }, - "alt_name": "S 16, Treppenraum", + "alt_name": "S 16, Treppenhaus", "arch_name": "S 16@4105", "area_id": 43, "building_id": 719, "floor_level": "1.UG", - "floor_type": "Linoleum", + "floor_type": "Fliesen", "main_operator_id": 19691, "seats": { "sitting": null, @@ -284064,7 +284105,7 @@ "wheelchair": null }, "tumonline_id": 61462, - "usage_id": 222 + "usage_id": 223 }, "4105.U1.017": { "address": { @@ -284072,7 +284113,7 @@ "street": "Alte Akademie 12", "zip_code": 85354 }, - "alt_name": "S 17, S1-Flur", + "alt_name": "S 17, Flur", "arch_name": "S 17@4105", "area_id": 43, "building_id": 719, @@ -284108,6 +284149,27 @@ "tumonline_id": 61463, "usage_id": 223 }, + "4105.U1.020": { + "address": { + "place": "Freising", + "street": "Alte Akademie 12", + "zip_code": 85354 + }, + "alt_name": "S 20, Lastenaufzug", + "arch_name": "S 20@4105", + "area_id": 43, + "building_id": 719, + "floor_level": "1.UG", + "floor_type": "Keine Angabe", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76484, + "usage_id": 4 + }, "4105.U2.001A": { "address": { "place": "Freising", @@ -284119,7 +284181,7 @@ "area_id": 43, "building_id": 719, "floor_level": "2.UG", - "floor_type": "PVC", + "floor_type": "Fliesen", "main_operator_id": 50717, "seats": { "sitting": 3, @@ -284156,12 +284218,12 @@ "street": "Alte Akademie 12", "zip_code": 85354 }, - "alt_name": "K 02, Auswertung", - "arch_name": "K 02@4105", + "alt_name": "K 02/03, Auswertung", + "arch_name": "K 02/03@4105", "area_id": 43, "building_id": 719, "floor_level": "2.UG", - "floor_type": "Estrich (Beton)", + "floor_type": "Industrieanstrich", "main_operator_id": 26685, "seats": { "sitting": null, @@ -284182,7 +284244,7 @@ "area_id": 43, "building_id": 719, "floor_level": "2.UG", - "floor_type": "PVC", + "floor_type": "Fliesen", "main_operator_id": 26685, "seats": { "sitting": 2, @@ -284203,7 +284265,7 @@ "area_id": 43, "building_id": 719, "floor_level": "2.UG", - "floor_type": "PVC", + "floor_type": "Fliesen", "main_operator_id": 26685, "seats": { "sitting": null, @@ -284224,7 +284286,7 @@ "area_id": 43, "building_id": 719, "floor_level": "2.UG", - "floor_type": "PVC", + "floor_type": "Fliesen", "main_operator_id": 26685, "seats": { "sitting": 1, @@ -284240,12 +284302,12 @@ "street": "Alte Akademie 12", "zip_code": 85354 }, - "alt_name": "K 07, Werkstatt", - "arch_name": "K 07@4105", + "alt_name": "K 07/08, Werkstatt", + "arch_name": "K 07/08@4105", "area_id": 43, "building_id": 719, "floor_level": "2.UG", - "floor_type": "Estrich (Beton)", + "floor_type": "Industrieanstrich", "main_operator_id": 26685, "seats": { "sitting": null, @@ -284261,12 +284323,12 @@ "street": "Alte Akademie 12", "zip_code": 85354 }, - "alt_name": "K 09, Werkstatt, S1-Labor", + "alt_name": "K 09, Labor", "arch_name": "K 09@4105", "area_id": 43, "building_id": 719, "floor_level": "2.UG", - "floor_type": "Estrich (Beton)", + "floor_type": "Industrieanstrich", "main_operator_id": 50717, "seats": { "sitting": null, @@ -284274,7 +284336,7 @@ "wheelchair": null }, "tumonline_id": 40299, - "usage_id": 51 + "usage_id": 194 }, "4105.U2.010": { "address": { @@ -284287,7 +284349,7 @@ "area_id": 43, "building_id": 719, "floor_level": "2.UG", - "floor_type": "Fliesen", + "floor_type": "Industrieanstrich", "main_operator_id": 50717, "seats": { "sitting": null, @@ -284308,7 +284370,7 @@ "area_id": 43, "building_id": 719, "floor_level": "2.UG", - "floor_type": "Estrich (Beton)", + "floor_type": "Industrieanstrich", "main_operator_id": 50717, "seats": { "sitting": null, @@ -284497,7 +284559,7 @@ "area_id": 43, "building_id": 720, "floor_level": "1.OG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 14881, "seats": { "sitting": 1, @@ -284534,8 +284596,8 @@ "street": "Alte Akademie 14", "zip_code": 85354 }, - "alt_name": "O 69 B, Flur", - "arch_name": "O 69 B@4106", + "alt_name": "O 69B, Flur", + "arch_name": "O 69B@4106", "area_id": 43, "building_id": 720, "floor_level": "1.OG", @@ -284618,7 +284680,7 @@ "street": "Alte Akademie 14", "zip_code": 85354 }, - "alt_name": "O 66, Seminarraum/Bibliothek/K\u00fcche", + "alt_name": "O 66, Seminar", "arch_name": "O 66@4106", "area_id": 43, "building_id": 720, @@ -284632,7 +284694,7 @@ "wheelchair": null }, "tumonline_id": 14844, - "usage_id": 44 + "usage_id": 41 }, "4106.01.067": { "address": { @@ -284703,8 +284765,8 @@ "street": "Alte Akademie 14", "zip_code": 85354 }, - "alt_name": "O 69 A, B\u00fcro", - "arch_name": "O 69 A@4106", + "alt_name": "O 69A, B\u00fcro", + "arch_name": "O 69A@4106", "area_id": 43, "building_id": 720, "floor_level": "1.OG", @@ -284750,7 +284812,7 @@ "area_id": 43, "building_id": 720, "floor_level": "1.OG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 14881, "seats": { "sitting": 1, @@ -284813,7 +284875,7 @@ "area_id": 43, "building_id": 720, "floor_level": "1.OG", - "floor_type": "Keine Angabe", + "floor_type": "Stein", "main_operator_id": 19691, "seats": { "sitting": null, @@ -284928,6 +284990,27 @@ "tumonline_id": 43711, "usage_id": 118 }, + "4106.01.082": { + "address": { + "place": "Freising", + "street": "Alte Akademie 14", + "zip_code": 85354 + }, + "alt_name": "O 21, Balkon (Raum O67)", + "arch_name": "O 21@4106", + "area_id": 43, + "building_id": 720, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76487, + "usage_id": 219 + }, "4106.EG.040": { "address": { "place": "Freising", @@ -284939,7 +285022,7 @@ "area_id": 43, "building_id": 720, "floor_level": "EG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 14815, "seats": { "sitting": 1, @@ -284960,7 +285043,7 @@ "area_id": 43, "building_id": 720, "floor_level": "EG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 14815, "seats": { "sitting": 3, @@ -285044,7 +285127,7 @@ "area_id": 43, "building_id": 720, "floor_level": "EG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 14815, "seats": { "sitting": 4, @@ -285065,7 +285148,7 @@ "area_id": 43, "building_id": 720, "floor_level": "EG", - "floor_type": "Keine Angabe", + "floor_type": "Stein", "main_operator_id": 19691, "seats": { "sitting": null, @@ -285108,7 +285191,7 @@ "area_id": 43, "building_id": 720, "floor_level": "EG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 14815, "seats": { "sitting": 1, @@ -285129,7 +285212,7 @@ "area_id": 43, "building_id": 720, "floor_level": "EG", - "floor_type": "PVC", + "floor_type": "Linoleum", "main_operator_id": 14815, "seats": { "sitting": 1, @@ -285150,7 +285233,7 @@ "area_id": 43, "building_id": 720, "floor_level": "EG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 14815, "seats": { "sitting": 1, @@ -285166,8 +285249,8 @@ "street": "Alte Akademie 14", "zip_code": 85354 }, - "alt_name": "E 50 A, B\u00fcro", - "arch_name": "E 50 A@4106", + "alt_name": "E 50A, B\u00fcro", + "arch_name": "E 50A@4106", "area_id": 43, "building_id": 720, "floor_level": "EG", @@ -285181,39 +285264,18 @@ "tumonline_id": 8416, "usage_id": 12 }, - "4106.EG.050B": { - "address": { - "place": "Freising", - "street": "Alte Akademie 14", - "zip_code": 85354 - }, - "alt_name": "E 50 B, Aktenlager", - "arch_name": "E 50 B@4106", - "area_id": 43, - "building_id": 720, - "floor_level": "EG", - "floor_type": "Spannteppich", - "main_operator_id": 14815, - "seats": { - "sitting": 2, - "standing": null, - "wheelchair": null - }, - "tumonline_id": 66788, - "usage_id": 2 - }, "4106.EG.054": { "address": { "place": "Freising", "street": "Alte Akademie 14", "zip_code": 85354 }, - "alt_name": "E 54 A, B\u00fcro", - "arch_name": "E 54 A@4106", + "alt_name": "E 54A, B\u00fcro", + "arch_name": "E 54A@4106", "area_id": 43, "building_id": 720, "floor_level": "EG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 14815, "seats": { "sitting": 2, @@ -285229,12 +285291,12 @@ "street": "Alte Akademie 14", "zip_code": 85354 }, - "alt_name": "E 54 B, Aktenlager", - "arch_name": "E 54 B@4106", + "alt_name": "E 54B, B\u00fcro", + "arch_name": "E 54B@4106", "area_id": 43, "building_id": 720, "floor_level": "EG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 14815, "seats": { "sitting": 2, @@ -285242,7 +285304,7 @@ "wheelchair": null }, "tumonline_id": 66789, - "usage_id": 2 + "usage_id": 12 }, "4106.EG.055": { "address": { @@ -285634,7 +285696,7 @@ "area_id": 43, "building_id": 720, "floor_level": "1.UG", - "floor_type": "Stein", + "floor_type": "Fliesen", "main_operator_id": 19691, "seats": { "sitting": null, @@ -285760,7 +285822,7 @@ "area_id": 43, "building_id": 720, "floor_level": "1.UG", - "floor_type": "Estrich (Beton)", + "floor_type": "Linoleum", "main_operator_id": 26175, "seats": { "sitting": null, @@ -285802,7 +285864,7 @@ "area_id": 43, "building_id": 720, "floor_level": "2.UG", - "floor_type": "Linoleum", + "floor_type": "PVC", "main_operator_id": 14442, "seats": { "sitting": null, @@ -285823,7 +285885,7 @@ "area_id": 43, "building_id": 720, "floor_level": "2.UG", - "floor_type": "Linoleum", + "floor_type": "PVC", "main_operator_id": 26175, "seats": { "sitting": null, @@ -285865,7 +285927,7 @@ "area_id": 43, "building_id": 720, "floor_level": "2.UG", - "floor_type": "Linoleum", + "floor_type": "PVC", "main_operator_id": 14442, "seats": { "sitting": 2, @@ -285873,7 +285935,7 @@ "wheelchair": null }, "tumonline_id": 40704, - "usage_id": 30 + "usage_id": 2 }, "4106.U2.006": { "address": { @@ -285886,7 +285948,7 @@ "area_id": 43, "building_id": 720, "floor_level": "2.UG", - "floor_type": "Linoleum", + "floor_type": "PVC", "main_operator_id": 14442, "seats": { "sitting": 3, @@ -285944,7 +286006,7 @@ "street": "Alte Akademie 14", "zip_code": 85354 }, - "alt_name": "K 09, Archiv", + "alt_name": "K 09, Bibliothek 2", "arch_name": "K 09@4106", "area_id": 43, "building_id": 720, @@ -285957,7 +286019,7 @@ "wheelchair": null }, "tumonline_id": 40713, - "usage_id": 2 + "usage_id": 10 }, "4106.U2.010": { "address": { @@ -285965,7 +286027,7 @@ "street": "Alte Akademie 14", "zip_code": 85354 }, - "alt_name": "K 10, Archiv und Lagerraum", + "alt_name": "K 10, Bibliothek 1", "arch_name": "K 10@4106", "area_id": 43, "building_id": 720, @@ -285978,7 +286040,7 @@ "wheelchair": null }, "tumonline_id": 39931, - "usage_id": 2 + "usage_id": 10 }, "4106.U2.011": { "address": { @@ -285991,7 +286053,7 @@ "area_id": 43, "building_id": 720, "floor_level": "2.UG", - "floor_type": "Estrich (Beton)", + "floor_type": "Fliesen", "main_operator_id": 26175, "seats": { "sitting": null, @@ -286049,8 +286111,8 @@ "street": "Alte Akademie 14", "zip_code": 85354 }, - "alt_name": "K 16 A, Flur", - "arch_name": "K 16 A@4106", + "alt_name": "K 16A, Flur", + "arch_name": "K 16A@4106", "area_id": 43, "building_id": 720, "floor_level": "2.UG", @@ -286070,12 +286132,12 @@ "street": "Alte Akademie 14", "zip_code": 85354 }, - "alt_name": "K 18, Treppe", + "alt_name": "K 18, Treppenhaus", "arch_name": "K 18@4106", "area_id": 43, "building_id": 720, "floor_level": "2.UG", - "floor_type": "Estrich (Beton)", + "floor_type": "Fliesen", "main_operator_id": 19691, "seats": { "sitting": null, @@ -286091,7 +286153,7 @@ "street": "Alte Akademie 14", "zip_code": 85354 }, - "alt_name": "K 17, Lager", + "alt_name": "K 17, Heizg./Brauchw.", "arch_name": "K 17@4106", "area_id": 43, "building_id": 720, @@ -286104,7 +286166,7 @@ "wheelchair": null }, "tumonline_id": 39942, - "usage_id": 30 + "usage_id": 201 }, "4106.U2.025": { "address": { @@ -286133,12 +286195,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "O 01, B\u00fcro", - "arch_name": "O 01@4107", + "alt_name": "101, B\u00fcro", + "arch_name": "101@4107", "area_id": 43, "building_id": 721, "floor_level": "1.OG", - "floor_type": "PVC", + "floor_type": "Parkett (versiegelt)", "main_operator_id": 44149, "seats": { "sitting": 1, @@ -286154,12 +286216,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "O 02, B\u00fcro", - "arch_name": "O 02@4107", + "alt_name": "102, B\u00fcro", + "arch_name": "102@4107", "area_id": 43, "building_id": 721, "floor_level": "1.OG", - "floor_type": "PVC", + "floor_type": "Parkett (versiegelt)", "main_operator_id": 44149, "seats": { "sitting": 1, @@ -286175,12 +286237,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "O 03, B\u00fcro", - "arch_name": "O 03@4107", + "alt_name": "103, B\u00fcro", + "arch_name": "103@4107", "area_id": 43, "building_id": 721, "floor_level": "1.OG", - "floor_type": "PVC", + "floor_type": "Parkett (versiegelt)", "main_operator_id": 44149, "seats": { "sitting": 1, @@ -286196,12 +286258,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "O 04, B\u00fcro", - "arch_name": "O 04@4107", + "alt_name": "104, B\u00fcro", + "arch_name": "104@4107", "area_id": 43, "building_id": 721, "floor_level": "1.OG", - "floor_type": "PVC", + "floor_type": "Parkett (versiegelt)", "main_operator_id": 44149, "seats": { "sitting": 1, @@ -286217,12 +286279,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "O 05, Arbeitsraum", - "arch_name": "O 05@4107", + "alt_name": "105, Kopierer", + "arch_name": "105@4107", "area_id": 43, "building_id": 721, "floor_level": "1.OG", - "floor_type": "PVC", + "floor_type": "Linoleum", "main_operator_id": 44149, "seats": { "sitting": 1, @@ -286230,7 +286292,7 @@ "wheelchair": null }, "tumonline_id": 42876, - "usage_id": 207 + "usage_id": 110 }, "4107.01.105A": { "address": { @@ -286238,8 +286300,8 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "O 05A, Sozialraum", - "arch_name": "O 05A@4107", + "alt_name": "105a, Sozialraum", + "arch_name": "105a@4107", "area_id": 43, "building_id": 721, "floor_level": "1.OG", @@ -286259,13 +286321,13 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "O 06, Seminarraum", - "arch_name": "O 06@4107", + "alt_name": "106, Seminarraum", + "arch_name": "106@4107", "area_id": 43, "building_id": 721, "calendar_resource_nr": 22398, "floor_level": "1.OG", - "floor_type": "PVC", + "floor_type": "Linoleum", "main_operator_id": 44149, "seats": { "sitting": 1, @@ -286281,12 +286343,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "O 07, Sekretariat", - "arch_name": "O 07@4107", + "alt_name": "107, B\u00fcro", + "arch_name": "107@4107", "area_id": 43, "building_id": 721, "floor_level": "1.OG", - "floor_type": "PVC", + "floor_type": "Parkett (versiegelt)", "main_operator_id": 44149, "seats": { "sitting": null, @@ -286294,7 +286356,7 @@ "wheelchair": null }, "tumonline_id": 42881, - "usage_id": 12 + "usage_id": 40 }, "4107.01.108": { "address": { @@ -286302,8 +286364,8 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "O 08, Professor", - "arch_name": "O 08@4107", + "alt_name": "108, Professor", + "arch_name": "108@4107", "area_id": 43, "building_id": 721, "floor_level": "1.OG", @@ -286323,12 +286385,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "O 09, B\u00fcro", - "arch_name": "O 09@4107", + "alt_name": "109, B\u00fcro", + "arch_name": "109@4107", "area_id": 43, "building_id": 721, "floor_level": "1.OG", - "floor_type": "PVC", + "floor_type": "Parkett (versiegelt)", "main_operator_id": 44149, "seats": { "sitting": 1, @@ -286344,8 +286406,8 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "O 10, B\u00fcro", - "arch_name": "O 10@4107", + "alt_name": "110, B\u00fcro", + "arch_name": "110@4107", "area_id": 43, "building_id": 721, "floor_level": "1.OG", @@ -286359,26 +286421,26 @@ "tumonline_id": 63105, "usage_id": 12 }, - "4107.01.112": { + "4107.01.111A": { "address": { "place": "Freising", "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "D12, Aufzugsschacht", - "arch_name": "D12@4107", + "alt_name": "111A, Treppenhaus", + "arch_name": "111A@4107", "area_id": 43, "building_id": 721, "floor_level": "1.OG", - "floor_type": "Keine Angabe", - "main_operator_id": 39688, + "floor_type": "Linoleum", + "main_operator_id": 19691, "seats": { "sitting": null, "standing": null, "wheelchair": null }, - "tumonline_id": 42965, - "usage_id": 195 + "tumonline_id": 76492, + "usage_id": 223 }, "4107.01.113": { "address": { @@ -286401,14 +286463,14 @@ "tumonline_id": 42966, "usage_id": 223 }, - "4107.01.114": { + "4107.01.113A": { "address": { "place": "Freising", "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "O 14, WC-Vorraum", - "arch_name": "O 14@4107", + "alt_name": "113A, Treppenhaus", + "arch_name": "113A@4107", "area_id": 43, "building_id": 721, "floor_level": "1.OG", @@ -286419,17 +286481,17 @@ "standing": null, "wheelchair": null }, - "tumonline_id": 63106, - "usage_id": 118 + "tumonline_id": 76491, + "usage_id": 223 }, - "4107.01.114A": { + "4107.01.114": { "address": { "place": "Freising", "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "O 14a, Dusche", - "arch_name": "O 14a@4107", + "alt_name": "114, WC-Vorraum", + "arch_name": "114@4107", "area_id": 43, "building_id": 721, "floor_level": "1.OG", @@ -286440,29 +286502,29 @@ "standing": null, "wheelchair": null }, - "tumonline_id": 42970, - "usage_id": 113 + "tumonline_id": 63106, + "usage_id": 118 }, - "4107.01.114B": { + "4107.01.114A": { "address": { "place": "Freising", "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "O 14b, WC-Damen Vorraum", - "arch_name": "O 14b@4107", + "alt_name": "114A, Dusche", + "arch_name": "114A@4107", "area_id": 43, "building_id": 721, "floor_level": "1.OG", - "floor_type": "PVC", + "floor_type": "Fliesen", "main_operator_id": 19691, "seats": { "sitting": null, "standing": null, "wheelchair": null }, - "tumonline_id": 42972, - "usage_id": 118 + "tumonline_id": 42970, + "usage_id": 113 }, "4107.01.114D": { "address": { @@ -286470,8 +286532,8 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "O 14d, WC-Damen", - "arch_name": "O 14d@4107", + "alt_name": "114D, WC-Damen", + "arch_name": "114D@4107", "area_id": 43, "building_id": 721, "floor_level": "1.OG", @@ -286491,8 +286553,8 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "O 15, WC-Herren Vorraum", - "arch_name": "O 15@4107", + "alt_name": "115, WC-Herren Vorraum", + "arch_name": "115@4107", "area_id": 43, "building_id": 721, "floor_level": "1.OG", @@ -286512,8 +286574,8 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "O 15a, WC-Herren", - "arch_name": "O 15a@4107", + "alt_name": "115A, WC-Herren", + "arch_name": "115A@4107", "area_id": 43, "building_id": 721, "floor_level": "1.OG", @@ -286533,8 +286595,8 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "O 16, Flur", - "arch_name": "O 16@4107", + "alt_name": "116, Flur", + "arch_name": "116@4107", "area_id": 43, "building_id": 721, "floor_level": "1.OG", @@ -286554,12 +286616,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "O 11, Treppe (Dachausstieg)", - "arch_name": "O 11@4107", + "alt_name": "111, Treppe (Dachausstieg)", + "arch_name": "111@4107", "area_id": 43, "building_id": 721, "floor_level": "1.OG", - "floor_type": "Keine Angabe", + "floor_type": "Metall", "main_operator_id": 19691, "seats": { "sitting": null, @@ -286575,7 +286637,7 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "E01, B\u00fcro", + "alt_name": "E01, Aufenthalt", "arch_name": "E01@4107", "area_id": 43, "building_id": 721, @@ -286588,7 +286650,7 @@ "wheelchair": null }, "tumonline_id": 44106, - "usage_id": 12 + "usage_id": 44 }, "4107.EG.002": { "address": { @@ -286601,7 +286663,7 @@ "area_id": 43, "building_id": 721, "floor_level": "EG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 45971, "seats": { "sitting": 1, @@ -286622,7 +286684,7 @@ "area_id": 43, "building_id": 721, "floor_level": "EG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 45971, "seats": { "sitting": 3, @@ -286643,7 +286705,7 @@ "area_id": 43, "building_id": 721, "floor_level": "EG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 45971, "seats": { "sitting": 3, @@ -286664,7 +286726,7 @@ "area_id": 43, "building_id": 721, "floor_level": "EG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 45971, "seats": { "sitting": 1, @@ -286674,18 +286736,39 @@ "tumonline_id": 44110, "usage_id": 12 }, + "4107.EG.005A": { + "address": { + "place": "Freising", + "street": "Alte Akademie 16", + "zip_code": 85354 + }, + "alt_name": "E05A, Balkon (Raum E05)", + "arch_name": "E05A@4107", + "area_id": 43, + "building_id": 721, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76490, + "usage_id": 219 + }, "4107.EG.006A": { "address": { "place": "Freising", "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "E06A, B\u00fcro", + "alt_name": "E06A, Besprechung", "arch_name": "E06A@4107", "area_id": 43, "building_id": 721, "floor_level": "EG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 45971, "seats": { "sitting": 1, @@ -286693,7 +286776,7 @@ "wheelchair": null }, "tumonline_id": 44111, - "usage_id": 12 + "usage_id": 196 }, "4107.EG.006B": { "address": { @@ -286706,7 +286789,7 @@ "area_id": 43, "building_id": 721, "floor_level": "EG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 45971, "seats": { "sitting": 1, @@ -286748,7 +286831,7 @@ "area_id": 43, "building_id": 721, "floor_level": "EG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 45971, "seats": { "sitting": 1, @@ -286764,12 +286847,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "E08B, B\u00fcro", + "alt_name": "E08B, Kopierer", "arch_name": "E08B@4107", "area_id": 43, "building_id": 721, "floor_level": "EG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 45971, "seats": { "sitting": 1, @@ -286777,7 +286860,7 @@ "wheelchair": null }, "tumonline_id": 44191, - "usage_id": 12 + "usage_id": 110 }, "4107.EG.009A": { "address": { @@ -286790,7 +286873,7 @@ "area_id": 43, "building_id": 721, "floor_level": "EG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 45971, "seats": { "sitting": 2, @@ -286811,7 +286894,7 @@ "area_id": 43, "building_id": 721, "floor_level": "EG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 45971, "seats": { "sitting": 1, @@ -286821,35 +286904,14 @@ "tumonline_id": 44199, "usage_id": 12 }, - "4107.EG.010": { - "address": { - "place": "Freising", - "street": "Alte Akademie 16", - "zip_code": 85354 - }, - "alt_name": "E16, Aufzugsschacht", - "arch_name": "E16@4107", - "area_id": 43, - "building_id": 721, - "floor_level": "EG", - "floor_type": "Keine Angabe", - "main_operator_id": 39688, - "seats": { - "sitting": null, - "standing": null, - "wheelchair": null - }, - "tumonline_id": 44200, - "usage_id": 195 - }, "4107.EG.011": { "address": { "place": "Freising", "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "E 11, Reinigungsmittelraum", - "arch_name": "E 11@4107", + "alt_name": "E11, Reinigungsmittelraum", + "arch_name": "E11@4107", "area_id": 43, "building_id": 721, "floor_level": "EG", @@ -286979,7 +287041,7 @@ "area_id": 43, "building_id": 721, "floor_level": "EG", - "floor_type": "Keine Angabe", + "floor_type": "Fliesen", "main_operator_id": 19691, "seats": { "sitting": null, @@ -287000,7 +287062,7 @@ "area_id": 43, "building_id": 721, "floor_level": "EG", - "floor_type": "Linoleum", + "floor_type": "PVC", "main_operator_id": 19691, "seats": { "sitting": 6, @@ -287010,18 +287072,39 @@ "tumonline_id": 42864, "usage_id": 222 }, + "4107.EG.015": { + "address": { + "place": "Freising", + "street": "Alte Akademie 16", + "zip_code": 85354 + }, + "alt_name": "E15, Flur (E06A-E07)", + "arch_name": "E15@4107", + "area_id": 43, + "building_id": 721, + "floor_level": "EG", + "floor_type": "Spannteppich", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76489, + "usage_id": 222 + }, "4107.U1.001": { "address": { "place": "Freising", "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 01, Flur", - "arch_name": "S 01@4107", + "alt_name": "S01, Flur S02-S03)", + "arch_name": "S01@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", - "floor_type": "PVC", + "floor_type": "Linoleum", "main_operator_id": 19691, "seats": { "sitting": null, @@ -287037,12 +287120,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 02, B\u00fcro", - "arch_name": "S 02@4107", + "alt_name": "S02, B\u00fcro", + "arch_name": "S02@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 14816, "seats": { "sitting": 2, @@ -287058,12 +287141,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 03, Arbeitsraum", - "arch_name": "S 03@4107", + "alt_name": "S03, Arbeitsraum", + "arch_name": "S03@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 14816, "seats": { "sitting": 1, @@ -287079,12 +287162,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 04, B\u00fcro", - "arch_name": "S 04@4107", + "alt_name": "S04, B\u00fcro", + "arch_name": "S04@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 14816, "seats": { "sitting": 10, @@ -287100,12 +287183,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 04a, B\u00fcro", - "arch_name": "S 04a@4107", + "alt_name": "S04A, B\u00fcro", + "arch_name": "S04A@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 14816, "seats": { "sitting": 10, @@ -287121,13 +287204,13 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 05, B\u00fcro", - "arch_name": "S 05@4107", + "alt_name": "S05, B\u00fcro", + "arch_name": "S05@4107", "area_id": 43, "building_id": 721, "calendar_resource_nr": 22165, "floor_level": "1.UG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 14816, "seats": { "sitting": 3, @@ -287143,13 +287226,13 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 06, B\u00fcro", - "arch_name": "S 06@4107", + "alt_name": "S06, B\u00fcro", + "arch_name": "S06@4107", "area_id": 43, "building_id": 721, "calendar_resource_nr": 12540, "floor_level": "1.UG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 14816, "seats": { "sitting": 3, @@ -287159,19 +287242,40 @@ "tumonline_id": 8604, "usage_id": 12 }, + "4107.U1.006A": { + "address": { + "place": "Freising", + "street": "Alte Akademie 16", + "zip_code": 85354 + }, + "alt_name": "S06A, Balkon (Raum S06)", + "arch_name": "S06A@4107", + "area_id": 43, + "building_id": 721, + "floor_level": "1.UG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76488, + "usage_id": 219 + }, "4107.U1.007": { "address": { "place": "Freising", "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 07, Besprechungsraum", - "arch_name": "S 07@4107", + "alt_name": "S07, Besprechungsraum", + "arch_name": "S07@4107", "area_id": 43, "building_id": 721, "calendar_resource_nr": 18011, "floor_level": "1.UG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 14816, "seats": { "sitting": 3, @@ -287187,12 +287291,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 07a, Flur", - "arch_name": "S 07a@4107", + "alt_name": "S07A, Flur", + "arch_name": "S07A@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", - "floor_type": "PVC", + "floor_type": "Linoleum", "main_operator_id": 19691, "seats": { "sitting": null, @@ -287208,12 +287312,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 07b, Teek\u00fcche", - "arch_name": "S 07b@4107", + "alt_name": "S07B, Teek\u00fcche", + "arch_name": "S07B@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", - "floor_type": "PVC", + "floor_type": "Linoleum", "main_operator_id": 14816, "seats": { "sitting": 2, @@ -287229,13 +287333,13 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 08, B\u00fcro", - "arch_name": "S 08@4107", + "alt_name": "S08, B\u00fcro", + "arch_name": "S08@4107", "area_id": 43, "building_id": 721, "calendar_resource_nr": 22373, "floor_level": "1.UG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 14816, "seats": { "sitting": 2, @@ -287243,7 +287347,7 @@ "wheelchair": null }, "tumonline_id": 8611, - "usage_id": 12 + "usage_id": 40 }, "4107.U1.009": { "address": { @@ -287251,12 +287355,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 09, B\u00fcro", - "arch_name": "S 09@4107", + "alt_name": "S09, B\u00fcro", + "arch_name": "S09@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 14816, "seats": { "sitting": 1, @@ -287272,12 +287376,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 10, B\u00fcro", - "arch_name": "S 10@4107", + "alt_name": "S10, B\u00fcro", + "arch_name": "S10@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 14816, "seats": { "sitting": 3, @@ -287293,12 +287397,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 11, B\u00fcro", - "arch_name": "S 11@4107", + "alt_name": "S11, B\u00fcro", + "arch_name": "S11@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 14816, "seats": { "sitting": 3, @@ -287314,12 +287418,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 12, Flur", - "arch_name": "S 12@4107", + "alt_name": "S12, Vorraum", + "arch_name": "S12@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", - "floor_type": "PVC", + "floor_type": "Linoleum", "main_operator_id": 19691, "seats": { "sitting": null, @@ -287327,7 +287431,7 @@ "wheelchair": null }, "tumonline_id": 44095, - "usage_id": 222 + "usage_id": 50 }, "4107.U1.012B": { "address": { @@ -287335,12 +287439,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 12a, B\u00fcro", - "arch_name": "S 12a@4107", + "alt_name": "S13, B\u00fcro", + "arch_name": "S13@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 14816, "seats": { "sitting": 1, @@ -287356,12 +287460,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 12b, B\u00fcro", - "arch_name": "S 12b@4107", + "alt_name": "S12A, B\u00fcro", + "arch_name": "S12A@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 14816, "seats": { "sitting": 1, @@ -287371,35 +287475,14 @@ "tumonline_id": 44097, "usage_id": 12 }, - "4107.U1.013": { - "address": { - "place": "Freising", - "street": "Alte Akademie 16", - "zip_code": 85354 - }, - "alt_name": "S 13, Aufzugsschacht", - "arch_name": "S 13@4107", - "area_id": 43, - "building_id": 721, - "floor_level": "1.UG", - "floor_type": "Keine Angabe", - "main_operator_id": 39688, - "seats": { - "sitting": null, - "standing": null, - "wheelchair": null - }, - "tumonline_id": 44098, - "usage_id": 195 - }, "4107.U1.014": { "address": { "place": "Freising", "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 14, WC-Vorraum", - "arch_name": "S 14@4107", + "alt_name": "S14, WC-Vorraum", + "arch_name": "S14@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", @@ -287419,8 +287502,8 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 14A, WC-Damen Vorraum", - "arch_name": "S 14A@4107", + "alt_name": "S14A, WC-Damen Vorraum", + "arch_name": "S14A@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", @@ -287440,8 +287523,8 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 14B, WC-Damen", - "arch_name": "S 14B@4107", + "alt_name": "S14B, WC-Damen", + "arch_name": "S14B@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", @@ -287461,8 +287544,8 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 14C, WC-Damen", - "arch_name": "S 14C@4107", + "alt_name": "S14C, WC-Damen", + "arch_name": "S14C@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", @@ -287482,8 +287565,8 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 15, Reinigungsmittelraum", - "arch_name": "S 15@4107", + "alt_name": "S15, Reinigungsmittelraum", + "arch_name": "S15@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", @@ -287503,8 +287586,8 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 15A, WC-Herren Vorraum", - "arch_name": "S 15A@4107", + "alt_name": "S15A, WC-Herren Vorraum", + "arch_name": "S15A@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", @@ -287524,8 +287607,8 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 15B, WC-Herren", - "arch_name": "S 15B@4107", + "alt_name": "S15B, WC-Herren", + "arch_name": "S15B@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", @@ -287545,8 +287628,8 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 15C, WC-Herren", - "arch_name": "S 15C@4107", + "alt_name": "S15C, WC-Herren", + "arch_name": "S15C@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", @@ -287566,12 +287649,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 16, Server", - "arch_name": "S 16@4107", + "alt_name": "S16, Server", + "arch_name": "S16@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", - "floor_type": "Keine Angabe", + "floor_type": "Estrich (Beton)", "main_operator_id": 26175, "seats": { "sitting": null, @@ -287587,12 +287670,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 17, Treppenraum", - "arch_name": "S 17@4107", + "alt_name": "S17, Treppenraum", + "arch_name": "S17@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", - "floor_type": "Keine Angabe", + "floor_type": "Fliesen", "main_operator_id": 19691, "seats": { "sitting": null, @@ -287608,12 +287691,12 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "S 18, Flur", - "arch_name": "S 18@4107", + "alt_name": "S18, Flur", + "arch_name": "S18@4107", "area_id": 43, "building_id": 721, "floor_level": "1.UG", - "floor_type": "PVC", + "floor_type": "Linoleum", "main_operator_id": 19691, "seats": { "sitting": null, @@ -287655,7 +287738,7 @@ "area_id": 43, "building_id": 721, "floor_level": "2.UG", - "floor_type": "PVC", + "floor_type": "Estrich (Beton)", "main_operator_id": 14816, "seats": { "sitting": 2, @@ -287676,7 +287759,7 @@ "area_id": 43, "building_id": 721, "floor_level": "2.UG", - "floor_type": "PVC", + "floor_type": "Linoleum", "main_operator_id": 45971, "seats": { "sitting": 2, @@ -287734,7 +287817,7 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "K06, B\u00fcro", + "alt_name": "K06, Lager", "arch_name": "K06@4107", "area_id": 43, "building_id": 721, @@ -287747,7 +287830,7 @@ "wheelchair": null }, "tumonline_id": 43720, - "usage_id": 12 + "usage_id": 30 }, "4107.U2.007": { "address": { @@ -287760,7 +287843,7 @@ "area_id": 43, "building_id": 721, "floor_level": "2.UG", - "floor_type": "PVC", + "floor_type": "Spannteppich", "main_operator_id": 45971, "seats": { "sitting": 5, @@ -287776,7 +287859,7 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "K08, B\u00fcro", + "alt_name": "K08, Werkstatt", "arch_name": "K08@4107", "area_id": 43, "building_id": 721, @@ -287789,7 +287872,7 @@ "wheelchair": null }, "tumonline_id": 43724, - "usage_id": 12 + "usage_id": 51 }, "4107.U2.009": { "address": { @@ -287823,7 +287906,7 @@ "area_id": 43, "building_id": 721, "floor_level": "2.UG", - "floor_type": "Fliesen", + "floor_type": "Industrieanstrich", "main_operator_id": 44149, "seats": { "sitting": null, @@ -287844,7 +287927,7 @@ "area_id": 43, "building_id": 721, "floor_level": "2.UG", - "floor_type": "Fliesen", + "floor_type": "Industrieanstrich", "main_operator_id": 44149, "seats": { "sitting": null, @@ -287881,7 +287964,7 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "K13, Lagerraum", + "alt_name": "K13, Flur", "arch_name": "K13@4107", "area_id": 43, "building_id": 721, @@ -287894,7 +287977,7 @@ "wheelchair": null }, "tumonline_id": 43806, - "usage_id": 30 + "usage_id": 222 }, "4107.U2.014": { "address": { @@ -287944,7 +288027,7 @@ "street": "Alte Akademie 16", "zip_code": 85354 }, - "alt_name": "K16, Lagerraum", + "alt_name": "K16, Duschen", "arch_name": "K16@4107", "area_id": 43, "building_id": 721, @@ -287957,28 +288040,7 @@ "wheelchair": null }, "tumonline_id": 68045, - "usage_id": 30 - }, - "4107.U2.017": { - "address": { - "place": "Freising", - "street": "Alte Akademie 16", - "zip_code": 85354 - }, - "alt_name": "K17, Aufzugsschacht", - "arch_name": "K17@4107", - "area_id": 43, - "building_id": 721, - "floor_level": "2.UG", - "floor_type": "Keine Angabe", - "main_operator_id": 39688, - "seats": { - "sitting": null, - "standing": null, - "wheelchair": null - }, - "tumonline_id": 43814, - "usage_id": 195 + "usage_id": 113 }, "4107.U2.018": { "address": { @@ -288054,7 +288116,7 @@ "area_id": 43, "building_id": 721, "floor_level": "2.UG", - "floor_type": "Keine Angabe", + "floor_type": "Estrich (Beton)", "main_operator_id": 26175, "seats": { "sitting": null, @@ -288075,7 +288137,7 @@ "area_id": 43, "building_id": 721, "floor_level": "2.UG", - "floor_type": "Keine Angabe", + "floor_type": "PVC", "main_operator_id": 19691, "seats": { "sitting": null, @@ -288096,7 +288158,7 @@ "area_id": 43, "building_id": 721, "floor_level": "2.UG", - "floor_type": "Keine Angabe", + "floor_type": "PVC", "main_operator_id": 19691, "seats": { "sitting": null, @@ -288117,7 +288179,7 @@ "area_id": 43, "building_id": 721, "floor_level": "2.UG", - "floor_type": "Keine Angabe", + "floor_type": "Estrich (Beton)", "main_operator_id": 26175, "seats": { "sitting": null, @@ -430790,6 +430852,27 @@ "tumonline_id": 48615, "usage_id": 116 }, + "5101.01.006B": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "3006B, Toilette WC-D", + "arch_name": "3006B@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Fliesen", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76508, + "usage_id": 116 + }, "5101.01.007": { "address": { "place": "Garching b. M\u00fcnchen", @@ -430854,6 +430937,27 @@ "tumonline_id": 48646, "usage_id": 160 }, + "5101.01.012A": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "3012A, Installationsschacht", + "arch_name": "3012A@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76516, + "usage_id": 120 + }, "5101.01.013": { "address": { "place": "Garching b. M\u00fcnchen", @@ -430887,7 +430991,7 @@ "building_id": 785, "calendar_resource_nr": 18418, "floor_level": "1.OG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 48099, "seats": { "sitting": 1, @@ -431003,28 +431107,6 @@ "tumonline_id": 48963, "usage_id": 28 }, - "5101.01.025": { - "address": { - "place": "Garching b. M\u00fcnchen", - "street": "James-Franck-Str. 1", - "zip_code": 85748 - }, - "alt_name": "3025, Arbeitsraum/mit Besp.Grp.", - "arch_name": "3025@5101", - "area_id": 35, - "building_id": 785, - "calendar_resource_nr": 22397, - "floor_level": "1.OG", - "floor_type": "Spannteppich", - "main_operator_id": 14217, - "seats": { - "sitting": 1, - "standing": null, - "wheelchair": null - }, - "tumonline_id": 48968, - "usage_id": 12 - }, "5101.01.026": { "address": { "place": "Garching b. M\u00fcnchen", @@ -431257,27 +431339,6 @@ "tumonline_id": 12917, "usage_id": 12 }, - "5101.01.044": { - "address": { - "place": "Garching b. M\u00fcnchen", - "street": "James-Franck-Str. 1", - "zip_code": 85748 - }, - "alt_name": "3044, Arbeitsraum", - "arch_name": "3044@5101", - "area_id": 35, - "building_id": 785, - "floor_level": "1.OG", - "floor_type": "Linoleum", - "main_operator_id": 16203, - "seats": { - "sitting": 2, - "standing": null, - "wheelchair": null - }, - "tumonline_id": 49482, - "usage_id": 12 - }, "5101.01.046": { "address": { "place": "Garching b. M\u00fcnchen", @@ -431290,7 +431351,7 @@ "building_id": 785, "calendar_resource_nr": 18361, "floor_level": "1.OG", - "floor_type": "Linoleum", + "floor_type": "Fliesen", "main_operator_id": 16203, "seats": { "sitting": 15, @@ -431342,6 +431403,27 @@ "tumonline_id": 12983, "usage_id": 12 }, + "5101.01.050": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "3050, Besprechungsraum", + "arch_name": "3050@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Linoleum", + "main_operator_id": 39688, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76503, + "usage_id": 196 + }, "5101.01.051": { "address": { "place": "Garching b. M\u00fcnchen", @@ -431369,7 +431451,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3052, Arbeitsraum/ohn.Besp.Grp.", + "alt_name": "3052, Teek\u00fcche", "arch_name": "3052@5101", "area_id": 35, "building_id": 785, @@ -431382,7 +431464,7 @@ "wheelchair": null }, "tumonline_id": 49649, - "usage_id": 12 + "usage_id": 198 }, "5101.01.053": { "address": { @@ -431500,7 +431582,7 @@ "area_id": 35, "building_id": 785, "floor_level": "1.OG", - "floor_type": "Fliesen", + "floor_type": "Linoleum", "main_operator_id": 16203, "seats": { "sitting": 8, @@ -431552,27 +431634,6 @@ "tumonline_id": 13118, "usage_id": 12 }, - "5101.01.073": { - "address": { - "place": "Garching b. M\u00fcnchen", - "street": "James-Franck-Str. 1", - "zip_code": 85748 - }, - "alt_name": "3073, Arbeitsraum/ohn.Besp.Grp.", - "arch_name": "3073@5101", - "area_id": 35, - "building_id": 785, - "floor_level": "1.OG", - "floor_type": "Linoleum", - "main_operator_id": 48377, - "seats": { - "sitting": 1, - "standing": null, - "wheelchair": null - }, - "tumonline_id": 13123, - "usage_id": 12 - }, "5101.01.074": { "address": { "place": "Garching b. M\u00fcnchen", @@ -431834,7 +431895,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3092, WC-Herren", + "alt_name": "3092, Vorraum WC-H", "arch_name": "3092@5101", "area_id": 35, "building_id": 785, @@ -431847,7 +431908,7 @@ "wheelchair": null }, "tumonline_id": 50611, - "usage_id": 115 + "usage_id": 118 }, "5101.01.092A": { "address": { @@ -431870,6 +431931,27 @@ "tumonline_id": 50624, "usage_id": 115 }, + "5101.01.092B": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "3092B, Toilette WC-H", + "arch_name": "3092B@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Fliesen", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76510, + "usage_id": 115 + }, "5101.01.093": { "address": { "place": "Garching b. M\u00fcnchen", @@ -431933,6 +432015,27 @@ "tumonline_id": 50776, "usage_id": 160 }, + "5101.01.096A": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "3096A, Installationsschacht", + "arch_name": "3096A@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76500, + "usage_id": 120 + }, "5101.01.101": { "address": { "place": "Garching b. M\u00fcnchen", @@ -431944,7 +432047,7 @@ "area_id": 35, "building_id": 785, "floor_level": "1.OG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 48100, "seats": { "sitting": 2, @@ -431960,7 +432063,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3102, Physiklabor", + "alt_name": "3102, Labor", "arch_name": "3102@5101", "area_id": 35, "building_id": 785, @@ -431986,7 +432089,7 @@ "area_id": 35, "building_id": 785, "floor_level": "1.OG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 48100, "seats": { "sitting": 2, @@ -432002,7 +432105,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3112, Physiklabor (einfach)", + "alt_name": "3112, Labor", "arch_name": "3112@5101", "area_id": 35, "building_id": 785, @@ -432028,7 +432131,7 @@ "area_id": 35, "building_id": 785, "floor_level": "1.OG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 48100, "seats": { "sitting": 2, @@ -432044,7 +432147,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3118, B\u00fcro", + "alt_name": "3118, Labor", "arch_name": "3118@5101", "area_id": 35, "building_id": 785, @@ -432057,7 +432160,7 @@ "wheelchair": null }, "tumonline_id": 27679, - "usage_id": 12 + "usage_id": 103 }, "5101.01.123": { "address": { @@ -432070,7 +432173,7 @@ "area_id": 35, "building_id": 785, "floor_level": "1.OG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 48099, "seats": { "sitting": 2, @@ -432080,27 +432183,6 @@ "tumonline_id": 51139, "usage_id": 208 }, - "5101.01.123A": { - "address": { - "place": "Garching b. M\u00fcnchen", - "street": "James-Franck-Str. 1", - "zip_code": 85748 - }, - "alt_name": "3123A, B\u00fcro", - "arch_name": "3123A@5101", - "area_id": 35, - "building_id": 785, - "floor_level": "1.OG", - "floor_type": "Linoleum", - "main_operator_id": 48099, - "seats": { - "sitting": 2, - "standing": null, - "wheelchair": null - }, - "tumonline_id": 48655, - "usage_id": 12 - }, "5101.01.127": { "address": { "place": "Garching b. M\u00fcnchen", @@ -432112,7 +432194,7 @@ "area_id": 35, "building_id": 785, "floor_level": "1.OG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 48099, "seats": { "sitting": 2, @@ -432128,7 +432210,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3130, Physiklabor", + "alt_name": "3130, Labor", "arch_name": "3130@5101", "area_id": 35, "building_id": 785, @@ -432154,7 +432236,7 @@ "area_id": 35, "building_id": 785, "floor_level": "1.OG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 48099, "seats": { "sitting": 4, @@ -432175,7 +432257,7 @@ "area_id": 35, "building_id": 785, "floor_level": "1.OG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 53837, "seats": { "sitting": 1, @@ -432191,7 +432273,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3138, Physiklabor", + "alt_name": "3138, Labor", "arch_name": "3138@5101", "area_id": 35, "building_id": 785, @@ -432217,7 +432299,7 @@ "area_id": 35, "building_id": 785, "floor_level": "1.OG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 53837, "seats": { "sitting": 4, @@ -432238,7 +432320,7 @@ "area_id": 35, "building_id": 785, "floor_level": "1.OG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 53837, "seats": { "sitting": null, @@ -432259,7 +432341,7 @@ "area_id": 35, "building_id": 785, "floor_level": "1.OG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 53837, "seats": { "sitting": null, @@ -432275,7 +432357,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3146, Physiklabor", + "alt_name": "3146, Labor", "arch_name": "3146@5101", "area_id": 35, "building_id": 785, @@ -432296,12 +432378,12 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3146A, Umbau", + "alt_name": "3146A, Labor", "arch_name": "3146A@5101", "area_id": 35, "building_id": 785, "floor_level": "1.OG", - "floor_type": "Metall", + "floor_type": "Linoleum", "main_operator_id": 53837, "seats": { "sitting": 4, @@ -432309,7 +432391,7 @@ "wheelchair": null }, "tumonline_id": 17002, - "usage_id": 120 + "usage_id": 103 }, "5101.01.154": { "address": { @@ -432317,12 +432399,12 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3154, Umbau", + "alt_name": "3154, B\u00fcro", "arch_name": "3154@5101", "area_id": 35, "building_id": 785, "floor_level": "1.OG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 14217, "seats": { "sitting": 4, @@ -432330,91 +432412,49 @@ "wheelchair": null }, "tumonline_id": 28011, - "usage_id": 103 - }, - "5101.01.154A": { - "address": { - "place": "Garching b. M\u00fcnchen", - "street": "James-Franck-Str. 1", - "zip_code": 85748 - }, - "alt_name": "3154A, Umbau", - "arch_name": "3154A@5101", - "area_id": 35, - "building_id": 785, - "floor_level": "1.OG", - "floor_type": "Linoleum", - "main_operator_id": 14217, - "seats": { - "sitting": 4, - "standing": null, - "wheelchair": null - }, - "tumonline_id": 49175, - "usage_id": 103 - }, - "5101.01.161": { - "address": { - "place": "Garching b. M\u00fcnchen", - "street": "James-Franck-Str. 1", - "zip_code": 85748 - }, - "alt_name": "3161, Umbau", - "arch_name": "3161@5101", - "area_id": 35, - "building_id": 785, - "floor_level": "1.OG", - "floor_type": "Linoleum", - "main_operator_id": 16205, - "seats": { - "sitting": 1, - "standing": null, - "wheelchair": null - }, - "tumonline_id": 49184, "usage_id": 12 }, - "5101.01.161A": { + "5101.01.163": { "address": { "place": "Garching b. M\u00fcnchen", "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3161A, Umbau", - "arch_name": "3161A@5101", + "alt_name": "3163, B\u00fcro", + "arch_name": "3163@5101", "area_id": 35, "building_id": 785, "floor_level": "1.OG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 14217, "seats": { "sitting": null, "standing": null, "wheelchair": null }, - "tumonline_id": 49200, - "usage_id": 222 + "tumonline_id": 49335, + "usage_id": 12 }, - "5101.01.163": { + "5101.01.165": { "address": { "place": "Garching b. M\u00fcnchen", "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3163, Umbau", - "arch_name": "3163@5101", + "alt_name": "3165, B\u00fcro", + "arch_name": "3165@5101", "area_id": 35, "building_id": 785, "floor_level": "1.OG", - "floor_type": "Linoleum", - "main_operator_id": 14217, + "floor_type": "Spannteppich", + "main_operator_id": 39688, "seats": { "sitting": null, "standing": null, "wheelchair": null }, - "tumonline_id": 49335, - "usage_id": 104 + "tumonline_id": 76504, + "usage_id": 12 }, "5101.01.166": { "address": { @@ -432422,12 +432462,12 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3166, Umbau", + "alt_name": "3166, Aufenthalt", "arch_name": "3166@5101", "area_id": 35, "building_id": 785, "floor_level": "1.OG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 14217, "seats": { "sitting": 2, @@ -432435,7 +432475,7 @@ "wheelchair": null }, "tumonline_id": 28187, - "usage_id": 103 + "usage_id": 44 }, "5101.01.167": { "address": { @@ -432443,7 +432483,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3167, Umbau", + "alt_name": "3167, Labor", "arch_name": "3167@5101", "area_id": 35, "building_id": 785, @@ -432456,7 +432496,7 @@ "wheelchair": null }, "tumonline_id": 49353, - "usage_id": 102 + "usage_id": 194 }, "5101.01.172": { "address": { @@ -432464,12 +432504,12 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3172, Umbau", + "alt_name": "3172, B\u00fcro", "arch_name": "3172@5101", "area_id": 35, "building_id": 785, "floor_level": "1.OG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 14217, "seats": { "sitting": 3, @@ -432477,27 +432517,6 @@ "wheelchair": null }, "tumonline_id": 49361, - "usage_id": 102 - }, - "5101.01.178": { - "address": { - "place": "Garching b. M\u00fcnchen", - "street": "James-Franck-Str. 1", - "zip_code": 85748 - }, - "alt_name": "3178, Umbau", - "arch_name": "3178@5101", - "area_id": 35, - "building_id": 785, - "floor_level": "1.OG", - "floor_type": "Linoleum", - "main_operator_id": 14217, - "seats": { - "sitting": 1, - "standing": null, - "wheelchair": null - }, - "tumonline_id": 49371, "usage_id": 12 }, "5101.01.203": { @@ -432549,7 +432568,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3206, WC-Herren", + "alt_name": "3206, Vorraum WC-H", "arch_name": "3206@5101", "area_id": 35, "building_id": 785, @@ -432562,7 +432581,7 @@ "wheelchair": null }, "tumonline_id": 49533, - "usage_id": 115 + "usage_id": 118 }, "5101.01.206A": { "address": { @@ -432585,6 +432604,27 @@ "tumonline_id": 49664, "usage_id": 113 }, + "5101.01.206B": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "3206B, Toilette WC-H", + "arch_name": "3206B@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Fliesen", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76511, + "usage_id": 115 + }, "5101.01.207": { "address": { "place": "Garching b. M\u00fcnchen", @@ -432691,6 +432731,27 @@ "tumonline_id": 49824, "usage_id": 160 }, + "5101.01.212A": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "3212A, Installationsschacht", + "arch_name": "3212A@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76517, + "usage_id": 120 + }, "5101.01.213": { "address": { "place": "Garching b. M\u00fcnchen", @@ -433076,7 +433137,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3235C, Einzelarbeitsraum 8", + "alt_name": "3235C, Denkzelle", "arch_name": "3235C@5101", "area_id": 35, "building_id": 785, @@ -433089,7 +433150,7 @@ "wheelchair": null }, "tumonline_id": 65444, - "usage_id": 208 + "usage_id": 12 }, "5101.01.235D": { "address": { @@ -433097,7 +433158,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3235D, Einzelarbeitsraum 7", + "alt_name": "3235D, Denkzelle", "arch_name": "3235D@5101", "area_id": 35, "building_id": 785, @@ -433110,7 +433171,7 @@ "wheelchair": null }, "tumonline_id": 65445, - "usage_id": 208 + "usage_id": 12 }, "5101.01.235E": { "address": { @@ -433118,7 +433179,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3235E, Einzelarbeitsraum 6", + "alt_name": "3235E, Denkzelle", "arch_name": "3235E@5101", "area_id": 35, "building_id": 785, @@ -433131,7 +433192,7 @@ "wheelchair": null }, "tumonline_id": 65446, - "usage_id": 208 + "usage_id": 12 }, "5101.01.235F": { "address": { @@ -433139,7 +433200,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3235F, Einzelarbeitsraum 5", + "alt_name": "3235F, Denkzelle", "arch_name": "3235F@5101", "area_id": 35, "building_id": 785, @@ -433152,7 +433213,7 @@ "wheelchair": null }, "tumonline_id": 65447, - "usage_id": 208 + "usage_id": 12 }, "5101.01.235G": { "address": { @@ -433160,7 +433221,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3235G, Einzelarbeitsraum 4", + "alt_name": "3235G, Denkzelle", "arch_name": "3235G@5101", "area_id": 35, "building_id": 785, @@ -433173,7 +433234,7 @@ "wheelchair": null }, "tumonline_id": 65448, - "usage_id": 208 + "usage_id": 12 }, "5101.01.235H": { "address": { @@ -433181,7 +433242,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3235H, Einzelarbeitsraum 3", + "alt_name": "3235H, Denkzelle", "arch_name": "3235H@5101", "area_id": 35, "building_id": 785, @@ -433194,7 +433255,7 @@ "wheelchair": null }, "tumonline_id": 65449, - "usage_id": 208 + "usage_id": 12 }, "5101.01.235I": { "address": { @@ -433202,7 +433263,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3235I, Einzelarbeitsraum 2", + "alt_name": "3235I, Denkzelle", "arch_name": "3235I@5101", "area_id": 35, "building_id": 785, @@ -433215,7 +433276,7 @@ "wheelchair": null }, "tumonline_id": 65450, - "usage_id": 208 + "usage_id": 12 }, "5101.01.235J": { "address": { @@ -433223,7 +433284,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3235J, Einzelarbeitsraum 1", + "alt_name": "3235J, Denkzelle", "arch_name": "3235J@5101", "area_id": 35, "building_id": 785, @@ -433236,7 +433297,7 @@ "wheelchair": null }, "tumonline_id": 65451, - "usage_id": 208 + "usage_id": 12 }, "5101.01.235K": { "address": { @@ -433280,6 +433341,27 @@ "tumonline_id": 65443, "usage_id": 186 }, + "5101.01.235N": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "3235N, Treppe", + "arch_name": "3235N@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Spannteppich", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76512, + "usage_id": 223 + }, "5101.01.237": { "address": { "place": "Garching b. M\u00fcnchen", @@ -433312,7 +433394,7 @@ "area_id": 35, "building_id": 785, "floor_level": "1.OG", - "floor_type": "Fliesen", + "floor_type": "Linoleum", "main_operator_id": 26747, "seats": { "sitting": null, @@ -433328,12 +433410,12 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3237B, ELT-Unterv.", + "alt_name": "3237B, WC-H", "arch_name": "3237B@5101", "area_id": 35, "building_id": 785, "floor_level": "1.OG", - "floor_type": "Keine Angabe", + "floor_type": "Linoleum", "main_operator_id": 38542, "seats": { "sitting": null, @@ -433341,7 +433423,7 @@ "wheelchair": null }, "tumonline_id": 65453, - "usage_id": 160 + "usage_id": 115 }, "5101.01.237C": { "address": { @@ -433354,7 +433436,7 @@ "area_id": 35, "building_id": 785, "floor_level": "1.OG", - "floor_type": "Fliesen", + "floor_type": "Linoleum", "main_operator_id": 26747, "seats": { "sitting": null, @@ -433364,27 +433446,6 @@ "tumonline_id": 65454, "usage_id": 116 }, - "5101.01.237D": { - "address": { - "place": "Garching b. M\u00fcnchen", - "street": "James-Franck-Str. 1", - "zip_code": 85748 - }, - "alt_name": "3237D, WC-Herren", - "arch_name": "3237D@5101", - "area_id": 35, - "building_id": 785, - "floor_level": "1.OG", - "floor_type": "Fliesen", - "main_operator_id": 26747, - "seats": { - "sitting": null, - "standing": null, - "wheelchair": null - }, - "tumonline_id": 65455, - "usage_id": 118 - }, "5101.01.238": { "address": { "place": "Garching b. M\u00fcnchen", @@ -433448,6 +433509,27 @@ "tumonline_id": 50660, "usage_id": 160 }, + "5101.01.240A": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "3240A, Installationsschacht", + "arch_name": "3240A@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76498, + "usage_id": 120 + }, "5101.01.241": { "address": { "place": "Garching b. M\u00fcnchen", @@ -434133,7 +434215,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3292, WC-Herren", + "alt_name": "3292, Vorraum WC-H", "arch_name": "3292@5101", "area_id": 35, "building_id": 785, @@ -434146,6 +434228,27 @@ "wheelchair": null }, "tumonline_id": 49542, + "usage_id": 118 + }, + "5101.01.292A": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "3292A, Toilette WC-H", + "arch_name": "3292A@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Fliesen", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76509, "usage_id": 115 }, "5101.01.293": { @@ -434232,6 +434335,27 @@ "tumonline_id": 49572, "usage_id": 160 }, + "5101.01.296A": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "3296A, Installationsschacht", + "arch_name": "3296A@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76501, + "usage_id": 120 + }, "5101.01.301": { "address": { "place": "Garching b. M\u00fcnchen", @@ -434274,6 +434398,27 @@ "tumonline_id": 12598, "usage_id": 12 }, + "5101.01.302A": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "3302A, Installationsschacht", + "arch_name": "3302A@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76499, + "usage_id": 120 + }, "5101.01.303": { "address": { "place": "Garching b. M\u00fcnchen", @@ -435140,47 +435285,26 @@ "tumonline_id": 50370, "usage_id": 102 }, - "5101.01.505": { - "address": { - "place": "Garching b. M\u00fcnchen", - "street": "James-Franck-Str. 1", - "zip_code": 85748 - }, - "alt_name": "3505, Bakt., Biol., Biochem. Labor", - "arch_name": "3505@5101", - "area_id": 35, - "building_id": 785, - "floor_level": "1.OG", - "floor_type": "Linoleum", - "main_operator_id": 16203, - "seats": { - "sitting": 2, - "standing": null, - "wheelchair": null - }, - "tumonline_id": 50374, - "usage_id": 102 - }, - "5101.01.506": { + "5101.01.504A": { "address": { "place": "Garching b. M\u00fcnchen", "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3506, Bakt., Biol., Biochem. Labor", - "arch_name": "3506@5101", + "alt_name": "3504A, Schleuse", + "arch_name": "3504A@5101", "area_id": 35, "building_id": 785, "floor_level": "1.OG", "floor_type": "Linoleum", - "main_operator_id": 16203, + "main_operator_id": 19691, "seats": { - "sitting": 2, + "sitting": null, "standing": null, "wheelchair": null }, - "tumonline_id": 50377, - "usage_id": 102 + "tumonline_id": 76515, + "usage_id": 105 }, "5101.01.510": { "address": { @@ -435350,6 +435474,27 @@ "tumonline_id": 50536, "usage_id": 102 }, + "5101.01.541A": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "3541A, Schleuse", + "arch_name": "3541A@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Linoleum", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76514, + "usage_id": 105 + }, "5101.01.542": { "address": { "place": "Garching b. M\u00fcnchen", @@ -435476,6 +435621,48 @@ "tumonline_id": 50686, "usage_id": 102 }, + "5101.01.559A": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "3559A, Lab.m.bes.luftt.Anlage", + "arch_name": "3559A@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Linoleum", + "main_operator_id": 39688, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76507, + "usage_id": 102 + }, + "5101.01.559B": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "3559B, Schleuse", + "arch_name": "3559B@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Linoleum", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76513, + "usage_id": 105 + }, "5101.01.564": { "address": { "place": "Garching b. M\u00fcnchen", @@ -435524,7 +435711,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3567A, Kopierer", + "alt_name": "3567A, Labor", "arch_name": "3567A@5101", "area_id": 35, "building_id": 785, @@ -435537,7 +435724,7 @@ "wheelchair": null }, "tumonline_id": 50695, - "usage_id": 110 + "usage_id": 103 }, "5101.01.568": { "address": { @@ -435707,27 +435894,6 @@ "tumonline_id": 50707, "usage_id": 44 }, - "5101.01.717": { - "address": { - "place": "Garching b. M\u00fcnchen", - "street": "James-Franck-Str. 1", - "zip_code": 85748 - }, - "alt_name": "3717, Feinmech. Werkstatt (gem. Nutz.)", - "arch_name": "3717@5101", - "area_id": 35, - "building_id": 785, - "floor_level": "1.OG", - "floor_type": "Linoleum", - "main_operator_id": 16201, - "seats": { - "sitting": 1, - "standing": null, - "wheelchair": null - }, - "tumonline_id": 50709, - "usage_id": 108 - }, "5101.01.718": { "address": { "place": "Garching b. M\u00fcnchen", @@ -435897,14 +436063,14 @@ "tumonline_id": 50715, "usage_id": 12 }, - "5101.01.749": { + "5101.01.752": { "address": { "place": "Garching b. M\u00fcnchen", "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3749, Arbeitsraum", - "arch_name": "3749@5101", + "alt_name": "3752, Physiklabor (einfach)", + "arch_name": "3752@5101", "area_id": 35, "building_id": 785, "floor_level": "1.OG", @@ -435915,29 +436081,29 @@ "standing": null, "wheelchair": null }, - "tumonline_id": 50716, - "usage_id": 12 + "tumonline_id": 50718, + "usage_id": 103 }, - "5101.01.752": { + "5101.01.753": { "address": { "place": "Garching b. M\u00fcnchen", "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3752, Physiklabor (einfach)", - "arch_name": "3752@5101", + "alt_name": "3753, B\u00fcro", + "arch_name": "3753@5101", "area_id": 35, "building_id": 785, "floor_level": "1.OG", "floor_type": "Linoleum", - "main_operator_id": 16201, + "main_operator_id": 39688, "seats": { - "sitting": 3, + "sitting": null, "standing": null, "wheelchair": null }, - "tumonline_id": 50718, - "usage_id": 103 + "tumonline_id": 76505, + "usage_id": 12 }, "5101.01.755": { "address": { @@ -436002,14 +436168,14 @@ "tumonline_id": 50711, "usage_id": 12 }, - "5101.01.769": { + "5101.01.772": { "address": { "place": "Garching b. M\u00fcnchen", "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3769, Chemielabor", - "arch_name": "3769@5101", + "alt_name": "3772, Physiklabor (einfach)", + "arch_name": "3772@5101", "area_id": 35, "building_id": 785, "floor_level": "1.OG", @@ -436020,29 +436186,596 @@ "standing": null, "wheelchair": null }, - "tumonline_id": 50712, - "usage_id": 102 + "tumonline_id": 50713, + "usage_id": 103 }, - "5101.01.772": { + "5101.01.775": { "address": { "place": "Garching b. M\u00fcnchen", "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3772, Physiklabor (einfach)", - "arch_name": "3772@5101", + "alt_name": "3775, Technologisches Labor", + "arch_name": "3775@5101", "area_id": 35, "building_id": 785, "floor_level": "1.OG", "floor_type": "Linoleum", - "main_operator_id": 16201, + "main_operator_id": 39688, "seats": { - "sitting": 4, + "sitting": null, "standing": null, "wheelchair": null }, - "tumonline_id": 50713, - "usage_id": 103 + "tumonline_id": 76502, + "usage_id": 194 + }, + "5101.01.801": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76541, + "usage_id": 120 + }, + "5101.01.802": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76497, + "usage_id": 120 + }, + "5101.01.803": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76538, + "usage_id": 120 + }, + "5101.01.804": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76496, + "usage_id": 120 + }, + "5101.01.805": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76528, + "usage_id": 120 + }, + "5101.01.806": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76526, + "usage_id": 120 + }, + "5101.01.807": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76527, + "usage_id": 120 + }, + "5101.01.808": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76495, + "usage_id": 120 + }, + "5101.01.809": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76540, + "usage_id": 120 + }, + "5101.01.810": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76537, + "usage_id": 120 + }, + "5101.01.811": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76532, + "usage_id": 120 + }, + "5101.01.812": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76534, + "usage_id": 120 + }, + "5101.01.813": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76531, + "usage_id": 120 + }, + "5101.01.814": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76539, + "usage_id": 120 + }, + "5101.01.815": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76523, + "usage_id": 120 + }, + "5101.01.816": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76535, + "usage_id": 120 + }, + "5101.01.817": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76522, + "usage_id": 120 + }, + "5101.01.818": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76529, + "usage_id": 120 + }, + "5101.01.819": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76524, + "usage_id": 120 + }, + "5101.01.820": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76525, + "usage_id": 120 + }, + "5101.01.821": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76518, + "usage_id": 120 + }, + "5101.01.822": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76536, + "usage_id": 120 + }, + "5101.01.823": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76521, + "usage_id": 120 + }, + "5101.01.824": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76530, + "usage_id": 120 + }, + "5101.01.825": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76520, + "usage_id": 120 + }, + "5101.01.826": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76533, + "usage_id": 120 + }, + "5101.01.827": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.OG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76519, + "usage_id": 120 }, "5101.01.901": { "address": { @@ -436464,26 +437197,26 @@ "tumonline_id": 48182, "usage_id": 223 }, - "5101.01.929": { + "5101.01.932": { "address": { "place": "Garching b. M\u00fcnchen", "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "3929, Dachleiter", - "arch_name": "3929@5101", + "alt_name": "3932, Treppe im Freien", + "arch_name": "3932@5101", "area_id": 35, "building_id": 785, "floor_level": "1.OG", - "floor_type": "Fliesen", + "floor_type": "Estrich (Beton)", "main_operator_id": 19691, "seats": { "sitting": null, "standing": null, "wheelchair": null }, - "tumonline_id": 48220, - "usage_id": 223 + "tumonline_id": 76506, + "usage_id": 7 }, "5101.01.941": { "address": { @@ -436632,6 +437365,27 @@ "tumonline_id": 65441, "usage_id": 131 }, + "5101.02.932": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "4932, Gang, Weg im Freien", + "arch_name": "4932@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "2.OG", + "floor_type": "Gitterrost", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76483, + "usage_id": 219 + }, "5101.EG.001": { "address": { "place": "Garching b. M\u00fcnchen", @@ -436744,7 +437498,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2010A, WC-Herren", + "alt_name": "2010A, Vorraum WC-H", "arch_name": "2010A@5101", "area_id": 35, "building_id": 785, @@ -436757,6 +437511,27 @@ "wheelchair": null }, "tumonline_id": 51589, + "usage_id": 118 + }, + "5101.EG.010B": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "2010B, Toilette WC-H", + "arch_name": "2010B@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Fliesen", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76583, "usage_id": 115 }, "5101.EG.011": { @@ -436928,25 +437703,25 @@ "tumonline_id": 10680, "usage_id": 12 }, - "5101.EG.021": { + "5101.EG.023": { "address": { "place": "Garching b. M\u00fcnchen", "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2023, Prof.-B\u00fcro", + "alt_name": "2023, B\u00fcro", "arch_name": "2023@5101", "area_id": 35, "building_id": 785, "floor_level": "EG", "floor_type": "Spannteppich", - "main_operator_id": 48957, + "main_operator_id": 39688, "seats": { - "sitting": 1, + "sitting": null, "standing": null, "wheelchair": null }, - "tumonline_id": 10684, + "tumonline_id": 76577, "usage_id": 12 }, "5101.EG.024": { @@ -437565,12 +438340,12 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2072, Flur/\u00dcbergang", + "alt_name": "2072, Verbindungsgang", "arch_name": "2072@5101", "area_id": 35, "building_id": 785, "floor_level": "EG", - "floor_type": "Fliesen", + "floor_type": "Linoleum", "main_operator_id": 19691, "seats": { "sitting": null, @@ -437578,7 +438353,7 @@ "wheelchair": null }, "tumonline_id": 53482, - "usage_id": 222 + "usage_id": 16 }, "5101.EG.073": { "address": { @@ -437855,14 +438630,14 @@ "tumonline_id": 51278, "usage_id": 115 }, - "5101.EG.092A": { + "5101.EG.092C": { "address": { "place": "Garching b. M\u00fcnchen", "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2092A, WC-Damen", - "arch_name": "2092A@5101", + "alt_name": "2092C, Vorraum WC-D", + "arch_name": "2092C@5101", "area_id": 35, "building_id": 785, "floor_level": "EG", @@ -437873,7 +438648,28 @@ "standing": null, "wheelchair": null }, - "tumonline_id": 51431, + "tumonline_id": 76586, + "usage_id": 118 + }, + "5101.EG.092D": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "2092D, Toilette WC-D", + "arch_name": "2092D@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Fliesen", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76581, "usage_id": 116 }, "5101.EG.093": { @@ -437904,7 +438700,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2095, Elektroverteiler", + "alt_name": "2095, Kopierer", "arch_name": "2095@5101", "area_id": 35, "building_id": 785, @@ -437917,7 +438713,7 @@ "wheelchair": null }, "tumonline_id": 23316, - "usage_id": 160 + "usage_id": 110 }, "5101.EG.096": { "address": { @@ -437946,7 +438742,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2101, W\u00e4geraum", + "alt_name": "2101, B\u00fcro", "arch_name": "2101@5101", "area_id": 35, "building_id": 785, @@ -437959,7 +438755,7 @@ "wheelchair": null }, "tumonline_id": 51629, - "usage_id": 103 + "usage_id": 12 }, "5101.EG.102": { "address": { @@ -438150,90 +438946,69 @@ "tumonline_id": 52126, "usage_id": 103 }, - "5101.EG.129": { + "5101.EG.127": { "address": { "place": "Garching b. M\u00fcnchen", "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2129, Feinmechanische Werkstatt", - "arch_name": "2129@5101", + "alt_name": "2127, Physiklabor einf./Verf\u00fcgung", + "arch_name": "2127@5101", "area_id": 35, "building_id": 785, "floor_level": "EG", "floor_type": "Linoleum", - "main_operator_id": 45028, + "main_operator_id": 39688, "seats": { - "sitting": 1, + "sitting": null, "standing": null, "wheelchair": null }, - "tumonline_id": 17825, - "usage_id": 108 + "tumonline_id": 76573, + "usage_id": 103 }, - "5101.EG.131": { + "5101.EG.129": { "address": { "place": "Garching b. M\u00fcnchen", "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2131, B\u00fcro", - "arch_name": "2131@5101", + "alt_name": "2129, Feinmechanische Werkstatt", + "arch_name": "2129@5101", "area_id": 35, "building_id": 785, "floor_level": "EG", "floor_type": "Linoleum", "main_operator_id": 45028, "seats": { - "sitting": null, + "sitting": 1, "standing": null, "wheelchair": null }, - "tumonline_id": 75028, - "usage_id": 12 + "tumonline_id": 17825, + "usage_id": 108 }, - "5101.EG.132": { + "5101.EG.131": { "address": { "place": "Garching b. M\u00fcnchen", "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2132, B\u00fcro", - "arch_name": "2132@5101", + "alt_name": "2131, B\u00fcro", + "arch_name": "2131@5101", "area_id": 35, "building_id": 785, "floor_level": "EG", "floor_type": "Linoleum", "main_operator_id": 45028, "seats": { - "sitting": 2, + "sitting": null, "standing": null, "wheelchair": null }, - "tumonline_id": 52141, + "tumonline_id": 75028, "usage_id": 12 }, - "5101.EG.142": { - "address": { - "place": "Garching b. M\u00fcnchen", - "street": "James-Franck-Str. 1", - "zip_code": 85748 - }, - "alt_name": "2142, Physiklabor", - "arch_name": "2142@5101", - "area_id": 35, - "building_id": 785, - "floor_level": "EG", - "floor_type": "Linoleum", - "main_operator_id": 21512, - "seats": { - "sitting": 2, - "standing": null, - "wheelchair": null - }, - "tumonline_id": 52155, - "usage_id": 103 - }, "5101.EG.142A": { "address": { "place": "Garching b. M\u00fcnchen", @@ -438276,48 +439051,6 @@ "tumonline_id": 10046, "usage_id": 12 }, - "5101.EG.155": { - "address": { - "place": "Garching b. M\u00fcnchen", - "street": "James-Franck-Str. 1", - "zip_code": 85748 - }, - "alt_name": "2155, Arbeitsraum/ohn.Besp.Grp.", - "arch_name": "2155@5101", - "area_id": 35, - "building_id": 785, - "floor_level": "EG", - "floor_type": "Linoleum", - "main_operator_id": 21512, - "seats": { - "sitting": 1, - "standing": null, - "wheelchair": null - }, - "tumonline_id": 52323, - "usage_id": 12 - }, - "5101.EG.159": { - "address": { - "place": "Garching b. M\u00fcnchen", - "street": "James-Franck-Str. 1", - "zip_code": 85748 - }, - "alt_name": "2159, Aufenthalt/Werkstatt", - "arch_name": "2159@5101", - "area_id": 35, - "building_id": 785, - "floor_level": "EG", - "floor_type": "Linoleum", - "main_operator_id": 16209, - "seats": { - "sitting": 3, - "standing": null, - "wheelchair": null - }, - "tumonline_id": 52333, - "usage_id": 44 - }, "5101.EG.162": { "address": { "place": "Garching b. M\u00fcnchen", @@ -438471,7 +439204,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2206, WC-Herren", + "alt_name": "2206, Vorraum WC-H", "arch_name": "2206@5101", "area_id": 35, "building_id": 785, @@ -438484,27 +439217,48 @@ "wheelchair": null }, "tumonline_id": 52673, + "usage_id": 118 + }, + "5101.EG.206A": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "2206A, Toilette WC-H", + "arch_name": "2206A@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Fliesen", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76584, "usage_id": 115 }, - "5101.EG.207": { + "5101.EG.209": { "address": { "place": "Garching b. M\u00fcnchen", "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2207, Arbeitsraum/ohn.Besp.Grp.", - "arch_name": "2207@5101", + "alt_name": "2209, B\u00fcro", + "arch_name": "2209@5101", "area_id": 35, "building_id": 785, "floor_level": "EG", - "floor_type": "Linoleum", - "main_operator_id": 21569, + "floor_type": "Spannteppich", + "main_operator_id": 39688, "seats": { - "sitting": 5, + "sitting": null, "standing": null, "wheelchair": null }, - "tumonline_id": 10090, + "tumonline_id": 76576, "usage_id": 12 }, "5101.EG.210": { @@ -438655,25 +439409,25 @@ "tumonline_id": 53019, "usage_id": 12 }, - "5101.EG.219": { + "5101.EG.221": { "address": { "place": "Garching b. M\u00fcnchen", "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2219, Prof.-B\u00fcro", - "arch_name": "2219@5101", + "alt_name": "2221, B\u00fcro", + "arch_name": "2221@5101", "area_id": 35, "building_id": 785, "floor_level": "EG", "floor_type": "Linoleum", - "main_operator_id": 42658, + "main_operator_id": 39688, "seats": { - "sitting": 1, + "sitting": null, "standing": null, "wheelchair": null }, - "tumonline_id": 10133, + "tumonline_id": 76580, "usage_id": 12 }, "5101.EG.223": { @@ -438810,12 +439564,12 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2230A, Installationsschacht", + "alt_name": "2230A, Installation", "arch_name": "2230A@5101", "area_id": 35, "building_id": 785, "floor_level": "EG", - "floor_type": "Keine Angabe", + "floor_type": "Estrich (Beton)", "main_operator_id": 38542, "seats": { "sitting": null, @@ -438867,27 +439621,6 @@ "tumonline_id": 10247, "usage_id": 12 }, - "5101.EG.237A": { - "address": { - "place": "Garching b. M\u00fcnchen", - "street": "James-Franck-Str. 1", - "zip_code": 85748 - }, - "alt_name": "2237A, Aufzug", - "arch_name": "2237A@5101", - "area_id": 35, - "building_id": 785, - "floor_level": "EG", - "floor_type": "Keine Angabe", - "main_operator_id": 25925, - "seats": { - "sitting": null, - "standing": null, - "wheelchair": null - }, - "tumonline_id": 59097, - "usage_id": 4 - }, "5101.EG.238": { "address": { "place": "Garching b. M\u00fcnchen", @@ -439421,7 +440154,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2280, Arbeitsraum/ohn.Besp.Grp.", + "alt_name": "2280, Teek\u00fcche", "arch_name": "2280@5101", "area_id": 35, "building_id": 785, @@ -439434,7 +440167,7 @@ "wheelchair": null }, "tumonline_id": 51992, - "usage_id": 12 + "usage_id": 198 }, "5101.EG.281": { "address": { @@ -439610,7 +440343,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2298, Elektroverteiler", + "alt_name": "2298, Archiv", "arch_name": "2298@5101", "area_id": 35, "building_id": 785, @@ -439623,7 +440356,7 @@ "wheelchair": null }, "tumonline_id": 52357, - "usage_id": 160 + "usage_id": 2 }, "5101.EG.299": { "address": { @@ -439631,7 +440364,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2299, WC-Herren", + "alt_name": "2299, Vorraum WC-H", "arch_name": "2299@5101", "area_id": 35, "building_id": 785, @@ -439644,6 +440377,27 @@ "wheelchair": null }, "tumonline_id": 52367, + "usage_id": 118 + }, + "5101.EG.299A": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "2299A, Toilette WC-H", + "arch_name": "2299A@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Fliesen", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76582, "usage_id": 115 }, "5101.EG.301": { @@ -439736,7 +440490,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2302C, Optisches Labor (K. B., MV)", + "alt_name": "2302C, Schleuse", "arch_name": "2302C@5101", "area_id": 35, "building_id": 785, @@ -439749,7 +440503,28 @@ "wheelchair": null }, "tumonline_id": 52688, - "usage_id": 103 + "usage_id": 105 + }, + "5101.EG.302D": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "2302D, Schleuse im Laborbereich", + "arch_name": "2302D@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Linoleum", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76587, + "usage_id": 105 }, "5101.EG.312": { "address": { @@ -439772,6 +440547,27 @@ "tumonline_id": 52703, "usage_id": 103 }, + "5101.EG.312A": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "2312A, Physiklabor einf./Verf\u00fcgung", + "arch_name": "2312A@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Linoleum", + "main_operator_id": 39688, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76578, + "usage_id": 103 + }, "5101.EG.313": { "address": { "place": "Garching b. M\u00fcnchen", @@ -439877,26 +440673,26 @@ "tumonline_id": 53046, "usage_id": 103 }, - "5101.EG.331": { + "5101.EG.329": { "address": { "place": "Garching b. M\u00fcnchen", "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2329, Feinmechanische Werkstatt", + "alt_name": "2329, Teek\u00fcche", "arch_name": "2329@5101", "area_id": 35, "building_id": 785, "floor_level": "EG", "floor_type": "Linoleum", - "main_operator_id": 48957, + "main_operator_id": 39688, "seats": { - "sitting": 1, + "sitting": null, "standing": null, "wheelchair": null }, - "tumonline_id": 53051, - "usage_id": 108 + "tumonline_id": 76579, + "usage_id": 198 }, "5101.EG.334": { "address": { @@ -439940,14 +440736,14 @@ "tumonline_id": 53214, "usage_id": 102 }, - "5101.EG.341": { + "5101.EG.341A": { "address": { "place": "Garching b. M\u00fcnchen", "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2341, Arbeitsraum/ohn.Besp.Grp.", - "arch_name": "2341@5101", + "alt_name": "2341A, Arbeitsraum/ohn.Besp.Grp.", + "arch_name": "2341A@5101", "area_id": 35, "building_id": 785, "floor_level": "EG", @@ -439958,28 +440754,28 @@ "standing": null, "wheelchair": null }, - "tumonline_id": 15861, + "tumonline_id": 75027, "usage_id": 12 }, - "5101.EG.341A": { + "5101.EG.341B": { "address": { "place": "Garching b. M\u00fcnchen", "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2341A, Arbeitsraum/ohn.Besp.Grp.", - "arch_name": "2341A@5101", + "alt_name": "2341B, B\u00fcro", + "arch_name": "2341B@5101", "area_id": 35, "building_id": 785, "floor_level": "EG", "floor_type": "Linoleum", - "main_operator_id": 21569, + "main_operator_id": 39688, "seats": { - "sitting": 8, + "sitting": null, "standing": null, "wheelchair": null }, - "tumonline_id": 75027, + "tumonline_id": 76574, "usage_id": 12 }, "5101.EG.342": { @@ -440140,7 +440936,7 @@ "area_id": 35, "building_id": 785, "floor_level": "EG", - "floor_type": "Linoleum", + "floor_type": "Spannteppich", "main_operator_id": 21569, "seats": { "sitting": null, @@ -440171,27 +440967,6 @@ "tumonline_id": 53735, "usage_id": 30 }, - "5101.EG.500": { - "address": { - "place": "Garching b. M\u00fcnchen", - "street": "James-Franck-Str. 1", - "zip_code": 85748 - }, - "alt_name": "2500, Physiklabor", - "arch_name": "2500@5101", - "area_id": 35, - "building_id": 785, - "floor_level": "EG", - "floor_type": "Spannteppich", - "main_operator_id": 16203, - "seats": { - "sitting": null, - "standing": null, - "wheelchair": null - }, - "tumonline_id": 53743, - "usage_id": 103 - }, "5101.EG.501": { "address": { "place": "Garching b. M\u00fcnchen", @@ -440405,6 +441180,27 @@ "tumonline_id": 16788, "usage_id": 103 }, + "5101.EG.721": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "2721, Technologisches Labor", + "arch_name": "2721@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Linoleum", + "main_operator_id": 39688, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76572, + "usage_id": 194 + }, "5101.EG.732": { "address": { "place": "Garching b. M\u00fcnchen", @@ -440580,8 +441376,8 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2760, Physiklabor", - "arch_name": "2760@5101", + "alt_name": "2760A, Physiklabor", + "arch_name": "2760A@5101", "area_id": 35, "building_id": 785, "floor_level": "EG", @@ -440595,35 +441391,35 @@ "tumonline_id": 51722, "usage_id": 103 }, - "5101.EG.761": { + "5101.EG.760B": { "address": { "place": "Garching b. M\u00fcnchen", "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2761, Physiklabor", - "arch_name": "2761@5101", + "alt_name": "2760B, Physikal.Messr\u00e4ume", + "arch_name": "2760B@5101", "area_id": 35, "building_id": 785, "floor_level": "EG", "floor_type": "Linoleum", - "main_operator_id": 16202, + "main_operator_id": 39688, "seats": { - "sitting": 2, + "sitting": null, "standing": null, "wheelchair": null }, - "tumonline_id": 52030, + "tumonline_id": 76575, "usage_id": 103 }, - "5101.EG.771": { + "5101.EG.761": { "address": { "place": "Garching b. M\u00fcnchen", "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "2771, Physiklabor", - "arch_name": "2771@5101", + "alt_name": "2761, Physiklabor", + "arch_name": "2761@5101", "area_id": 35, "building_id": 785, "floor_level": "EG", @@ -440634,7 +441430,7 @@ "standing": null, "wheelchair": null }, - "tumonline_id": 52048, + "tumonline_id": 52030, "usage_id": 103 }, "5101.EG.774": { @@ -440679,6 +441475,594 @@ "tumonline_id": 52559, "usage_id": 12 }, + "5101.EG.800": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76478, + "usage_id": 120 + }, + "5101.EG.801": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76480, + "usage_id": 120 + }, + "5101.EG.802": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76473, + "usage_id": 120 + }, + "5101.EG.803": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76479, + "usage_id": 120 + }, + "5101.EG.804": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76465, + "usage_id": 120 + }, + "5101.EG.805": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76471, + "usage_id": 120 + }, + "5101.EG.806": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76596, + "usage_id": 120 + }, + "5101.EG.807": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76597, + "usage_id": 120 + }, + "5101.EG.808": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76477, + "usage_id": 120 + }, + "5101.EG.809": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76482, + "usage_id": 120 + }, + "5101.EG.810": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76470, + "usage_id": 120 + }, + "5101.EG.811": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76481, + "usage_id": 120 + }, + "5101.EG.812": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76466, + "usage_id": 120 + }, + "5101.EG.813": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76472, + "usage_id": 120 + }, + "5101.EG.814": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76475, + "usage_id": 120 + }, + "5101.EG.815": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76591, + "usage_id": 120 + }, + "5101.EG.816": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76474, + "usage_id": 120 + }, + "5101.EG.817": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76592, + "usage_id": 120 + }, + "5101.EG.818": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76467, + "usage_id": 120 + }, + "5101.EG.819": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76594, + "usage_id": 120 + }, + "5101.EG.820": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76595, + "usage_id": 120 + }, + "5101.EG.821": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76588, + "usage_id": 120 + }, + "5101.EG.822": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76476, + "usage_id": 120 + }, + "5101.EG.823": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76593, + "usage_id": 120 + }, + "5101.EG.824": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76469, + "usage_id": 120 + }, + "5101.EG.825": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76589, + "usage_id": 120 + }, + "5101.EG.826": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76468, + "usage_id": 120 + }, + "5101.EG.827": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76590, + "usage_id": 120 + }, "5101.EG.901": { "address": { "place": "Garching b. M\u00fcnchen", @@ -441216,7 +442600,7 @@ "area_id": 35, "building_id": 785, "floor_level": "EG", - "floor_type": "Keine Angabe", + "floor_type": "Spannteppich", "main_operator_id": 19691, "seats": { "sitting": null, @@ -441226,6 +442610,69 @@ "tumonline_id": 50747, "usage_id": 222 }, + "5101.EG.930": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "2930, Treppe", + "arch_name": "2930@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Spannteppich", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76585, + "usage_id": 223 + }, + "5101.EG.931": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "2931, Weg", + "arch_name": "2931@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76570, + "usage_id": 219 + }, + "5101.EG.933": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "2933, Gang, Weg im Freien", + "arch_name": "2933@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "EG", + "floor_type": "Keine Angabe", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76571, + "usage_id": 219 + }, "5101.EG.941": { "address": { "place": "Garching b. M\u00fcnchen", @@ -441421,7 +442868,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "1014A, Waschraum", + "alt_name": "1014A, Flur", "arch_name": "1014A@5101", "area_id": 35, "building_id": 785, @@ -441434,7 +442881,7 @@ "wheelchair": null }, "tumonline_id": 47052, - "usage_id": 210 + "usage_id": 222 }, "5101.U1.014B": { "address": { @@ -441820,7 +443267,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "1055, Grobmetallwerkstatt", + "alt_name": "1055, Aufenthalt", "arch_name": "1055@5101", "area_id": 35, "building_id": 785, @@ -441833,7 +443280,7 @@ "wheelchair": null }, "tumonline_id": 45094, - "usage_id": 51 + "usage_id": 44 }, "5101.U1.056": { "address": { @@ -441841,7 +443288,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "1056, Ofenraum", + "alt_name": "1056, Lager", "arch_name": "1056@5101", "area_id": 35, "building_id": 785, @@ -441854,7 +443301,7 @@ "wheelchair": null }, "tumonline_id": 45247, - "usage_id": 201 + "usage_id": 30 }, "5101.U1.057": { "address": { @@ -441877,6 +443324,27 @@ "tumonline_id": 45268, "usage_id": 103 }, + "5101.U1.058": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "1058, Lager", + "arch_name": "1058@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 39688, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76545, + "usage_id": 30 + }, "5101.U1.061": { "address": { "place": "Garching b. M\u00fcnchen", @@ -442360,6 +443828,27 @@ "tumonline_id": 46740, "usage_id": 120 }, + "5101.U1.096A": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "1096A, Installationsschacht", + "arch_name": "1096A@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Keine Angabe", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76568, + "usage_id": 120 + }, "5101.U1.101": { "address": { "place": "Garching b. M\u00fcnchen", @@ -442371,7 +443860,7 @@ "area_id": 35, "building_id": 785, "floor_level": "1.UG", - "floor_type": "Fliesen", + "floor_type": "Estrich (Beton)", "main_operator_id": 19691, "seats": { "sitting": null, @@ -442392,7 +443881,7 @@ "area_id": 35, "building_id": 785, "floor_level": "1.UG", - "floor_type": "Fliesen", + "floor_type": "Estrich (Beton)", "main_operator_id": 45028, "seats": { "sitting": null, @@ -442770,7 +444259,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "1206A, WC-Vorraum Damen u. Herren", + "alt_name": "1206A, Vorraum WC-H", "arch_name": "1206A@5101", "area_id": 35, "building_id": 785, @@ -442783,7 +444272,7 @@ "wheelchair": null }, "tumonline_id": 45648, - "usage_id": 37 + "usage_id": 118 }, "5101.U1.206B": { "address": { @@ -443310,6 +444799,27 @@ "tumonline_id": 23174, "usage_id": 103 }, + "5101.U1.251": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "1251, Physikal.Messr\u00e4ume", + "arch_name": "1251@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Linoleum", + "main_operator_id": 39688, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76548, + "usage_id": 103 + }, "5101.U1.254": { "address": { "place": "Garching b. M\u00fcnchen", @@ -443442,7 +444952,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "1267, Putzraum", + "alt_name": "1267, B\u00fcro", "arch_name": "1267@5101", "area_id": 35, "building_id": 785, @@ -443455,7 +444965,7 @@ "wheelchair": null }, "tumonline_id": 44800, - "usage_id": 205 + "usage_id": 12 }, "5101.U1.268": { "address": { @@ -443736,7 +445246,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "1292, WC-Herren", + "alt_name": "1292, Vorraum WC-H", "arch_name": "1292@5101", "area_id": 35, "building_id": 785, @@ -443749,6 +445259,27 @@ "wheelchair": null }, "tumonline_id": 45547, + "usage_id": 118 + }, + "5101.U1.293": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "1293, Toilette WC-H", + "arch_name": "1293@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Fliesen", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76549, "usage_id": 115 }, "5101.U1.296": { @@ -443772,6 +445303,27 @@ "tumonline_id": 45705, "usage_id": 160 }, + "5101.U1.296A": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "1296A, Installationsschacht", + "arch_name": "1296A@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Keine Angabe", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76569, + "usage_id": 120 + }, "5101.U1.301": { "address": { "place": "Garching b. M\u00fcnchen", @@ -443856,6 +445408,27 @@ "tumonline_id": 45907, "usage_id": 30 }, + "5101.U1.306B": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "1306B, Aufenthaltsraum", + "arch_name": "1306B@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Linoleum", + "main_operator_id": 39688, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76547, + "usage_id": 44 + }, "5101.U1.309": { "address": { "place": "Garching b. M\u00fcnchen", @@ -444035,7 +445608,7 @@ "area_id": 35, "building_id": 785, "floor_level": "1.UG", - "floor_type": "Keine Angabe", + "floor_type": "Estrich (Beton)", "main_operator_id": 25925, "seats": { "sitting": null, @@ -444056,7 +445629,7 @@ "area_id": 35, "building_id": 785, "floor_level": "1.UG", - "floor_type": "Keine Angabe", + "floor_type": "Estrich (Beton)", "main_operator_id": 25925, "seats": { "sitting": null, @@ -444171,6 +445744,27 @@ "tumonline_id": 46995, "usage_id": 30 }, + "5101.U1.504A": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "1504A, Gang", + "arch_name": "1504A@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Linoleum", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76554, + "usage_id": 16 + }, "5101.U1.505": { "address": { "place": "Garching b. M\u00fcnchen", @@ -444303,7 +445897,7 @@ "street": "James-Franck-Str. 1", "zip_code": 85748 }, - "alt_name": "1510, WC-Damen", + "alt_name": "1510, Vorraum WC", "arch_name": "1510@5101", "area_id": 35, "building_id": 785, @@ -444316,7 +445910,49 @@ "wheelchair": null }, "tumonline_id": 44659, - "usage_id": 116 + "usage_id": 118 + }, + "5101.U1.511": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "1511, Toilette f. Behinderte", + "arch_name": "1511@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Fliesen", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76550, + "usage_id": 117 + }, + "5101.U1.512": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "1512, Vorraum WC-D", + "arch_name": "1512@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Fliesen", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76552, + "usage_id": 118 }, "5101.U1.701": { "address": { @@ -444802,6 +446438,258 @@ "tumonline_id": 52732, "usage_id": 103 }, + "5101.U1.800": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76563, + "usage_id": 120 + }, + "5101.U1.801": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76566, + "usage_id": 120 + }, + "5101.U1.802": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76560, + "usage_id": 120 + }, + "5101.U1.803": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76557, + "usage_id": 120 + }, + "5101.U1.804": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76567, + "usage_id": 120 + }, + "5101.U1.805": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76556, + "usage_id": 120 + }, + "5101.U1.806": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76558, + "usage_id": 120 + }, + "5101.U1.807": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76559, + "usage_id": 120 + }, + "5101.U1.808": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76562, + "usage_id": 120 + }, + "5101.U1.809": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76565, + "usage_id": 120 + }, + "5101.U1.810": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76561, + "usage_id": 120 + }, + "5101.U1.811": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Installationsschacht", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 25925, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76564, + "usage_id": 120 + }, "5101.U1.901": { "address": { "place": "Garching b. M\u00fcnchen", @@ -444865,6 +446753,27 @@ "tumonline_id": 52920, "usage_id": 222 }, + "5101.U1.903B": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "1903B, Treppe im Freien", + "arch_name": "1903B@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76553, + "usage_id": 7 + }, "5101.U1.904": { "address": { "place": "Garching b. M\u00fcnchen", @@ -444907,6 +446816,27 @@ "tumonline_id": 53079, "usage_id": 222 }, + "5101.U1.905B": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "1905B, Treppe im Freien", + "arch_name": "1905B@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Estrich (Beton)", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76551, + "usage_id": 7 + }, "5101.U1.906": { "address": { "place": "Garching b. M\u00fcnchen", @@ -444949,6 +446879,27 @@ "tumonline_id": 53110, "usage_id": 222 }, + "5101.U1.907A": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "1907A, Flur", + "arch_name": "1907A@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Fliesen", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76546, + "usage_id": 222 + }, "5101.U1.908": { "address": { "place": "Garching b. M\u00fcnchen", @@ -444991,6 +446942,27 @@ "tumonline_id": 53279, "usage_id": 222 }, + "5101.U1.909A": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "1909A, Flur", + "arch_name": "1909A@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Fliesen", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76542, + "usage_id": 222 + }, "5101.U1.910": { "address": { "place": "Garching b. M\u00fcnchen", @@ -445023,7 +446995,7 @@ "area_id": 35, "building_id": 785, "floor_level": "1.UG", - "floor_type": "Linoleum", + "floor_type": "Estrich (Beton)", "main_operator_id": 14179, "seats": { "sitting": null, @@ -445033,6 +447005,48 @@ "tumonline_id": 53448, "usage_id": 222 }, + "5101.U1.911A": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "1911A, Flur", + "arch_name": "1911A@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Linoleum", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76544, + "usage_id": 222 + }, + "5101.U1.911B": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "1911B, Flur", + "arch_name": "1911B@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Linoleum", + "main_operator_id": 19691, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76543, + "usage_id": 222 + }, "5101.U1.912": { "address": { "place": "Garching b. M\u00fcnchen", @@ -445264,6 +447278,27 @@ "tumonline_id": 59102, "usage_id": 4 }, + "5101.U1.973": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "Lager", + "arch_name": "@5101", + "area_id": 35, + "building_id": 785, + "floor_level": "1.UG", + "floor_type": "Linoleum", + "main_operator_id": 39688, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76555, + "usage_id": 30 + }, "5101.U2.901": { "address": { "place": "Garching b. M\u00fcnchen", @@ -448382,6 +450417,111 @@ "tumonline_id": 44703, "usage_id": 222 }, + "5108.EG.201": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "00.5108.201, Flur", + "arch_name": "00.5108.201@5108", + "area_id": 35, + "building_id": 781, + "floor_level": "EG", + "floor_type": "Linoleum", + "main_operator_id": 39688, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76454, + "usage_id": 222 + }, + "5108.EG.202": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "00.5108.202, Arbeitsraum", + "arch_name": "00.5108.202@5108", + "area_id": 35, + "building_id": 781, + "floor_level": "EG", + "floor_type": "Spannteppich", + "main_operator_id": 39688, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76462, + "usage_id": 12 + }, + "5108.EG.203": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "00.5108.203, Arbeitsraum", + "arch_name": "00.5108.203@5108", + "area_id": 35, + "building_id": 781, + "floor_level": "EG", + "floor_type": "Spannteppich", + "main_operator_id": 39688, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76463, + "usage_id": 12 + }, + "5108.EG.204": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "00.5108.204, Teek\u00fcche", + "arch_name": "00.5108.204@5108", + "area_id": 35, + "building_id": 781, + "floor_level": "EG", + "floor_type": "Linoleum", + "main_operator_id": 39688, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76455, + "usage_id": 198 + }, + "5108.EG.205": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "James-Franck-Str. 1", + "zip_code": 85748 + }, + "alt_name": "00.5108.205, Besprechungsraum", + "arch_name": "00.5108.205@5108", + "area_id": 35, + "building_id": 781, + "floor_level": "EG", + "floor_type": "Spannteppich", + "main_operator_id": 39688, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76456, + "usage_id": 196 + }, "5108.U1.001": { "address": { "place": "Garching b. M\u00fcnchen", @@ -473933,6 +476073,657 @@ "tumonline_id": 65148, "usage_id": 180 }, + "5132.03.001": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.001, Seminarraum", + "arch_name": "03.001@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76428, + "usage_id": 41 + }, + "5132.03.002": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.002, K\u00fcche / Pausenraum", + "arch_name": "03.002@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76457, + "usage_id": 44 + }, + "5132.03.003": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.003, Pausenraum", + "arch_name": "03.003@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76458, + "usage_id": 44 + }, + "5132.03.004": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.004, Gro\u00dfraumb\u00fcro", + "arch_name": "03.004@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76435, + "usage_id": 12 + }, + "5132.03.005": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.005, B\u00fcro", + "arch_name": "03.005@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76436, + "usage_id": 12 + }, + "5132.03.006": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.006, Lager", + "arch_name": "03.006@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76430, + "usage_id": 30 + }, + "5132.03.007": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.007, Ruheraum", + "arch_name": "03.007@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76429, + "usage_id": 44 + }, + "5132.03.008": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.008, B\u00fcro", + "arch_name": "03.008@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76440, + "usage_id": 12 + }, + "5132.03.009": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.009, Sekretariat", + "arch_name": "03.009@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76441, + "usage_id": 40 + }, + "5132.03.010": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.010, B\u00fcro", + "arch_name": "03.010@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76442, + "usage_id": 12 + }, + "5132.03.011": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.011, Sekretariat", + "arch_name": "03.011@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76443, + "usage_id": 40 + }, + "5132.03.012": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.012, B\u00fcro", + "arch_name": "03.012@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76444, + "usage_id": 12 + }, + "5132.03.013": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.013, B\u00fcro", + "arch_name": "03.013@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76445, + "usage_id": 12 + }, + "5132.03.014": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.014, Sekretariat", + "arch_name": "03.014@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76461, + "usage_id": 40 + }, + "5132.03.015": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.015, B\u00fcro", + "arch_name": "03.015@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76431, + "usage_id": 12 + }, + "5132.03.016": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.016, B\u00fcro", + "arch_name": "03.016@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76446, + "usage_id": 12 + }, + "5132.03.017": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.017, B\u00fcro", + "arch_name": "03.017@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76447, + "usage_id": 12 + }, + "5132.03.018": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.018, WC-Herren", + "arch_name": "03.018@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76432, + "usage_id": 115 + }, + "5132.03.019": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.019, WC-Damen", + "arch_name": "03.019@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76433, + "usage_id": 116 + }, + "5132.03.021A": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.021A, Copy", + "arch_name": "03.021A@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76448, + "usage_id": 110 + }, + "5132.03.701": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.701, Flur", + "arch_name": "03.701@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76449, + "usage_id": 222 + }, + "5132.03.702": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.702, Treppenhaus 1", + "arch_name": "03.702@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76453, + "usage_id": 223 + }, + "5132.03.703": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.703, Aufzug", + "arch_name": "03.703@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76451, + "usage_id": 4 + }, + "5132.03.704": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.704, Flur", + "arch_name": "03.704@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76434, + "usage_id": 222 + }, + "5132.03.705": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.705, Flur", + "arch_name": "03.705@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76460, + "usage_id": 222 + }, + "5132.03.706": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.706, Treppenhaus 2", + "arch_name": "03.706@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76459, + "usage_id": 223 + }, + "5132.03.707": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.707, Flur", + "arch_name": "03.707@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76439, + "usage_id": 222 + }, + "5132.03.708": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.708, Flur", + "arch_name": "03.708@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76450, + "usage_id": 222 + }, + "5132.03.801": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.801, Technik RLT", + "arch_name": "03.801@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76452, + "usage_id": 32 + }, + "5132.03.804": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.804, Technik", + "arch_name": "03.804@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76437, + "usage_id": 120 + }, + "5132.03.808": { + "address": { + "place": "Garching b. M\u00fcnchen", + "street": "Boltzmannstr. 12", + "zip_code": 85748 + }, + "alt_name": "03.808, Automation", + "arch_name": "03.808@5132", + "area_id": 35, + "building_id": 3349, + "floor_level": "3.OG", + "floor_type": "Keine Angabe", + "main_operator_id": 38009, + "seats": { + "sitting": null, + "standing": null, + "wheelchair": null + }, + "tumonline_id": 76438, + "usage_id": 120 + }, "5132.EG.001": { "address": { "place": "Garching b. M\u00fcnchen", diff --git a/data/external/scrapers/roomfinder.py b/data/external/scrapers/roomfinder.py deleted file mode 100644 index 69e179c0e..000000000 --- a/data/external/scrapers/roomfinder.py +++ /dev/null @@ -1,284 +0,0 @@ -import itertools -import json -import logging -import os -import string -import urllib.parse -import xmlrpc.client # nosec: B411 -import zipfile -from collections.abc import Iterator -from pathlib import Path -from typing import Literal, TypedDict - -import requests -import utm -from defusedxml import ElementTree as ET -from tqdm import tqdm - -from external.scraping_utils import _download_file, CACHE_PATH, maybe_sleep -from utils import convert_to_webp, setup_logging - -ROOMFINDER_API_URL = "http://roomfinder.ze.tum.de:8192" - - -def _sanitise_building(building: dict): - for _map in building["maps"]: - _map[1] = f"rf{_map[1]}" - if default_map := building["default_map"]: - default_map[1] = f"rf{default_map[1]}" - building["b_room_count"] = building.pop("b_roomCount") - # the Building "Sonstige" does not have a valid lat/lon => we chose the main campus of TUM as a default - zone_number = int(building.pop("utm_zone")) - easting = building.pop("utm_easting") - northing = building.pop("utm_northing") - if building["b_id"] == "0000": - building["lat"], building["lon"] = 48.14903, 11.56735 - else: - building["lat"], building["lon"] = _utm_to_latlon(easting, northing, zone_number) - # TODO: Remove if MyTUM does fix this.. TUM changed names in denazification initative - building["b_name"] = building["b_name"].replace("Bestelmeyer Nord", "Zentralgebäude 7") - building["b_name"] = building["b_name"].replace("Bestelmeyer Süd", "Zentralgebäude 2") - - -def scrape_buildings() -> None: - """Retrieve the (extended, i.e. with coordinates) buildings data from the Roomfinder API""" - logging.info("Scraping the buildings of the mytum roomfinder") - - with xmlrpc.client.ServerProxy(ROOMFINDER_API_URL) as proxy: - buildings: list[dict] = proxy.getBuildings() - for building in tqdm(buildings, desc="Retrieving", unit="building"): - # Make sure b_id is numeric. There is an incorrect entry with the value - # 'CiO/SGInstitute West, Bibliot' which causes a crash - try: - int(building["b_id"]) - except ValueError: - continue - extended_data = proxy.getBuildingData(building["b_id"]) - building.update(**extended_data) - building["maps"] = proxy.getBuildingMaps(building["b_id"]) - building["default_map"] = proxy.getBuildingDefaultMap(building["b_id"]) or None - _sanitise_building(building) - maybe_sleep(0.01) - - buildings = sorted(buildings, key=lambda m: m["b_id"]) - with open(CACHE_PATH / "buildings_roomfinder.json", "w", encoding="utf-8") as file: - json.dump(buildings, file, indent=2, sort_keys=True) - - -def _utm_to_latlon(easting: float, northing: float, zone_number: int, zone_letter: str = "U") -> tuple[float, float]: - # UTM zone is either 32 or 33, corresponding to zones "32U" and "33U" - # TODO: Map image boundaries also included "33T". It could maybe be possible to guess - # whether it is "U" or "T" based on the northing (which is always the distance - # to the equator). - utm.check_valid_zone(zone_number, zone_letter) - if zone_number not in {32, 33}: - raise RuntimeError(f"Unexpected UTM zone '{zone_number}'") - return utm.to_latlon(easting, northing, zone_number, zone_letter) - - -class SearchResult(TypedDict): - r_id: str - - -def _sanitise_room(room: dict) -> dict: - for _map in room["maps"]: - _map[1] = f"rf{_map[1]}" - if default_map := room["default_map"]: - default_map[1] = f"rf{default_map[1]}" - room["lat"], room["lon"] = _utm_to_latlon( - zone_number=int(room.pop("utm_zone")), - easting=room.pop("utm_easting"), - northing=room.pop("utm_northing"), - ) - # TODO: Remove if MyTUM does fix this.. TUM changed names in denazification initative - room["b_name"] = room["b_name"].replace("Bestelmeyer Nord", "Zentralgebäude 7") - room["b_name"] = room["b_name"].replace("Bestelmeyer Süd", "Zentralgebäude 2") - room["r_alias"] = room["r_alias"].replace("Gustav-Niemann-", "") - room["r_alias"] = room["r_alias"].replace("EINGANGSHALLE FOYER BESTELMEYER", "") - for _map in room["maps"]: - _map[2] = _map[2].replace("Bestelmeyer Nord", "Zentralgebäude 7") - _map[2] = _map[2].replace("Bestelmeyer Süd", "Zentralgebäude 2") - - return room - - -def scrape_rooms() -> None: - """ - Retrieve the (extended, i.e. with coordinates) rooms data from the Roomfinder API. - - This may retrieve the Roomfinder buildings. - """ - with xmlrpc.client.ServerProxy(ROOMFINDER_API_URL) as proxy: - room_ids = _get_all_rooms_for_all_buildings(proxy) - logging.info("Scraping the rooms of the mytum roomfinder") - rooms = [] - for room_id in tqdm(room_ids, desc=f"Retrieving {len(room_ids)} rooms"): - room = proxy.getRoomData(room_id) - room["metas"] = proxy.getRoomMetas(room_id) - room["maps"] = proxy.getRoomMaps(room_id) - room["default_map"] = proxy.getDefaultMap(room_id) - rooms.append(_sanitise_room(room)) - maybe_sleep(0.01) - - rooms = sorted(rooms, key=lambda r: (r["b_id"], r["r_id"])) - with open(CACHE_PATH / "rooms_roomfinder.json", "w", encoding="utf-8") as file: - json.dump(rooms, file, indent=2, sort_keys=True) - - -def _get_all_rooms_for_all_buildings(proxy: xmlrpc.client.ServerProxy) -> list: - """ - Get all rooms in a building - - The API does not provide such a function directly, so we have to use search for this. - Since search returns a max of 50 results we need to guess to collect all rooms. - """ - logging.info("Searching for rooms in each building") - with open(CACHE_PATH / "buildings_roomfinder.json", encoding="utf-8") as file: - buildings = json.load(file) - unreported_warnings = [] - rooms_list = [] - for building in tqdm(buildings, desc="Guessing queries for building", unit="building"): - if (b_room_count := building.get("b_room_count")) > 0: - search_results: list[SearchResult] = proxy.searchRoom("", {"r_building": building["b_id"]}) - b_rooms = {room["r_id"] for room in search_results} - - if len(b_rooms) < b_room_count: - # Collect guess queries that are executed until - # all buildings are found or the query list is exhausted - for guessed_query in _guess_queries(b_rooms, b_room_count): - search_results = proxy.searchRoom(guessed_query, {"r_building": building["b_id"]}) - b_rooms |= {r["r_id"] for r in search_results} - - if len(b_rooms) < b_room_count: - unreported_warnings.append( - f"Could not guess all queries for building {building['b_id']}, " - f"because {len(b_rooms)=} < {building['b_room_count']=}", - ) - rooms_list.extend(list(b_rooms)) - # reporting these issues here, to not fuck with tqdm - for unreported_warning in unreported_warnings: - logging.warning(unreported_warning) - return rooms_list - - -def _guess_queries(rooms: set[str], n_rooms: int) -> Iterator[str]: - """ - Iterate through all single/double character strings consisting of digit/ascii_lowercase to find successful queries - - Ordering because of number of entries: - - single before double - - digits before ascii_lowercase - """ - for superset in [string.digits, string.ascii_lowercase]: - for string_lenght in [1, 2]: - for guess in itertools.product(superset, repeat=string_lenght): - if len(rooms) >= n_rooms: - return - maybe_sleep(0.01) - yield "".join(guess) - - -def scrape_maps() -> None: - """ - Retrieve the maps including the data about them from Roomfinder. - - Map files will be stored in 'cache/maps/roomfinder'. - """ - # The only way to get the map boundaries seems to be to download the kml with overlaid map. - # For this api we need a room or building for each map available. - with open(CACHE_PATH / "rooms_roomfinder.json", encoding="utf-8") as file: - rooms = json.load(file) - with open(CACHE_PATH / "buildings_roomfinder.json", encoding="utf-8") as file: - buildings = json.load(file) - - logging.info("Scraping the rooms-maps of the mytum roomfinder") - used_maps = {} - for building_entity in rooms + buildings: - for _map in building_entity.get("maps", []): - # _map[1] is the map id - if _map[1] not in used_maps: - if "r_id" in building_entity: - used_maps[_map[1]] = ("room", building_entity["r_id"], _map) - else: - used_maps[_map[1]] = ("building", building_entity["b_id"], _map) - maps = _download_maps(used_maps) - - # Not all maps are used somewhere. - # TODO: Download the rest - - maps = sorted(maps, key=lambda m: m["id"]) - with open(CACHE_PATH / "maps_roomfinder.json", "w", encoding="utf-8") as file: - json.dump(maps, file, indent=2, sort_keys=True) - - -def _download_maps(used_maps): - maps = [] - for e_type, e_id, _map in used_maps.values(): - # Download as file - url = f"{ROOMFINDER_API_URL}/getMapImage?m_id={_map[1].removeprefix('rf')}" - filepath = CACHE_PATH / "maps" / "roomfinder" / f"{_map[1]}.gif" - _download_file(url, filepath) - convert_to_webp(filepath) - - # TODO: Remove if MyTUM does fix this.. TUM changed names in denazification initative - _map[2] = _map[2].replace("Bestelmeyer Nord", "Zentralgebäude 7") - _map[2] = _map[2].replace("Bestelmeyer Süd", "Zentralgebäude 2") - map_data = { - "scale": _map[0], - "id": _map[1], - "desc": _map[2], - "width": _map[3], - "height": _map[4], - } - maps.append(map_data) - - # Download as kmz to get the map boundary coordinates. - # The world map (id rf9) does not support kmz download - if _map[1] == "rf9": - continue - - f_path = _download_map(_map[1], e_id, e_type) - - with zipfile.ZipFile(f_path, "r") as zip_f, zip_f.open("RoomFinder.kml") as file: - root = ET.fromstring(file.read()) - # [0] gives , - # [3] gives , - # [3] gives - latlonbox = root[0][3][3] - map_data["latlonbox"] = { - "north": latlonbox[0].text, - "east": latlonbox[1].text, - "west": latlonbox[2].text, - "south": latlonbox[3].text, - "rotation": latlonbox[4].text, - } - f_path.unlink() - return maps - - -def _download_map(_map_id: str, e_id: str, e_type: Literal["room", "building"]) -> Path | None: - filepath = CACHE_PATH / "maps" / "roomfinder" / "kmz" / f"{_map_id}.kmz" - if e_type == "room": - base_url = "https://portal.mytum.de/campus/roomfinder/getRoomPlacemark" - url = f"{base_url}?roomid={urllib.parse.quote_plus(e_id)}&mapid={_map_id.removeprefix('rf')}" - try: - return _download_file(url, filepath) - except requests.exceptions.RequestException: - return None - if e_type == "building": - base_url = "https://portal.mytum.de/campus/roomfinder/getBuildingPlacemark" - url = f"{base_url}?b_id={e_id}&mapid={_map_id.removeprefix('rf')}" - try: - return _download_file(url, filepath) - except requests.exceptions.RequestException: - return None - raise RuntimeError(f"Unknown entity type: {e_type}") - - -if __name__ == "__main__": - setup_logging(level=logging.INFO) - os.makedirs(CACHE_PATH / "maps" / "roomfinder", exist_ok=True) - os.makedirs(CACHE_PATH / "maps" / "roomfinder" / "kmz", exist_ok=True) - scrape_buildings() - scrape_rooms() - scrape_maps() diff --git a/data/processors/areatree/config.areatree b/data/processors/areatree/config.areatree index 3e99ecb4f..a27887bb0 100644 --- a/data/processors/areatree/config.areatree +++ b/data/processors/areatree/config.areatree @@ -576,8 +576,8 @@ -5622:Sportanlage Garching / Dusch Container: 5701:Munich Institute of Biomedical Engineering, MIBE (ehem. IMETUM, ZIMT, MSB)|MIBE: 5801:Leibnitz-Rechenzenturm (LRZ): - 5901:Elektro- und Informationstechnik (EI, ZEITlab):5901,ei-garching[building] - 5932:Siemens Science Center Garching:5932,siemens-garching + 5901:Elektro- und Informationstechnik (EI, ZEITlab):5901,ei-garching + 5932:Siemens Technology Center (STC):5932,siemens-garching 812:Galileo Garching|Galileo:galileo[joined_building] 8120:Conference Center: 8121:Courtyard Hotel: diff --git a/data/processors/tumonline.py b/data/processors/tumonline.py index 328ccbc4e..5ca41cba6 100644 --- a/data/processors/tumonline.py +++ b/data/processors/tumonline.py @@ -311,7 +311,7 @@ def _maybe_set_alt_name(room_code: str, arch_name_parts: tuple[str, str], room: if len(alt_parts) < 2: return if alt_parts[0].lower() == arch_name_parts[0].lower(): - room.alt_name = ", ".join(alt_parts[1:]) + room.alt_name = ", ".join(alt_parts[1:]).strip() return # The most common mismatch is if the roomname in the alt_name is like "L516" and the arch_name starts with "L 516". # In this case we change the arch_name to the format without a space diff --git a/docker-compose.local.yml b/docker-compose.local.yml index 61c32ea41..b8816727b 100644 --- a/docker-compose.local.yml +++ b/docker-compose.local.yml @@ -5,6 +5,7 @@ services: ports: - "3000:3000" environment: + TZ: Europe/Berlin NUXT_PUBLIC_MAPS_URL: https://nav.tum.de/maps NUXT_PUBLIC_CDN_URL: http://data:3002 NUXT_PUBLIC_API_URL: http://main-api:3003 @@ -17,6 +18,8 @@ services: data: restart: unless-stopped build: ./data + environment: + TZ: Europe/Berlin ports: - "3002:3002" # server @@ -28,6 +31,7 @@ services: - "3003:3003" user: 1000:3000 environment: + TZ: Europe/Berlin LOG_LEVEL: ${LOG_LEVEL-debug} MIELI_URL: http://meilisearch:7700 MEILI_MASTER_KEY: ${MEILI_MASTER_KEY} @@ -46,26 +50,13 @@ services: condition: service_started db: condition: service_healthy - osm2pgsql: - image: iboates/osm2pgsql:latest - environment: - PGPASSWORD: ${POSTGRES_PASSWORD} - command: - - replication - - update - - --database ${POSTGRES_DB} - - --username ${POSTGRES_USER} - - --host db - - --port 5432 - depends_on: - db: - condition: service_healthy meilisearch: image: getmeili/meilisearch:v1.9.0 restart: unless-stopped ports: - "7700:7700" environment: + TZ: Europe/Berlin MEILI_MASTER_KEY: ${MEILI_MASTER_KEY} MEILI_ENV: development healthcheck: @@ -77,6 +68,7 @@ services: image: postgis/postgis:16-3.4 restart: unless-stopped environment: + TZ: Europe/Berlin PGDATA: /var/lib/postgresql/data/pgdata POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_USER: ${POSTGRES_USER} @@ -88,3 +80,52 @@ services: retries: 5 interval: 10s start_period: 10s + osm2pgsql: + image: iboates/osm2pgsql:latest + environment: + TZ: Europe/Berlin + PGPASSWORD: ${POSTGRES_PASSWORD} + command: + - replication + - update + - --database ${POSTGRES_DB} + - --username ${POSTGRES_USER} + - --host db + - --port 5432 + depends_on: + db: + condition: service_healthy + martin-init-config: + image: alpine:latest + command: + - /bin/sh + - /map/martin/setup.sh + environment: + TZ: Europe/Berlin + volumes: + - ./map/:/map/ + martin: + image: ghcr.io/maplibre/martin:v0.14.2 + restart: unless-stopped + command: + - --config + - /map/config.yaml + ports: + - "3001:3001" + environment: + TZ: Europe/Berlin + BASE_PATH: / + DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db/${POSTGRES_DB} + RUST_LOG: debug + depends_on: + db: + condition: service_healthy + martin-init-config: + condition: service_completed_successfully + volumes: + - ./map/martin/:/map/:ro + healthcheck: + test: wget --spider http://localhost:3001/health || exit 1 + retries: 10 + interval: 1s + start_period: 1s diff --git a/docker-compose.yml b/docker-compose.yml index d1637d89b..410d09bc6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,6 +13,7 @@ services: expose: - "3000" environment: + TZ: Europe/Berlin NUXT_PUBLIC_MAPS_URL: https://nav.tum.de NUXT_PUBLIC_CDN_URL: https://nav.tum.de NUXT_PUBLIC_API_URL: https://nav.tum.de @@ -45,6 +46,8 @@ services: volumes: - tileserver-src:/data - ./map/:/map/:ro + environment: + TZ: Europe/Berlin tileserver-srv-src: # needed for simpler initialisation of dev environments image: nginx:1.27 restart: unless-stopped @@ -60,6 +63,8 @@ services: - 80 volumes: - tileserver-src:/usr/share/nginx/html/maps/vol:ro + environment: + TZ: Europe/Berlin depends_on: tileserver-init-config: condition: service_completed_successfully @@ -76,8 +81,8 @@ services: - "traefik.http.routers.navigatum-tileserver.entrypoints=webs" - "traefik.http.routers.navigatum-tileserver.tls.certresolver=leacme" - "traefik.http.routers.navigatum-tileserver.rule=Host(`nav.tum.de`) && PathPrefix(`/maps/`)" - - "traefik.http.routers.navigatum-tileserver.middlewares=navigatum-stripprefix@docker, navigatum-compress@docker, navigatum-cache-2m@docker" - - "traefik.http.middlewares.navigatum-stripprefix.stripprefix.prefixes=/maps" + - "traefik.http.routers.navigatum-tileserver.middlewares=navigatum-maps-stripprefix@docker, navigatum-compress@docker, navigatum-cache-2m@docker" + - "traefik.http.middlewares.navigatum-maps-stripprefix.stripprefix.prefixes=/maps" - "traefik.http.middlewares.navigatum-compress.compress=true" - "traefik.http.middlewares.navigatum-cache-2m.headers.customrequestheaders.Cache-Control=public, max-age=5184000" - "traefik.http.services.navigatum-tileserver.loadbalancer.server.port=8080" @@ -86,6 +91,8 @@ services: expose: - "8080" command: /usr/src/app/docker-entrypoint.sh --public_url=https://nav.tum.de/maps/ + environment: + TZ: Europe/Berlin tmpfs: - /tmp volumes: @@ -106,6 +113,8 @@ services: - "traefik.http.services.navigatum-data.loadbalancer.server.port=3002" networks: - traefik_traefik + environment: + TZ: Europe/Berlin expose: - "3002" # server @@ -125,6 +134,7 @@ services: command: /bin/navigatum-main-api user: 1000:3000 environment: + TZ: Europe/Berlin LOG_LEVEL: ${LOG_LEVEL-info} MIELI_URL: http://meilisearch:7700 MEILI_MASTER_KEY: ${MEILI_MASTER_KEY} @@ -143,20 +153,6 @@ services: condition: service_healthy db: condition: service_healthy - osm2pgsql: - image: iboates/osm2pgsql:latest - environment: - PGPASSWORD: ${POSTGRES_PASSWORD} - command: - - replication - - update - - --database ${POSTGRES_DB} - - --username ${POSTGRES_USER} - - --host db - - --port 5432 - depends_on: - db: - condition: service_healthy meilisearch: image: getmeili/meilisearch:v1.9.0 restart: unless-stopped @@ -165,6 +161,7 @@ services: expose: - "7700" environment: + TZ: Europe/Berlin MEILI_MASTER_KEY: ${MEILI_MASTER_KEY} MEILI_ENV: production healthcheck: @@ -176,6 +173,7 @@ services: image: postgis/postgis:16-3.4 restart: unless-stopped environment: + TZ: Europe/Berlin PGDATA: /var/lib/postgresql/data/pgdata POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_USER: ${POSTGRES_USER} @@ -191,8 +189,67 @@ services: retries: 5 interval: 10s start_period: 10s + osm2pgsql: + image: iboates/osm2pgsql:latest + environment: + TZ: Europe/Berlin + PGPASSWORD: ${POSTGRES_PASSWORD} + command: + - replication + - update + - --database ${POSTGRES_DB} + - --username ${POSTGRES_USER} + - --host db + - --port 5432 + depends_on: + db: + condition: service_healthy + martin-init-config: + image: alpine:latest + command: + - /bin/sh + - /map/martin/setup.sh + environment: + TZ: Europe/Berlin + volumes: + - ./map/:/map/ + martin: + image: ghcr.io/maplibre/martin:v0.14.2 + restart: unless-stopped + command: + - --config + - /map/config.yaml + labels: + - "traefik.enable=true" + - "traefik.http.routers.navigatum-martin.entrypoints=webs" + - "traefik.http.routers.navigatum-martin.tls.certresolver=leacme" + - "traefik.http.routers.navigatum-martin.rule=Host(`nav.tum.de`) && PathPrefix(`/tiles`)" + - "traefik.http.routers.navigatum-martin.middlewares=navigatum-tiles-stripprefix@docker" + - "traefik.http.middlewares.navigatum-tiles-stripprefix.stripprefix.prefixes=/tiles" + - "traefik.http.services.navigatum-martin.loadbalancer.server.port=3001" + networks: + - traefik_traefik + expose: + - "3001" + environment: + TZ: Europe/Berlin + BASE_PATH: /tiles/ + DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db/${POSTGRES_DB} + RUST_LOG: debug + depends_on: + db: + condition: service_healthy + martin-init-config: + condition: service_completed_successfully + volumes: + - ./map/martin/:/map/:ro + healthcheck: + test: wget --spider http://localhost:3001/health || exit 1 + retries: 10 + interval: 1s + start_period: 1s redirect-domain: - image: "traefik/whoami:latest" + image: traefik/whoami:latest labels: - "traefik.enable=true" - "traefik.http.routers.navigatum-redirect-domain.entrypoints=webs" @@ -203,17 +260,13 @@ services: - "traefik.http.middlewares.navigatum-redirect-to-domain.redirectregex.replacement=https://nav.tum.de/$${3}" - "traefik.http.middlewares.navigatum-redirect-to-domain.redirectregex.permanent=true" - "traefik.http.services.navigatum-redirect-domain.loadbalancer.server.port=80" - redirect-https: - image: "traefik/whoami:latest" - labels: - - "traefik.enable=true" - - "traefik.http.routers.navigatum-redirect-https.entrypoints=web" - - "traefik.http.routers.navigatum-redirect-https.rule=Host(`nav.tum.de`) || Host(`www.nav.tum.de`) || Host(`nav.tum.sexy`)" - - "traefik.http.routers.navigatum-redirect-https.middlewares=navigatum-redirect-to-https@docker" - - "traefik.http.middlewares.navigatum-redirect-to-https.redirectregex.regex=^https?://(www.)?nav.tum.(de|sexy)/(.*)" - - "traefik.http.middlewares.navigatum-redirect-to-https.redirectregex.replacement=https://nav.tum.de/$${3}" - - "traefik.http.middlewares.navigatum-redirect-to-https.redirectregex.permanent=true" - - "traefik.http.services.navigatum-redirect-https.loadbalancer.server.port=80" + environment: + TZ: Europe/Berlin + healthcheck: + test: ["CMD", "/whoami", "--help"] # I know that this is not usefull. There does not exists a executable in that image that can call /health + retries: 2 + interval: 10s + start_period: 10s volumes: tileserver-src: diff --git a/map/.gitignore b/map/.gitignore index 903fe6078..092007d3a 100644 --- a/map/.gitignore +++ b/map/.gitignore @@ -3,3 +3,5 @@ tile_weights.tsv.gz sources/ tmp/ data/ +martin/fonts/ +martin/sprites/ diff --git a/map/README.md b/map/README.md index fefeb3bf6..68d914010 100644 --- a/map/README.md +++ b/map/README.md @@ -29,7 +29,7 @@ this. From the root of the repository, run either (depending on your waiting tolerance and avaliable RAM): -
[~minutes] Only Germany with approx 64GB of RAM - + ```bash docker run -it -e JAVA_TOOL_OPTIONS="-Xmx54g" -v "$(pwd)/map":/data ghcr.io/onthegomap/planetiler:latest --download --download-threads=10 --download-chunk-size-mb=1000 --fetch-wikidata --languages=de,en --area=germany --Xmx10g --Xmx54g --nodemap-type=sparsearray --nodemap-storage=ram ``` @@ -37,7 +37,7 @@ From the root of the repository, run either (depending on your waiting tolerance
-
[~1 hour] Only Germany with lower RAM - + ```bash docker run -it -e JAVA_TOOL_OPTIONS="-Xmx10g" -v "$(pwd)/map":/data ghcr.io/onthegomap/planetiler:latest --download --download-threads=10 --download-chunk-size-mb=1000 --fetch-wikidata --languages=de,en --area=germany --Xmx10g --storage=mmap ``` @@ -45,14 +45,14 @@ From the root of the repository, run either (depending on your waiting tolerance
-
[~3 hours] Planet with approx 128GB of RAM - + ```bash docker run -it -e JAVA_TOOL_OPTIONS="-Xmx100g" -v "$(pwd)/map":/data ghcr.io/onthegomap/planetiler:latest --download --download-threads=10 --download-chunk-size-mb=1000 --fetch-wikidata --languages=de,en --area=planet --bounds=world --Xmx100g --nodemap-type=sparsearray --nodemap-storage=ram ```
-
[~24 hours] Planet with lower amounts of RAM (slower) - + ```bash docker run -it -e JAVA_TOOL_OPTIONS="-Xmx25g" -v "$(pwd)/map":/data ghcr.io/onthegomap/planetiler:latest --download --download-threads=10 --download-chunk-size-mb=1000 --fetch-wikidata --languages=de,en --area=planet --bounds=world --Xmx25g --nodemap-type=array --storage=mmap ``` @@ -79,17 +79,24 @@ You can use it to edit the style and see the changes live. > [!NOTE] > Maputnik is not fully compatible with tileserver-gl -> Maputnik expects the data on an url, tileserver-gl expects it to be a file. -> For maputnik to accept the file, you need to do the following: +> Maputnik expects the data on urls, tileserver-gl expects it to be files. +> For maputnik to accept the files, you need to do the following: ```diff "openmaptiles": { "type": "vector", - "url": "mbtiles://output.mbtiles" -+ "url": "http://localhost:7770/data/openmaptiles.json" ++ "url": "https://nav.tum.de/maps/data/openmaptiles.json" }, ``` +```diff + }, +- "sprite": "{style}", ++ "sprite": "https://nav.tum.de/maps/styles/osm-liberty/sprite", + "glyphs": "https://nav.tum.de/tiles/font/{fontstack}/{range}", +``` + To edit the style you thus need to run maputnik and tileserver-gl at the same time. Change the style to the version maputnik expects. You cannot preview the style in tileserver-gl, but you can see the changes in maputnik. @@ -105,17 +112,11 @@ docker run -it --rm -p 8888:8888 maputnik/editor |------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------| | ![Where in Maputnik to click to import a style](/resources/documentation/maputnik-import1.png) | ![Where in Maputnik to click then to import a style](/resources/documentation/maputnik-import2.png) | -### Fonts - -You will need special fonts ([Roboto](https://fonts.google.com/specimen/Roboto) and [Roboto Condensed](https://fonts.google.com/specimen/Roboto+Condensed)) to run the tileserver. -To do so, please download the font files from google fonts (linked above), convert them via https://maplibre.org/font-maker/ and upload them to the `fonts/` directory of the tileserver - -### Sprites +### Fonts + Sprites -We get our sprites from [maputnik/osm-liberty](https://github.com/maputnik/osm-liberty) via +Due to licencing reasons, we cannot directly include the fonts and sprites we use in the project. +You can download them via -``` -export TILE_SPRITES_URL=https://raw.githubusercontent.com/maputnik/osm-liberty/gh-pages/sprites -rm sprites/* -wget -P sprites ${TILE_SPRITES_URL}/osm-liberty.json ${TILE_SPRITES_URL}/osm-liberty@2x.json ${TILE_SPRITES_URL}/osm-liberty.png ${TILE_SPRITES_URL}/osm-liberty@2x.png +```bash +sh ./martin/setup.sh ``` diff --git a/map/martin/config.yaml b/map/martin/config.yaml new file mode 100644 index 000000000..fce732b93 --- /dev/null +++ b/map/martin/config.yaml @@ -0,0 +1,364 @@ +cache_size_mb: 100 +listen_addresses: 0.0.0.0:3001 +base_path: $BASE_PATH +sprites: + - /map/sprites +fonts: + - /map/fonts +postgres: + connection_string: $DATABASE_URL + auto_publish: true + tables: + addrfeat: + schema: tiger + table: addrfeat + srid: 4269 + geometry_column: the_geom + geometry_type: LINESTRING + properties: + aridl: varchar + aridr: varchar + edge_mtfcc: varchar + fullname: varchar + gid: int4 + lfromhn: varchar + lfromtyp: varchar + linearid: varchar + ltohn: varchar + ltotyp: varchar + offsetl: varchar + offsetr: varchar + parityl: varchar + parityr: varchar + plus4l: varchar + plus4r: varchar + rfromhn: varchar + rfromtyp: varchar + rtohn: varchar + rtotyp: varchar + statefp: varchar + tlid: int8 + zipl: varchar + zipr: varchar + bg: + schema: tiger + table: bg + srid: 4269 + geometry_column: the_geom + geometry_type: MULTIPOLYGON + properties: + aland: float8 + awater: float8 + bg_id: varchar + blkgrpce: varchar + countyfp: varchar + funcstat: varchar + gid: int4 + intptlat: varchar + intptlon: varchar + mtfcc: varchar + namelsad: varchar + statefp: varchar + tractce: varchar + county: + schema: tiger + table: county + srid: 4269 + geometry_column: the_geom + geometry_type: MULTIPOLYGON + properties: + aland: int8 + awater: float8 + cbsafp: varchar + classfp: varchar + cntyidfp: varchar + countyfp: varchar + countyns: varchar + csafp: varchar + funcstat: varchar + gid: int4 + intptlat: varchar + intptlon: varchar + lsad: varchar + metdivfp: varchar + mtfcc: varchar + name: varchar + namelsad: varchar + statefp: varchar + cousub: + schema: tiger + table: cousub + srid: 4269 + geometry_column: the_geom + geometry_type: MULTIPOLYGON + properties: + aland: numeric + awater: numeric + classfp: varchar + cnectafp: varchar + cosbidfp: varchar + countyfp: varchar + cousubfp: varchar + cousubns: varchar + funcstat: varchar + gid: int4 + intptlat: varchar + intptlon: varchar + lsad: varchar + mtfcc: varchar + name: varchar + namelsad: varchar + nctadvfp: varchar + nectafp: varchar + statefp: varchar + edges: + schema: tiger + table: edges + srid: 4269 + geometry_column: the_geom + geometry_type: MULTILINESTRING + properties: + artpath: varchar + countyfp: varchar + deckedroad: varchar + divroad: varchar + exttyp: varchar + featcat: varchar + fullname: varchar + gcseflg: varchar + gid: int4 + hydroflg: varchar + lfromadd: varchar + ltoadd: varchar + mtfcc: varchar + offsetl: varchar + offsetr: varchar + olfflg: varchar + passflg: varchar + persist: varchar + railflg: varchar + rfromadd: varchar + roadflg: varchar + rtoadd: varchar + smid: varchar + statefp: varchar + tfidl: numeric + tfidr: numeric + tlid: int8 + tnidf: numeric + tnidt: numeric + ttyp: varchar + zipl: varchar + zipr: varchar + faces: + schema: tiger + table: faces + srid: 4269 + geometry_column: the_geom + geometry_type: MULTIPOLYGON + properties: + aiannhce: varchar + aiannhce00: varchar + aiannhfp: varchar + aiannhfp00: varchar + anrcfp: varchar + anrcfp00: varchar + atotal: float8 + blkgrpce: varchar + blkgrpce00: varchar + blkgrpce20: varchar + blockce: varchar + blockce00: varchar + blockce20: varchar + cbsafp: varchar + cd108fp: varchar + cd111fp: varchar + cnectafp: varchar + comptyp: varchar + comptyp00: varchar + conctyfp: varchar + conctyfp00: varchar + countyfp: varchar + countyfp00: varchar + countyfp20: varchar + cousubfp: varchar + cousubfp00: varchar + csafp: varchar + elsdlea: varchar + elsdlea00: varchar + gid: int4 + intptlat: varchar + intptlon: varchar + lwflag: varchar + metdivfp: varchar + nctadvfp: varchar + nectafp: varchar + offset: varchar + placefp: varchar + placefp00: varchar + puma5ce: varchar + puma5ce00: varchar + scsdlea: varchar + scsdlea00: varchar + sldlst: varchar + sldlst00: varchar + sldust: varchar + sldust00: varchar + statefp: varchar + statefp00: varchar + statefp20: varchar + submcdfp: varchar + submcdfp00: varchar + tazce: varchar + tazce00: varchar + tblkgpce: varchar + tfid: numeric + tractce: varchar + tractce00: varchar + tractce20: varchar + trsubce: varchar + trsubce00: varchar + trsubfp: varchar + trsubfp00: varchar + ttractce: varchar + uace: varchar + uace00: varchar + ugace: varchar + ugace00: varchar + unsdlea: varchar + unsdlea00: varchar + vtdst: varchar + vtdst00: varchar + zcta5ce: varchar + zcta5ce00: varchar + place: + schema: tiger + table: place + srid: 4269 + geometry_column: the_geom + geometry_type: MULTIPOLYGON + properties: + aland: int8 + awater: int8 + classfp: varchar + cpi: varchar + funcstat: varchar + gid: int4 + intptlat: varchar + intptlon: varchar + lsad: varchar + mtfcc: varchar + name: varchar + namelsad: varchar + pcicbsa: varchar + pcinecta: varchar + placefp: varchar + placens: varchar + plcidfp: varchar + statefp: varchar + state: + schema: tiger + table: state + srid: 4269 + geometry_column: the_geom + geometry_type: MULTIPOLYGON + properties: + aland: int8 + awater: int8 + division: varchar + funcstat: varchar + gid: int4 + intptlat: varchar + intptlon: varchar + lsad: varchar + mtfcc: varchar + name: varchar + region: varchar + statefp: varchar + statens: varchar + stusps: varchar + tabblock: + schema: tiger + table: tabblock + srid: 4269 + geometry_column: the_geom + geometry_type: MULTIPOLYGON + properties: + aland: float8 + awater: float8 + blockce: varchar + countyfp: varchar + funcstat: varchar + gid: int4 + intptlat: varchar + intptlon: varchar + mtfcc: varchar + name: varchar + statefp: varchar + tabblock_id: varchar + tractce: varchar + uace: varchar + ur: varchar + tabblock20: + schema: tiger + table: tabblock20 + srid: 4269 + geometry_column: the_geom + geometry_type: MULTIPOLYGON + properties: + aland: float8 + awater: float8 + blockce: varchar + countyfp: varchar + funcstat: varchar + geoid: varchar + housing: float8 + intptlat: varchar + intptlon: varchar + mtfcc: varchar + name: varchar + pop: float8 + statefp: varchar + tractce: varchar + uace: varchar + uatype: varchar + ur: varchar + tract: + schema: tiger + table: tract + srid: 4269 + geometry_column: the_geom + geometry_type: MULTIPOLYGON + properties: + aland: float8 + awater: float8 + countyfp: varchar + funcstat: varchar + gid: int4 + intptlat: varchar + intptlon: varchar + mtfcc: varchar + name: varchar + namelsad: varchar + statefp: varchar + tract_id: varchar + tractce: varchar + zcta5: + schema: tiger + table: zcta5 + srid: 4269 + geometry_column: the_geom + geometry_type: MULTIPOLYGON + properties: + aland: float8 + awater: float8 + classfp: varchar + funcstat: varchar + gid: int4 + intptlat: varchar + intptlon: varchar + mtfcc: varchar + partflg: varchar + statefp: varchar + zcta5ce: varchar + functions: {} diff --git a/map/martin/setup.sh b/map/martin/setup.sh new file mode 100755 index 000000000..732fb28e6 --- /dev/null +++ b/map/martin/setup.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +sudo rm -rf $(dirname "$0")/fonts $(dirname "$0")/sprites + +# fonts +wget -q -O /tmp/roboto-android.zip https://github.com/googlefonts/roboto/releases/download/v2.138/roboto-android.zip +unzip /tmp/roboto-android.zip -d $(dirname "$0")/fonts/ +rm /tmp/roboto-android.zip + +# sprites +wget -q -O /tmp/sprites_maki.zip https://github.com/mapbox/maki/zipball/main +unzip -q /tmp/sprites_maki.zip -d /tmp/sprites/ +rm /tmp/sprites_maki.zip +mkdir $(dirname "$0")/sprites/ +mv /tmp/sprites/mapbox-maki-*/icons/* $(dirname "$0")/sprites/ +rm -fr /tmp/sprites/ diff --git a/map/styles/osm-liberty.json b/map/styles/osm-liberty.json index 506c724fc..753e83628 100644 --- a/map/styles/osm-liberty.json +++ b/map/styles/osm-liberty.json @@ -21,7 +21,7 @@ } }, "sprite": "{style}", - "glyphs": "{fontstack}/{range}.pbf", + "glyphs": "https://nav.tum.de/tiles/font/{fontstack}/{range}", "layers": [ { "id": "background", @@ -41,12 +41,12 @@ "base": 1.5, "stops": [ [ - 0, - 0.6 + 4, + 0.7 ], [ 6, - 0.1 + 0 ] ] } @@ -3090,7 +3090,7 @@ "source": "openmaptiles", "source-layer": "building", "minzoom": 13, - "maxzoom": 14.5, + "maxzoom": 24, "paint": { "fill-color": "rgba(152, 198, 234, 1)", "fill-outline-color": { @@ -3115,9 +3115,22 @@ [ 14, 1 + ], + [ + 14.5, + 0 + ], + [ + 16.8, + 0 + ], + [ + 17, + 1 ] ] - } + }, + "fill-antialias": true } }, { @@ -3126,6 +3139,7 @@ "source": "openmaptiles", "source-layer": "building", "minzoom": 13.5, + "maxzoom": 17.5, "paint": { "fill-extrusion-height": { "property": "render_height", @@ -3144,6 +3158,18 @@ [ 14, 0.8 + ], + [ + 16.8, + 0.8 + ], + [ + 17, + 0.1 + ], + [ + 17.1, + 0 ] ] }, @@ -3540,6 +3566,7 @@ "type": "symbol", "source": "openmaptiles", "source-layer": "transportation_name", + "maxzoom": 24, "filter": [ "all" ], @@ -3617,7 +3644,8 @@ ], "text-rotation-alignment": "viewport", "text-size": 10, - "icon-size": 0.8 + "icon-size": 0.8, + "visibility": "visible" } }, { @@ -3827,6 +3855,7 @@ "type": "symbol", "source": "openmaptiles", "source-layer": "place", + "minzoom": 0, "maxzoom": 6, "filter": [ "all", @@ -3866,6 +3895,7 @@ "type": "symbol", "source": "openmaptiles", "source-layer": "place", + "minzoom": 2.5, "filter": [ "all", [ @@ -3911,6 +3941,7 @@ "type": "symbol", "source": "openmaptiles", "source-layer": "place", + "minzoom": 2, "filter": [ "all", [ @@ -3956,6 +3987,7 @@ "type": "symbol", "source": "openmaptiles", "source-layer": "place", + "minzoom": 1, "filter": [ "all", [ diff --git a/renovate.json b/renovate.json index a84e717a5..1bf4fde9b 100644 --- a/renovate.json +++ b/renovate.json @@ -24,7 +24,7 @@ "automerge": true }, { - "matchPackagePatterns": ["serde", "base64", "rustls"], + "matchPackagePatterns": ["serde", "base64", "rustls", "tokio"], "groupName": "rust-stable", "automerge": true }, diff --git a/requirements-dev.txt b/requirements-dev.txt index ae0de42a9..4d08c5beb 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,7 +1,7 @@ -mypy==1.10.1 +mypy==1.11.0 pre-commit==3.7.1 -pytest==8.2.2 -ruff==0.5.1 +pytest==8.3.1 +ruff==0.5.4 types-Pillow==10.2.0.20240520 types-PyYAML==6.0.12.20240311 types-requests==2.32.0.20240712 diff --git a/server/.sqlx/query-064abe062d039025429a814407c21e4c984144695bc3b0c2d5be6993126dbc1c.json b/server/.sqlx/query-064abe062d039025429a814407c21e4c984144695bc3b0c2d5be6993126dbc1c.json new file mode 100644 index 000000000..4e09f8fb2 --- /dev/null +++ b/server/.sqlx/query-064abe062d039025429a814407c21e4c984144695bc3b0c2d5be6993126dbc1c.json @@ -0,0 +1,14 @@ +{ + "db_name": "PostgreSQL", + "query": "\n WITH rows_to_delete AS (\n SELECT id\n FROM calendar WHERE room_code = $1\n LIMIT 1000\n )\n \n DELETE FROM calendar\n WHERE id IN (SELECT id FROM rows_to_delete);", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [] + }, + "hash": "064abe062d039025429a814407c21e4c984144695bc3b0c2d5be6993126dbc1c" +} diff --git a/server/.sqlx/query-12f3c3e7dbfbd4a7b5f48ddd580dddf031da92cd84bd0be70a7d5c7f9a405eaa.json b/server/.sqlx/query-12f3c3e7dbfbd4a7b5f48ddd580dddf031da92cd84bd0be70a7d5c7f9a405eaa.json deleted file mode 100644 index 01fc9bbac..000000000 --- a/server/.sqlx/query-12f3c3e7dbfbd4a7b5f48ddd580dddf031da92cd84bd0be70a7d5c7f9a405eaa.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "DELETE FROM calendar WHERE room_code = $1", - "describe": { - "columns": [], - "parameters": { - "Left": [ - "Text" - ] - }, - "nullable": [] - }, - "hash": "12f3c3e7dbfbd4a7b5f48ddd580dddf031da92cd84bd0be70a7d5c7f9a405eaa" -} diff --git a/server/Cargo.lock b/server/Cargo.lock index 449eadf0a..6aac75dd2 100644 --- a/server/Cargo.lock +++ b/server/Cargo.lock @@ -73,7 +73,7 @@ dependencies = [ "actix-rt", "actix-service", "actix-utils", - "ahash", + "ahash 0.8.11", "base64 0.22.1", "bitflags 2.6.0", "brotli", @@ -189,7 +189,7 @@ dependencies = [ "actix-service", "actix-utils", "actix-web-codegen", - "ahash", + "ahash 0.8.11", "bytes", "bytestring", "cfg-if", @@ -256,6 +256,17 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "ahash" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +dependencies = [ + "getrandom", + "once_cell", + "version_check", +] + [[package]] name = "ahash" version = "0.8.11" @@ -634,24 +645,24 @@ dependencies = [ [[package]] name = "cached" -version = "0.52.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8466736fe5dbcaf8b8ee24f9bbefe43c884dc3e9ff7178da70f55bffca1133c" +checksum = "e79be32df7029b9418298d143ffa9e8ba95eaf13f5599c83a475a64577a7e8c9" dependencies = [ - "ahash", + "ahash 0.8.11", "async-trait", "cached_proc_macro", "cached_proc_macro_types", "directories", "futures", "hashbrown 0.14.5", - "instant", "once_cell", "rmp-serde", "serde", "sled", "thiserror", "tokio", + "web-time", ] [[package]] @@ -735,6 +746,18 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e763eef8846b13b380f37dfecda401770b0ca4e56e95170237bd7c25c7db3582" +[[package]] +name = "console" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +dependencies = [ + "encode_unicode", + "lazy_static", + "libc", + "windows-sys 0.52.0", +] + [[package]] name = "const-oid" version = "0.9.6" @@ -1038,6 +1061,12 @@ dependencies = [ "serde", ] +[[package]] +name = "encode_unicode" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" + [[package]] name = "encoding_rs" version = "0.8.34" @@ -1423,6 +1452,9 @@ name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash 0.7.8", +] [[package]] name = "hashbrown" @@ -1430,7 +1462,7 @@ version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ - "ahash", + "ahash 0.8.11", "allocator-api2", ] @@ -1923,6 +1955,21 @@ dependencies = [ "serde", ] +[[package]] +name = "insta" +version = "1.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "810ae6042d48e2c9e9215043563a58a80b877bc863228a74cf10c49d4620a6f5" +dependencies = [ + "console", + "lazy_static", + "linked-hash-map", + "pest", + "pest_derive", + "serde", + "similar", +] + [[package]] name = "instant" version = "0.1.13" @@ -2176,6 +2223,15 @@ dependencies = [ "imgref", ] +[[package]] +name = "lru" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" +dependencies = [ + "hashbrown 0.12.3", +] + [[package]] name = "lru-cache" version = "0.1.2" @@ -2363,6 +2419,7 @@ dependencies = [ "futures", "image", "imageproc", + "insta", "jsonwebtoken", "lazy_static", "logos", @@ -2387,6 +2444,7 @@ dependencies = [ "tokio", "tracing", "tracing-actix-web", + "tracing-log", "tracing-subscriber", "tracing-test", "unicode-truncate", @@ -2805,6 +2863,51 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +[[package]] +name = "pest" +version = "2.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" +dependencies = [ + "memchr", + "thiserror", + "ucd-trie", +] + +[[package]] +name = "pest_derive" +version = "2.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a" +dependencies = [ + "pest", + "pest_generator", +] + +[[package]] +name = "pest_generator" +version = "2.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183" +dependencies = [ + "pest", + "pest_meta", + "proc-macro2", + "quote", + "syn 2.0.68", +] + +[[package]] +name = "pest_meta" +version = "2.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f" +dependencies = [ + "once_cell", + "pest", + "sha2", +] + [[package]] name = "pin-project" version = "1.1.5" @@ -3960,6 +4063,12 @@ dependencies = [ "quote", ] +[[package]] +name = "similar" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa42c91313f1d05da9b26f267f931cf178d4aba455b4c4622dd7355eb80c6640" + [[package]] name = "simple_asn1" version = "0.6.2" @@ -4091,7 +4200,7 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24ba59a9342a3d9bab6c56c118be528b27c9b60e490080e9711a04dccac83ef6" dependencies = [ - "ahash", + "ahash 0.8.11", "atoi", "byteorder", "bytes", @@ -4413,9 +4522,9 @@ dependencies = [ [[package]] name = "testcontainers" -version = "0.20.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb74bff469141dfded423ce9b8aa47430bfd9058e8d8ddac4a7c0966da0025bb" +checksum = "725cbe485aafddfd8b2d01665937c95498d894c07fabd9c4e06a53c7da4ccc56" dependencies = [ "async-trait", "bollard", @@ -4540,9 +4649,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.38.0" +version = "1.38.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" +checksum = "eb2caba9f80616f438e09748d5acda951967e1ea58508ef53d9c6402485a46df" dependencies = [ "backtrace", "bytes", @@ -4766,7 +4875,9 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ + "ahash 0.7.8", "log", + "lru", "once_cell", "tracing-core", ] @@ -4841,6 +4952,12 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +[[package]] +name = "ucd-trie" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" + [[package]] name = "uname" version = "0.1.1" @@ -5107,6 +5224,16 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + [[package]] name = "webpki-roots" version = "0.25.4" diff --git a/server/Cargo.toml b/server/Cargo.toml index 2a5b6b4cb..6b4001269 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -16,3 +16,12 @@ opt-level = 3 [profile.dev.package.ab_glyph] opt-level = 3 + +# https://github.com/launchbadge/sqlx?tab=readme-ov-file#compile-time-verification +[profile.dev.package.sqlx-macros] +opt-level = 3 + +# https://insta.rs/docs/quickstart/ +[profile.dev.package] +insta.opt-level = 3 +similar.opt-level = 3 diff --git a/server/main-api/Cargo.toml b/server/main-api/Cargo.toml index 1f96e3b51..a0ecdd5e4 100644 --- a/server/main-api/Cargo.toml +++ b/server/main-api/Cargo.toml @@ -17,10 +17,11 @@ path = "src/main.rs" [dependencies] # logging/obeservability actix-web-prom = { version = "0.8.0", default-features = false, features = [] } -tracing-subscriber = { version = "0.3.18",features = ["env-filter", "json", "fmt"]} +tracing-subscriber = { version = "0.3.18", features = ["env-filter", "json", "fmt"] } tracing = "0.1.40" +tracing-log = { version = "0.2.0", features = ["std", "log-tracer", "interest-cache"] } tracing-actix-web = "0.7.11" -sentry = { version = "0.34.0", features = ["tracing","metrics","backtrace","contexts","debug-images","panic","reqwest","rustls"] } +sentry = { version = "0.34.0", features = ["tracing", "metrics", "backtrace", "contexts", "debug-images", "panic", "reqwest", "rustls"] } sentry-actix = "0.34.0" #serialisation @@ -34,10 +35,10 @@ actix-web = { version = "4.5.1", default-features = false, features = ["macros", actix-cors = "0.7.0" rustls = { version = "0.23.5", default-features = false, features = ["ring"] } # the aws' fips complient libary has weird bingen issues which require deeper looking into -cached = { version = "0.52.0", features = ["default", "async", "tokio", "disk_store"] } +cached = { version = "0.53.0", features = ["default", "async", "tokio", "disk_store"] } futures = "0.3.30" # temporarily forked until https://github.com/Aetf/unicode-truncate/issues/16 is resolved -unicode-truncate = { git = "https://github.com/CommanderStorm/unicode-truncate.git", rev = "5cc7798"} +unicode-truncate = { git = "https://github.com/CommanderStorm/unicode-truncate.git", rev = "5cc7798" } # database # v0.8 needs https://github.com/launchbadge/sqlx/issues/3316 is resolved first @@ -72,7 +73,8 @@ base64 = "0.22.1" time = "0.3.36" [dev-dependencies] +insta = { version = "1.39.0", features = ["yaml", "json", "redactions"] } pretty_assertions = "1.4.0" testcontainers = { version = "0.20.0", features = ["watchdog"] } -testcontainers-modules = {version = "0.8.0",features = ["postgres","meilisearch"] } +testcontainers-modules = { version = "0.8.0", features = ["postgres", "meilisearch"] } tracing-test = "0.2.5" diff --git a/server/main-api/README.md b/server/main-api/README.md index 1cc4faa8d..160e6551e 100644 --- a/server/main-api/README.md +++ b/server/main-api/README.md @@ -34,7 +34,7 @@ docker run -it --rm -p 7700:7700 getmeili/meilisearch:latest MeiliSearch provides an interactive interface at . -To set up the Postgres, run the following command: +To set up the Postgis, run the following command: ```bash docker run -it --rm -e POSTGRES_PASSWORD=CHANGE_ME -p 5432:5432 postgis/postgis:latest @@ -121,6 +121,15 @@ some fuzzing-goals are automatically tested in our CI. You can exchange `--base-url=http://localhost:3003` to `--base-url=https://nav.tum.de` for the full public API, or restrict your scope using an option like `--endpoint=/api/search`. +### Approval tests + +Some of our tests are approval tests. +Please install [insta](https://insta.rs/docs/quickstart/) to have a working environment. + +You can then run `cargo insta test` instead of `cargo test` to review the needed changes. +If you don't want to do this, using the version we provide via CI is fine, but the DX is way better with the correct +tooling. + ## License This program is free software: you can redistribute it and/or modify diff --git a/server/main-api/migrations/20240715133417_timezone.down.sql b/server/main-api/migrations/20240715133417_timezone.down.sql new file mode 100644 index 000000000..2900defa0 --- /dev/null +++ b/server/main-api/migrations/20240715133417_timezone.down.sql @@ -0,0 +1,2 @@ +-- Add down migration script here +SET timezone TO 'UTC'; diff --git a/server/main-api/migrations/20240715133417_timezone.up.sql b/server/main-api/migrations/20240715133417_timezone.up.sql new file mode 100644 index 000000000..df20846e5 --- /dev/null +++ b/server/main-api/migrations/20240715133417_timezone.up.sql @@ -0,0 +1,2 @@ +-- Add up migration script here +SET timezone TO 'Europe/Berlin'; diff --git a/server/main-api/src/calendar/connectum.rs b/server/main-api/src/calendar/connectum.rs index 9896c2edd..97a766dc9 100644 --- a/server/main-api/src/calendar/connectum.rs +++ b/server/main-api/src/calendar/connectum.rs @@ -187,10 +187,27 @@ impl APIRequestor { &self, tx: &mut sqlx::Transaction<'_, sqlx::Postgres>, id: &str, - ) -> Result { - sqlx::query!(r#"DELETE FROM calendar WHERE room_code = $1"#, id) + ) -> Result<(), sqlx::Error> { + loop { + // deliberately somewhat low to not have too long blocking segments + let res = sqlx::query!( + r#" + WITH rows_to_delete AS ( + SELECT id + FROM calendar WHERE room_code = $1 + LIMIT 1000 + ) + + DELETE FROM calendar + WHERE id IN (SELECT id FROM rows_to_delete);"#, + id + ) .execute(&mut **tx) - .await + .await?; + if res.rows_affected() == 0 { + return Ok(()); + } + } } #[tracing::instrument(skip(tx))] async fn update_last_calendar_scrape_at( diff --git a/server/main-api/src/calendar/mod.rs b/server/main-api/src/calendar/mod.rs index adc7c9dad..448a7cd9a 100644 --- a/server/main-api/src/calendar/mod.rs +++ b/server/main-api/src/calendar/mod.rs @@ -294,12 +294,10 @@ mod tests { .insert_header(ContentType::json()) .to_request(); let (_, resp) = test::call_service(&app, req).await.into_parts(); - run_testcase( - resp, - 400, - "Json deserialize error: EOF while parsing a value at line 1 column 0", - ) - .await; + + let (status, actual) = run_testcase(resp).await; + assert_eq!(status, 400); + insta::assert_snapshot!(actual, @r###""Json deserialize error: EOF while parsing a value at line 1 column 0""###); } { // missing required query parameters @@ -314,7 +312,10 @@ mod tests { .insert_header(ContentType::json()) .to_request(); let (_, resp) = test::call_service(&app, req).await.into_parts(); - run_testcase(resp, 400, "No id requested").await; + + let (status, actual) = run_testcase(resp).await; + assert_eq!(status, 400); + insta::assert_snapshot!(actual, @r###""No id requested""###); } { // way too many parameters @@ -329,7 +330,10 @@ mod tests { .insert_header(ContentType::json()) .to_request(); let (_, resp) = test::call_service(&app, req).await.into_parts(); - run_testcase(resp, 400, "Too many ids to query. We suspect that users don't need this. If you need this limit increased, please send us a message").await; + + let (status, actual) = run_testcase(resp).await; + assert_eq!(status, 400); + insta::assert_snapshot!(actual, @r###""Too many ids to query. We suspect that users don't need this. If you need this limit increased, please send us a message""###); } { // room without a calendar @@ -344,7 +348,10 @@ mod tests { .insert_header(ContentType::json()) .to_request(); let (_, resp) = test::call_service(&app, req).await.into_parts(); - run_testcase(resp, 404, "Room 5121.EG.002/None does not have a calendar").await; + + let (status, actual) = run_testcase(resp).await; + assert_eq!(status, 404); + insta::assert_snapshot!(actual, @r###""Room 5121.EG.002/None does not have a calendar""###); } { // show all entries of 5121.EG.003 @@ -359,43 +366,10 @@ mod tests { .insert_header(ContentType::json()) .to_request(); let (_, resp) = test::call_service(&app, req).await.into_parts(); - let expected = serde_json::json!({ - "5121.EG.003": { - "events": [ - { - "id": 1, - "room_code": "5121.EG.003", - "start_at": "2012-01-01T00:00:00Z", - "end_at": "2014-01-01T00:00:00Z", - "stp_title_de": "Quantenteleportation", - "stp_title_en": "Quantum teleportation", - "stp_type": "Vorlesung mit Zentralübung", - "entry_type": "lecture", - "detailed_entry_type": "Abhaltung" - }, - { - "id": 2, - "room_code": "5121.EG.003", - "start_at": "2014-01-01T00:00:00Z", - "end_at": "2016-01-01T00:00:00Z", - "stp_title_de": "Quantenteleportation 2", - "stp_title_en": "Quantum teleportation 2", - "stp_type": "Vorlesung mit Zentralübung", - "entry_type": "lecture", - "detailed_entry_type": "Abhaltung" - } - ], - "location": { - "key": "5121.EG.003", - "name": "5121.EG.003 (Computerraum)", - "last_calendar_scrape_at": now, - "calendar_url": "https://campus.tum.de/3", - "type_common_name": "Serverraum", - "type": "room" - } - } - }); - run_testcase(resp, 200, &expected.to_string()).await; + + let (status, actual) = run_testcase(resp).await; + assert_eq!(status, 200); + insta::assert_yaml_snapshot!(actual, {".**.last_calendar_scrape_at" => "[last_calendar_scrape_at]"}); } { // show both rooms, but a limited timeframe @@ -410,58 +384,24 @@ mod tests { .insert_header(ContentType::json()) .to_request(); let (_, resp) = test::call_service(&app, req).await.into_parts(); - let expected = serde_json::json!({ - "5121.EG.001": { - "events": [], - "location": { - "calendar_url": "https://campus.tum.de/1", - "key": "5121.EG.001", - "last_calendar_scrape_at": now, - "name": "5121.EG.001 (Montage- und Versuchshalle)", - "type": "room", - "type_common_name": "Versuchshalle", - }, - }, - "5121.EG.003": { - "events": [ - { - "detailed_entry_type": "Abhaltung", - "end_at": "2014-01-01T00:00:00Z", - "entry_type": "lecture", - "id": 1, - "room_code": "5121.EG.003", - "start_at": "2012-01-01T00:00:00Z", - "stp_title_de": "Quantenteleportation", - "stp_title_en": "Quantum teleportation", - "stp_type": "Vorlesung mit Zentralübung", - }, - ], - "location": { - "calendar_url": "https://campus.tum.de/3", - "key": "5121.EG.003", - "last_calendar_scrape_at": now, - "name": "5121.EG.003 (Computerraum)", - "type": "room", - "type_common_name": "Serverraum", - }, - }, - }); - run_testcase(resp, 200, &expected.to_string()).await; + + let (status, actual) = run_testcase(resp).await; + assert_eq!(status, 200); + insta::assert_yaml_snapshot!(actual, {".**.last_calendar_scrape_at" => "[last_calendar_scrape_at]"}); } } - async fn run_testcase(resp: HttpResponse, expected_status: u16, expected_body: &str) { + async fn run_testcase(resp: HttpResponse) -> (u16, Value) { let actual_status = resp.status().as_u16(); let body_box = resp.into_body(); let body_bytes = actix_web::body::to_bytes(body_box).await.unwrap(); let body_text = String::from_utf8(body_bytes.into_iter().collect()).unwrap(); // if the expected value cleanly deserializes into json, we should compare using this - if let Ok(expected_value) = serde_json::from_str::(expected_body) { - let actual_value = serde_json::from_str::(&body_text).unwrap(); - assert_eq!(actual_value, expected_value); + let body = if let Ok(actual) = serde_json::from_str::(&body_text) { + actual } else { - assert_eq!(body_text, expected_body); - } - assert_eq!(actual_status, expected_status); + Value::String(body_text) + }; + (actual_status, body) } } diff --git a/server/main-api/src/calendar/models.rs b/server/main-api/src/calendar/models.rs index f4c32f719..622e6db8e 100644 --- a/server/main-api/src/calendar/models.rs +++ b/server/main-api/src/calendar/models.rs @@ -1,7 +1,6 @@ -use std::fmt::Display; - -use chrono::{DateTime, Utc}; +use chrono::{DateTime, Duration, Utc}; use serde::{Deserialize, Serialize}; +use std::fmt::Display; use crate::models::Location; @@ -75,8 +74,8 @@ impl Event { detailed_entry_type = EXCLUDED.detailed_entry_type"#, self.id, self.room_code, - self.start_at, - self.end_at, + self.start_at + Duration::hours(1), + self.end_at + Duration::hours(1), self.stp_title_de, self.stp_title_en, self.stp_type, diff --git a/server/main-api/src/calendar/snapshots/navigatum_main_api__calendar__tests__index_get-5.snap b/server/main-api/src/calendar/snapshots/navigatum_main_api__calendar__tests__index_get-5.snap new file mode 100644 index 000000000..ec55ce02d --- /dev/null +++ b/server/main-api/src/calendar/snapshots/navigatum_main_api__calendar__tests__index_get-5.snap @@ -0,0 +1,31 @@ +--- +source: main-api/src/calendar/mod.rs +expression: actual +--- +5121.EG.003: + events: + - detailed_entry_type: Abhaltung + end_at: "2014-01-01T01:00:00Z" + entry_type: lecture + id: 1 + room_code: 5121.EG.003 + start_at: "2012-01-01T01:00:00Z" + stp_title_de: Quantenteleportation + stp_title_en: Quantum teleportation + stp_type: Vorlesung mit Zentralübung + - detailed_entry_type: Abhaltung + end_at: "2016-01-01T01:00:00Z" + entry_type: lecture + id: 2 + room_code: 5121.EG.003 + start_at: "2014-01-01T01:00:00Z" + stp_title_de: Quantenteleportation 2 + stp_title_en: Quantum teleportation 2 + stp_type: Vorlesung mit Zentralübung + location: + calendar_url: "https://campus.tum.de/3" + key: 5121.EG.003 + last_calendar_scrape_at: "[last_calendar_scrape_at]" + name: 5121.EG.003 (Computerraum) + type: room + type_common_name: Serverraum diff --git a/server/main-api/src/calendar/snapshots/navigatum_main_api__calendar__tests__index_get-6.snap b/server/main-api/src/calendar/snapshots/navigatum_main_api__calendar__tests__index_get-6.snap new file mode 100644 index 000000000..fde86b0ed --- /dev/null +++ b/server/main-api/src/calendar/snapshots/navigatum_main_api__calendar__tests__index_get-6.snap @@ -0,0 +1,22 @@ +--- +source: main-api/src/calendar/mod.rs +expression: actual +--- +5121.EG.001: + events: [] + location: + calendar_url: "https://campus.tum.de/1" + key: 5121.EG.001 + last_calendar_scrape_at: "[last_calendar_scrape_at]" + name: 5121.EG.001 (Montage- und Versuchshalle) + type: room + type_common_name: Versuchshalle +5121.EG.003: + events: [] + location: + calendar_url: "https://campus.tum.de/3" + key: 5121.EG.003 + last_calendar_scrape_at: "[last_calendar_scrape_at]" + name: 5121.EG.003 (Computerraum) + type: room + type_common_name: Serverraum diff --git a/server/main-api/src/feedback/github.rs b/server/main-api/src/feedback/github.rs index 272f8b4c5..a8a5f41f8 100644 --- a/server/main-api/src/feedback/github.rs +++ b/server/main-api/src/feedback/github.rs @@ -7,7 +7,7 @@ fn github_token() -> Result { match std::env::var("GITHUB_TOKEN") { Ok(token) => Ok(token.trim().to_string()), Err(e) => { - format!("GITHUB_TOKEN has to be set for feedback: {e:?}"); + error!("GITHUB_TOKEN has to be set for feedback: {e:?}"); Err(()) } } diff --git a/server/main-api/src/feedback/post_feedback.rs b/server/main-api/src/feedback/post_feedback.rs index 17711874d..9eab82d01 100644 --- a/server/main-api/src/feedback/post_feedback.rs +++ b/server/main-api/src/feedback/post_feedback.rs @@ -32,26 +32,11 @@ pub async fn send_feedback( .content_type("text/plain") .body("Using this endpoint without accepting the privacy policy is not allowed"); }; - let (title_category, labels) = parse_request(&req_data); - github::open_issue( - &format!("[{title_category}] {subject}", subject = req_data.subject), - &req_data.body, - labels, - ) - .await + github::open_issue(&req_data.subject, &req_data.body, parse_labels(&req_data)).await } -fn parse_request(req_data: &Json) -> (&str, Vec) { - let title_category = match req_data.category.as_str() { - "general" => "General", - "bug" => "Bug", - "feature" => "Feature", - "search" => "Search", - "entry" => "Entry", - _ => "Form", - }; - +fn parse_labels(req_data: &Json) -> Vec { let mut labels = vec!["webform".to_string()]; if req_data.deletion_requested { labels.push("delete-after-processing".to_string()); @@ -62,5 +47,5 @@ fn parse_request(req_data: &Json) -> (&str, Vec) { } _ => {} }; - (title_category, labels) + labels } diff --git a/server/main-api/src/main.rs b/server/main-api/src/main.rs index 3b0283d5b..6926fb7b4 100644 --- a/server/main-api/src/main.rs +++ b/server/main-api/src/main.rs @@ -40,6 +40,7 @@ pub struct AppData { impl AppData { async fn new() -> Self { let pool = PgPoolOptions::new() + .min_connections(2) .connect(&connection_string()) .await .expect("make sure that postgis is running in the background"); @@ -92,6 +93,11 @@ pub fn setup_logging() { let filter = EnvFilter::builder().parse_lossy(filter); + tracing_log::LogTracer::builder() + .with_interest_cache(tracing_log::InterestCacheConfig::default()) + .init() + .expect("the global logger to only be set once"); + let registry = tracing_subscriber::registry() .with(filter) .with(sentry::integrations::tracing::layer()) diff --git a/server/main-api/src/search/mod.rs b/server/main-api/src/search/mod.rs index d655ea570..b7bf2d475 100644 --- a/server/main-api/src/search/mod.rs +++ b/server/main-api/src/search/mod.rs @@ -1,8 +1,10 @@ +use std::fmt::{Debug, Formatter}; use std::time::Instant; use crate::AppData; use actix_web::{get, web, HttpResponse}; use cached::proc_macro::cached; +use meilisearch_sdk::client::Client; use serde::{Deserialize, Serialize}; use tracing::{debug, error}; use unicode_truncate::UnicodeTruncateStr; @@ -33,6 +35,15 @@ pub struct Limits { pub rooms_count: usize, pub total_count: usize, } +impl Default for Limits { + fn default() -> Self { + Self { + total_count: 10, + buildings_count: 5, + rooms_count: 10, + } + } +} impl From<&SearchQueryArgs> for Limits { fn from(args: &SearchQueryArgs) -> Self { @@ -53,12 +64,27 @@ impl From<&SearchQueryArgs> for Limits { } } -#[derive(Debug, Default, Clone, Eq, PartialEq, Hash)] +#[derive(Clone, Eq, PartialEq, Hash)] pub struct Highlighting { pub pre: String, pub post: String, } +impl Debug for Highlighting { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + let pre = &self.pre; + let post = &self.post; + write!(f, "{pre}..{post}") + } +} +impl Default for Highlighting { + fn default() -> Self { + Self { + pre: "\u{0019}".to_string(), + post: "\u{0017}".to_string(), + } + } +} impl From<&SearchQueryArgs> for Highlighting { fn from(args: &SearchQueryArgs) -> Self { let (pre, post) = ( @@ -114,9 +140,19 @@ async fn cached_geoentry_search( highlighting: Highlighting, limits: Limits, ) -> Vec { - search_executor::do_geoentry_search(q, highlighting, limits) - .await - .0 + let ms_url = std::env::var("MIELI_URL").unwrap_or_else(|_| "http://localhost:7700".to_string()); + let client = Client::new(ms_url, std::env::var("MEILI_MASTER_KEY").ok()); + match client { + Ok(client) => { + search_executor::do_geoentry_search(&client, q, highlighting, limits) + .await + .0 + } + Err(e) => { + error!("Cannot connect to meilisearch because {e:?}"); + vec![] + } + } } #[cfg(test)] diff --git a/server/main-api/src/search/search_executor/mod.rs b/server/main-api/src/search/search_executor/mod.rs index 47f6762ea..021b9d74a 100644 --- a/server/main-api/src/search/search_executor/mod.rs +++ b/server/main-api/src/search/search_executor/mod.rs @@ -1,3 +1,4 @@ +use meilisearch_sdk::client::Client; use serde::Serialize; use tracing::error; @@ -35,15 +36,16 @@ struct ResultEntry { #[serde(skip_serializing_if = "Option::is_none")] parsed_id: Option, } -#[tracing::instrument] +#[tracing::instrument(skip(client))] pub async fn do_geoentry_search( + client: &Client, q: String, highlighting: Highlighting, limits: Limits, ) -> LimitedVec { let parsed_input = ParsedQuery::from(q.as_str()); - match query::GeoEntryQuery::from((&parsed_input, &limits, &highlighting)) + match query::GeoEntryQuery::from((client, &parsed_input, &limits, &highlighting)) .execute() .await { @@ -72,3 +74,104 @@ pub async fn do_geoentry_search( } } } + +#[cfg(test)] +mod test { + use super::*; + use crate::setup::tests::MeiliSearchTestContainer; + use std::fmt::{Display, Formatter}; + + #[derive(serde::Deserialize)] + struct TestQuery { + target: String, + query: String, + among: Option, + comment: Option, + } + + impl TestQuery { + fn load_good() -> Vec { + serde_yaml::from_str(include_str!("test-queries.good.yaml")).unwrap() + } + fn load_bad() -> Vec { + serde_yaml::from_str(include_str!("test-queries.bad.yaml")).unwrap() + } + fn actual_matches_among(&self, actual: &[ResultsSection]) -> bool { + let among = self.among.unwrap_or(1); + let mut acceptable_range = actual.iter().flat_map(|r| r.entries.clone()).take(among); + acceptable_range.any(|r| r.id == self.target) + } + async fn search(&self, client: &Client) -> Vec { + do_geoentry_search( + client, + self.query.clone(), + Highlighting::default(), + Limits::default(), + ) + .await + .0 + } + } + impl Display for TestQuery { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + write!( + f, + "'{query}' should get '{target}' in {among} results", + query = self.query, + target = self.target, + among = self.among.unwrap_or(1), + )?; + if let Some(comment) = &self.comment { + write!(f, " # {comment}")?; + } + Ok(()) + } + } + #[tokio::test] + #[tracing_test::traced_test] + async fn test_good_queries() { + let ms = MeiliSearchTestContainer::new().await; + crate::setup::meilisearch::load_data(&ms.client) + .await + .unwrap(); + for query in TestQuery::load_good() { + let actual = query.search(&ms.client).await; + assert!( + query.actual_matches_among(&actual), + "{query}\n\ + Since it can't, please move it to .bad list" + ); + + insta::with_settings!({ + info => &format!("{query}"), + description => query.comment.unwrap_or_default(), + }, { + insta::assert_yaml_snapshot!(actual); + }); + } + } + + #[tokio::test] + #[tracing_test::traced_test] + async fn test_bad_queries() { + let ms = MeiliSearchTestContainer::new().await; + crate::setup::meilisearch::load_data(&ms.client) + .await + .unwrap(); + for query in TestQuery::load_bad() { + let actual = query.search(&ms.client).await; + assert!( + !query.actual_matches_among(&actual), + "{query}\n\ + Since it can, please move it to .good list" + ); + + insta::with_settings!({ + info => &format!("{query}"), + description => query.comment.unwrap_or_default(), + }, { + insta::assert_yaml_snapshot!(actual); + }); + } + } +} diff --git a/server/main-api/src/search/search_executor/query.rs b/server/main-api/src/search/search_executor/query.rs index 6c1b16c47..67efe2785 100644 --- a/server/main-api/src/search/search_executor/query.rs +++ b/server/main-api/src/search/search_executor/query.rs @@ -3,6 +3,7 @@ use meilisearch_sdk::errors::Error; use meilisearch_sdk::indexes::Index; use meilisearch_sdk::search::{MultiSearchResponse, SearchQuery, Selectors}; use serde::Deserialize; +use std::fmt::{Debug, Formatter}; use crate::search::search_executor::parser::{Filter, ParsedQuery, TextToken}; use crate::search::{Highlighting, Limits}; @@ -24,12 +25,26 @@ pub(super) struct MSHit { rank: i32, } -#[derive(Debug)] struct GeoEntryFilters { default: String, rooms: String, buildings: String, } +impl Debug for GeoEntryFilters { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + let mut base = f.debug_struct("GeoEntryFilters"); + if !self.default.is_empty() { + base.field("default", &self.default); + } + if !self.rooms.is_empty() { + base.field("rooms", &self.rooms); + } + if !self.buildings.is_empty() { + base.field("buildings", &self.buildings); + } + base.finish() + } +} impl From<&Filter> for GeoEntryFilters { fn from(filters: &Filter) -> Self { @@ -43,8 +58,8 @@ impl From<&Filter> for GeoEntryFilters { } } -#[derive(Debug)] pub(super) struct GeoEntryQuery { + client: Client, parsed_input: ParsedQuery, limits: Limits, highlighting: Highlighting, @@ -52,9 +67,29 @@ pub(super) struct GeoEntryQuery { sorting: Vec, } -impl From<(&ParsedQuery, &Limits, &Highlighting)> for GeoEntryQuery { - fn from((parsed_input, limits, highlighting): (&ParsedQuery, &Limits, &Highlighting)) -> Self { +impl Debug for GeoEntryQuery { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + f.debug_struct("GeoEntryQuery") + .field("parsed_input", &self.parsed_input) + .field("limits", &self.limits) + .field("highlighting", &self.highlighting) + .field("filters", &self.filters) + .field("sorting", &self.sorting) + .finish() + } +} + +impl From<(&Client, &ParsedQuery, &Limits, &Highlighting)> for GeoEntryQuery { + fn from( + (client, parsed_input, limits, highlighting): ( + &Client, + &ParsedQuery, + &Limits, + &Highlighting, + ), + ) -> Self { Self { + client: client.clone(), parsed_input: parsed_input.clone(), limits: *limits, highlighting: highlighting.clone(), @@ -68,10 +103,7 @@ impl GeoEntryQuery { #[tracing::instrument(ret(level = tracing::Level::TRACE))] pub async fn execute(self) -> Result, Error> { let q_default = self.prompt_for_querying(); - let ms_url = - std::env::var("MIELI_URL").unwrap_or_else(|_| "http://localhost:7700".to_string()); - let client = Client::new(ms_url, std::env::var("MEILI_MASTER_KEY").ok())?; - let entries = client.index("entries"); + let entries = self.client.index("entries"); // due to lifetime shenanigans this is added here (I can't make it move down to the other statements) // If you can make it, please propose a PR, I know that this is really hacky ^^ @@ -86,7 +118,7 @@ impl GeoEntryQuery { // for all entries and only rooms, search matching (and relevant) buildings can be // expected to be at the top of the merged search. However sometimes a lot of // buildings will be hidden (e.g. building parts), so the extra room search .... - client + self.client .multi_search() .with_search_query( self.merged_query(&entries, &q_default) diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-10.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-10.snap new file mode 100644 index 000000000..75ae0a0e0 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-10.snap @@ -0,0 +1,62 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: typo with short word and at first letter +expression: actual +info: "'f abuer' should get '5602.EG.001' in 1 results # typo with short word and at first letter" +--- +- facet: rooms + entries: + - id: 2805.EG.005 + type: room + name: 2805.EG.005 (Büro) + subtext: "Dachau, Karl-Benz-Straße" + subtext_bold: 1.F.1@2805 + - id: 2805.EG.011 + type: room + name: 2805.EG.011 (Technik/fensterlos) + subtext: "Dachau, Karl-Benz-Straße" + subtext_bold: 2.F.2@2805 + - id: 2805.EG.030 + type: room + name: 2805.EG.030 (Flur-Nord) + subtext: "Dachau, Karl-Benz-Straße" + subtext_bold: F-NORD@2805 + - id: 0508.EG.806 + type: room + name: "0508.EG.806 (Gruppenraum \u0019f\u0017. Praktika)" + subtext: "stammgelände, Heizkraftwerk (Z8)" + subtext_bold: 0806@0508 + - id: 2913.01.110 + type: room + name: 2913.01.110 (Seminarraum) + subtext: "stammgelände, Brienner Forum Haus F (AM)" + subtext_bold: F.1.10@2913 + - id: 2913.01.111 + type: room + name: 2913.01.111 (Seminarraum) + subtext: "stammgelände, Brienner Forum Haus F (AM)" + subtext_bold: F.1.11@2913 + - id: 2913.01.112 + type: room + name: 2913.01.112 (Seminarraum) + subtext: "stammgelände, Brienner Forum Haus F (AM)" + subtext_bold: F.1.12@2913 + - id: 5407.EG.651E + type: room + name: "5407.EG.651E (Phys.Messr.\u0019f\u0017.instr.Analytik)" + subtext: "garching, Chemie" + subtext_bold: 16515@5407 + n_visible: 8 + estimatedTotalHits: 130 +- facet: sites_buildings + entries: + - id: "2913" + type: building + name: "Brienner Forum Haus \u0019F\u0017 (AM)" + subtext: Gebäude + - id: "2607" + type: building + name: "Fahrzeughalle (BL. \u0019F\u0017)" + subtext: Gebäude + n_visible: 0 + estimatedTotalHits: 2 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-11.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-11.snap new file mode 100644 index 000000000..d74723b09 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-11.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "main room called 'service desk', only all 114abc.. subrooms have 'ssz' in the name" +expression: actual +info: "'ssz' should get '0501.EG.144' in 1 results # main room called 'service desk', only all 114abc.. subrooms have 'ssz' in the name" +--- +- facet: rooms + entries: + - id: 0501.EG.144A + type: room + name: "0501.EG.144A (\u0019SSZ\u0017 Info)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0144A@0501 + - id: 0501.EG.144B + type: room + name: "0501.EG.144B (\u0019SSZ\u0017 Info)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0144B@0501 + - id: 0501.EG.144C + type: room + name: "0501.EG.144C (\u0019SSZ\u0017 Info)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0144C@0501 + - id: 0501.EG.144D + type: room + name: "0501.EG.144D (\u0019SSZ\u0017 Info)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0144D@0501 + - id: 0501.EG.144E + type: room + name: "0501.EG.144E (\u0019SSZ\u0017 Info)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0144E@0501 + - id: 0501.EG.144F + type: room + name: "0501.EG.144F (\u0019SSZ\u0017 Info)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0144F@0501 + - id: 0501.EG.144G + type: room + name: "0501.EG.144G (\u0019SSZ\u0017 Info)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0144G@0501 + - id: 0501.EG.144H + type: room + name: "0501.EG.144H (\u0019SSZ\u0017 Info)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0144H@0501 + - id: 0501.EG.148 + type: room + name: "0501.EG.148 (Teeküche \u0019SSZ\u0017)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0148@0501 + - id: 0505.EG.561 + type: room + name: "0505.EG.561 (Sekretariat \u0019SSZ\u0017/HR S+L / Recht)" + subtext: "stammgelände, Wirtschaftswissenschaften (Z5)" + subtext_bold: 0561@0505 + n_visible: 10 + estimatedTotalHits: 11 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-12.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-12.snap new file mode 100644 index 000000000..d512ce1a1 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-12.snap @@ -0,0 +1,29 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'Immathalle' should get '0501.EG.136' in 1 results" +--- +- facet: rooms + entries: + - id: 0501.EG.130C + type: room + name: "0501.EG.130C (Küche \u0019Immatrikulationshalle\u0017)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0130C@0501 + - id: 0501.EG.136 + type: room + name: "0501.EG.136 (\u0019Immatrikulationshalle\u0017)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0136@0501 + - id: 0501.EG.140 + type: room + name: "0501.EG.140 (Durchgangshalle zur \u0019Immathalle\u0017)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0140@0501 + n_visible: 3 + estimatedTotalHits: 3 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-13.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-13.snap new file mode 100644 index 000000000..00db6cdd8 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-13.snap @@ -0,0 +1,14 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: Copy/paste from real search +expression: actual +info: "'Augustenstraße 44; Raum 209; 2.OG' should get '2903.02.209' in 1 results # Copy/paste from real search" +--- +- facet: rooms + entries: [] + n_visible: 0 + estimatedTotalHits: 0 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-14.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-14.snap new file mode 100644 index 000000000..80242c66a --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-14.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "there are two basic lab course rooms, this is one of them" +expression: actual +info: "'praktikumsraum mi' should get '5604.EG.038' in 2 results # there are two basic lab course rooms, this is one of them" +--- +- facet: rooms + entries: + - id: 5605.01.012 + type: room + name: "5605.01.012 (\u0019Praktikumsraum\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 01.05.012@5605 + - id: 5605.01.013 + type: room + name: "5605.01.013 (\u0019Praktikumsraum\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 01.05.013@5605 + - id: 5605.02.014 + type: room + name: "5605.02.014 (\u0019Praktikumsraum\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 02.05.014@5605 + - id: 5605.02.033 + type: room + name: "5605.02.033 (\u0019Praktikumsraum\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 02.05.033@5605 + - id: 5605.03.012 + type: room + name: "5605.03.012 (\u0019Praktikumsraum\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 03.05.012@5605 + - id: 5605.03.014 + type: room + name: "5605.03.014 (\u0019Praktikumsraum\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 03.05.014@5605 + - id: 5605.03.057 + type: room + name: "5605.03.057 (\u0019Praktikumsraum\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 03.05.057@5605 + - id: 5607.01.012 + type: room + name: "5607.01.012 (\u0019Praktikumsraum\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 01.07.012@5607 + - id: 5608.01.011 + type: room + name: "5608.01.011 (\u0019Praktikumsraum\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 01.08.011@5608 + - id: 5608.01.020 + type: room + name: "5608.01.020 (\u0019Praktikumsraum\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 01.08.020@5608 + n_visible: 10 + estimatedTotalHits: 209 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-15.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-15.snap new file mode 100644 index 000000000..50b731f86 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-15.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "'5604.02.033' is a valid result before the two lab course rooms" +expression: actual +info: "'physik labor mi' should get '5604.EG.036' in 3 results # '5604.02.033' is a valid result before the two lab course rooms" +--- +- facet: rooms + entries: + - id: 0104.U1.404 + type: room + name: "0104.U1.404 (\u0019Mi\u0017krostr. Bauele.-\u0019Labor\u0017)" + subtext: "stammgelände, E-Technik Elektrophysik (N4)" + subtext_bold: N-1404@0104 + - id: 0104.EG.426 + type: room + name: "0104.EG.426 (\u0019Physiklabor\u0017 \u0019mi\u0017t elektromagnetischer Abschir)" + subtext: "stammgelände, E-Technik Elektrophysik (N4)" + subtext_bold: N0426@0104 + - id: 5501.01.108 + type: room + name: "5501.01.108 (\u0019Mi\u0017krotechniklabor)" + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 1108@5501 + - id: 2806.03.302 + type: room + name: "2806.03.302 (\u0019Mi\u0017kroskopie)" + subtext: Werkstattgebäude National Museum (Nutzung) + subtext_bold: 3.302@2806 + - id: 4224.01.136 + type: room + name: "4224.01.136 (\u0019Mi\u0017kroskopie)" + subtext: "weihenstephan, ZIEL IV - Biowissenschaften" + subtext_bold: 1.36@4224 + - id: 4224.01.156 + type: room + name: "4224.01.156 (\u0019Mi\u0017kroskopierraum S1-Genlabor)" + subtext: "weihenstephan, ZIEL IV - Biowissenschaften" + subtext_bold: 1.56@4224 + - id: 4317.01.121 + type: room + name: "4317.01.121 (\u0019Mi\u0017kroskopierraum)" + subtext: "weihenstephan, Tierwissenschaften" + subtext_bold: 1.21@4317 + - id: 4404.EG.003 + type: room + name: "4404.EG.003 (\u0019Mi\u0017kroskopie)" + subtext: "limnologische-station-iffeldorf, Seminargebäude" + subtext_bold: 003@4404 + - id: 0103.U1.301 + type: room + name: "0103.U1.301 (FIB-\u0019Mi\u0017kroskopierraum)" + subtext: "stammgelände, E-Technik El. Maschinen / Geräte (N3)" + subtext_bold: "-1301@0103" + - id: 4124.EG.320 + type: room + name: "4124.EG.320 (L1 \u0019Mi\u0017kroorganismen)" + subtext: "weihenstephan, ZIEL II – Molekulare Biowissenschaften" + subtext_bold: E/3.20@4124 + n_visible: 10 + estimatedTotalHits: 1000 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 28 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-16.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-16.snap new file mode 100644 index 000000000..4986f816d --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-16.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "This is 'N-1403@0104', but 'N1403@0104' can be before this" +expression: actual +info: "'n1403' should get '0104.U1.403' in 2 results # This is 'N-1403@0104', but 'N1403@0104' can be before this" +--- +- facet: rooms + entries: + - id: 0104.01.403 + type: room + name: 0104.01.403 (Büro) + subtext: "stammgelände, E-Technik Elektrophysik (N4)" + subtext_bold: N1403@0104 + - id: 0102.01.203 + type: room + name: 0102.01.203 (Hörsaal-eben m.exp.-Bühne) + subtext: "stammgelände, Hochvolthaus (N2)" + subtext_bold: N1203@0102 + - id: 0101.Z1.003 + type: room + name: 0101.Z1.003 (Studentenarbeitsraum) + subtext: "stammgelände, U-Trakt (N1)" + subtext_bold: N1003ZG@0101 + - id: 0101.Z1.039 + type: room + name: 0101.Z1.039 (Seminarraum) + subtext: "stammgelände, U-Trakt (N1)" + subtext_bold: N1039ZG@0101 + - id: 0104.01.406 + type: room + name: 0104.01.406 (Studentenarb. m. DV) + subtext: "stammgelände, E-Technik Elektrophysik (N4)" + subtext_bold: N1406@0104 + - id: 0108.01.803 + type: room + name: 0108.01.803 (Gruppenraum) + subtext: "stammgelände, E-Technik Verfügungsgebäude (N8)" + subtext_bold: N1803@0108 + - id: 0101.Z1.031 + type: room + name: 0101.Z1.031 (Bibliotheksraum einf.) + subtext: "stammgelände, U-Trakt (N1)" + subtext_bold: N1031ZG@0101 + - id: 5112.EG.103N + type: room + name: 5112.EG.103N (Labor) + subtext: "garching, Walter-Schottky-Institut (WSI)" + subtext_bold: N103@5112 + - id: 0101.Z1.030 + type: room + name: 0101.Z1.030 (Besprechungsraum) + subtext: "stammgelände, U-Trakt (N1)" + subtext_bold: N1030ZG@0101 + - id: 0101.Z1.032 + type: room + name: 0101.Z1.032 (Büro) + subtext: "stammgelände, U-Trakt (N1)" + subtext_bold: N1032ZG@0101 + n_visible: 10 + estimatedTotalHits: 552 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-17.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-17.snap new file mode 100644 index 000000000..9154b206b --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-17.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "typo + it's 'Fachschaftsbüro' in the data" +expression: actual +info: "'fachschaft pyhsik' should get '5101.EG.257' in 1 results # typo + it's 'Fachschaftsbüro' in the data" +--- +- facet: rooms + entries: + - id: 0104.EG.413 + type: room + name: "0104.EG.413 (Elektroniklabor \u0019Fachschaft\u0017 EI)" + subtext: "stammgelände, E-Technik Elektrophysik (N4)" + subtext_bold: N0413@0104 + - id: 5101.EG.257 + type: room + name: "5101.EG.257 (Büro \u0019Fachschaft\u0017 Mathe \u0019Physik\u0017 Informatik Chemie / MPIC)" + subtext: "garching, Physik I" + subtext_bold: 2257@5101 + - id: 5606.EG.036 + type: room + name: "5606.EG.036 (Büro \u0019Fachschaft\u0017 Mathe \u0019Physik\u0017 Informatik Chemie / MPIC)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.06.036@5606 + - id: 5606.EG.037 + type: room + name: "5606.EG.037 (Besprechungsraum \u0019Fachschaft\u0017 Mathe \u0019Physik\u0017 Informatik Chemie / MPIC)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.06.037@5606 + - id: 5406.01.650C + type: room + name: "5406.01.650C (Büro \u0019Fachschaft\u0017 Mathe \u0019Physik\u0017 Informatik Chemie / MPIC)" + subtext: "garching, Chemie" + subtext_bold: 26503@5406 + - id: 5606.EG.038 + type: room + name: "5606.EG.038 (Lager \u0019Fachschaft\u0017 Mathe \u0019Physik\u0017 Informatik Chemie / MPIC)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.06.038@5606 + - id: 5606.EG.039 + type: room + name: "5606.EG.039 (Skriptenverkauf \u0019Fachschaft\u0017 Mathe \u0019Physik\u0017 Informatik Chemie / MPIC)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.06.039@5606 + - id: 2333.01.103 + type: room + name: "2333.01.103 (\u0019Fachschaft\u0017 Sport)" + subtext: "campus-im-olympiapark-sz, CiO/SG Hallen Ost" + subtext_bold: 01.2333.103@2333 + - id: 9377.01.130 + type: room + name: "9377.01.130 (Projektraum \u0019Fachschaft\u0017)" + subtext: "taufkirchen-ottobr., Lise-Meitner-Straße 9-11" + subtext_bold: 01.130@9377 + - id: 0504.EG.424 + type: room + name: "0504.EG.424 (Arbeitsraum/Studenten/\u0019Fachschaft\u0017)" + subtext: "stammgelände, Landwirtschaftsbau (Z4)" + subtext_bold: 0424@0504 + n_visible: 10 + estimatedTotalHits: 37 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-18.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-18.snap new file mode 100644 index 000000000..707785a3f --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-18.snap @@ -0,0 +1,63 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "H.003 is the correct room, but people have problems remembering how many zeroes are in the room number" +expression: actual +info: "'H.0003' should get '2910.EG.003' in 1 results # H.003 is the correct room, but people have problems remembering how many zeroes are in the room number" +--- +- facet: sites_buildings + entries: + - id: "2910" + type: building + name: "Richard-Wagner-Str. 1 / Haus B + Haus \u0019H\u0017, Hochschule für Politik (HfP)/ Department of Governance (GOV)" + subtext: Gebäude + n_visible: 1 + estimatedTotalHits: 1 +- facet: rooms + entries: + - id: 2910.01.101 + type: room + name: 2910.01.101 (Gruppenarbeitsraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.101@2910 + - id: 2910.01.102 + type: room + name: 2910.01.102 (Gruppenarbeitsraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.102@2910 + - id: 2910.02.202 + type: room + name: 2910.02.202 (Seminarraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.202@2910 + - id: 2910.02.204 + type: room + name: 2910.02.204 (Seminarraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.204@2910 + - id: 2910.02.206 + type: room + name: 2910.02.206 (Seminarraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.206@2910 + - id: 2910.EG.001 + type: room + name: 2910.EG.001 (Seminarraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.001@2910 + - id: 2910.EG.002 + type: room + name: 2910.EG.002 (Seminarraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.002@2910 + - id: 2910.EG.003 + type: room + name: 2910.EG.003 (Seminarraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.003@2910 + - id: 5212.01.028 + type: room + name: 5212.01.028 (Gemeinschaftsraum) + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.1.028@5212 + n_visible: 9 + estimatedTotalHits: 412 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-19.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-19.snap new file mode 100644 index 000000000..5e1a98812 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-19.snap @@ -0,0 +1,66 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "H.003 is the correct room, but people have problems remembering how many zeroes are in the room number" +expression: actual +info: "'H.03' should get '2910.EG.003' in 1 results # H.003 is the correct room, but people have problems remembering how many zeroes are in the room number" +--- +- facet: rooms + entries: + - id: 5212.01.030 + type: room + name: "5212.01.\u001903\u00170 (Gemeinschaftsraum)" + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.1.030@5212 + - id: 5212.02.030 + type: room + name: "5212.02.\u001903\u00170 (Gemeinschaftsraum)" + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.2.030@5212 + - id: 2910.EG.031 + type: room + name: "2910.EG.\u001903\u00171 (WC-Herren)" + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.031@2910 + parsed_id: "\u0019H.03\u00171 RiWa 1 (HfP/GOV)" + - id: 2910.EG.032 + type: room + name: "2910.EG.\u001903\u00172 (Beh.-WC)" + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.032@2910 + parsed_id: "\u0019H.03\u00172 RiWa 1 (HfP/GOV)" + - id: 0504.03.430 + type: room + name: "0504.\u001903\u0017.430 (WC-\u0019H\u0017)" + subtext: "stammgelände, Landwirtschaftsbau (Z4)" + subtext_bold: 3430@0504 + - id: 0505.03.522 + type: room + name: "0505.\u001903\u0017.522 (WC-\u0019H\u0017)" + subtext: "stammgelände, Wirtschaftswissenschaften (Z5)" + subtext_bold: 3522@0505 + - id: 0505.03.526A + type: room + name: "0505.\u001903\u0017.526A (WC-\u0019H\u0017)" + subtext: "stammgelände, Wirtschaftswissenschaften (Z5)" + subtext_bold: 3526@0505 + - id: 0501.03.135 + type: room + name: "0501.\u001903\u0017.135 (Vorraum WC-\u0019H\u0017)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 3135@0501 + - id: 0501.03.135B + type: room + name: "0501.\u001903\u0017.135B (Toilette WC-\u0019H\u0017)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 3135B@0501 + - id: 0501.03.153A + type: room + name: "0501.\u001903\u0017.153A (Vorraum WC-\u0019H\u0017)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 3153A@0501 + n_visible: 10 + estimatedTotalHits: 412 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 1 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-2.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-2.snap new file mode 100644 index 000000000..73e06139a --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-2.snap @@ -0,0 +1,62 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: target is hallucinated as it currently does not exist +expression: actual +info: "'tb innenstadt' should get 'tb-arcisstraße' in 1 results # target is hallucinated as it currently does not exist" +--- +- facet: sites_buildings + entries: + - id: "4220" + type: building + name: "\u0019Teilbibliothek\u0017 Weihenstephan, Pressestelle Datenverarbeitung" + subtext: Gebäude + - id: "5401" + type: building + name: "\u0019Teilbibliothek\u0017 Chemie, Hörsaal (CH1, dunkelgrün)" + subtext: Gebäudeteil + n_visible: 2 + estimatedTotalHits: 2 +- facet: rooms + entries: + - id: 5401.01.101K + type: room + name: 5401.01.101K (Hans-Fischer-Hörsaal) + subtext: "garching, Chemie" + subtext_bold: 21010@5401 + - id: 4220.01.001 + type: room + name: 4220.01.001 (Einzelarbeitsraum) + subtext: "weihenstephan, Teilbibliothek Weihenstephan, Pressestelle Datenverarbeitung" + subtext_bold: OG R 01@4220 + - id: 4220.01.002 + type: room + name: 4220.01.002 (Einzelarbeitsraum) + subtext: "weihenstephan, Teilbibliothek Weihenstephan, Pressestelle Datenverarbeitung" + subtext_bold: OG R 02@4220 + - id: 4220.01.003 + type: room + name: 4220.01.003 (Einzelarbeitsraum) + subtext: "weihenstephan, Teilbibliothek Weihenstephan, Pressestelle Datenverarbeitung" + subtext_bold: OG R 03@4220 + - id: 4220.01.004 + type: room + name: 4220.01.004 (Einzelarbeitsraum) + subtext: "weihenstephan, Teilbibliothek Weihenstephan, Pressestelle Datenverarbeitung" + subtext_bold: OG R 04@4220 + - id: 4220.01.005 + type: room + name: 4220.01.005 (Einzelarbeitsraum) + subtext: "weihenstephan, Teilbibliothek Weihenstephan, Pressestelle Datenverarbeitung" + subtext_bold: OG R 05@4220 + - id: 4220.01.006 + type: room + name: 4220.01.006 (Einzelarbeitsraum) + subtext: "weihenstephan, Teilbibliothek Weihenstephan, Pressestelle Datenverarbeitung" + subtext_bold: OG R 06@4220 + - id: 4220.01.007 + type: room + name: 4220.01.007 (Einzelarbeitsraum) + subtext: "weihenstephan, Teilbibliothek Weihenstephan, Pressestelle Datenverarbeitung" + subtext_bold: OG R 07@4220 + n_visible: 8 + estimatedTotalHits: 392 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-20.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-20.snap new file mode 100644 index 000000000..ed3c3f5fc --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-20.snap @@ -0,0 +1,66 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "H.003 is the correct room, but people have problems remembering how many zeroes are in the room number" +expression: actual +info: "'H.3' should get '2910.EG.003' in 1 results # H.003 is the correct room, but people have problems remembering how many zeroes are in the room number" +--- +- facet: rooms + entries: + - id: 5212.01.028 + type: room + name: 5212.01.028 (Gemeinschaftsraum) + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.1.028@5212 + - id: 5212.01.030 + type: room + name: 5212.01.030 (Gemeinschaftsraum) + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.1.030@5212 + - id: 5212.02.028 + type: room + name: 5212.02.028 (Gemeinschaftsraum) + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.2.028@5212 + - id: 5212.02.030 + type: room + name: 5212.02.030 (Gemeinschaftsraum) + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.2.030@5212 + - id: 5212.EG.006 + type: room + name: 5212.EG.006 (Seminar 1) + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.0.006@5212 + - id: 4124.U1.001A + type: room + name: 4124.U1.001A (Praktikum (Hinterer Raumteil)) + subtext: "weihenstephan, ZIEL II – Molekulare Biowissenschaften" + subtext_bold: P/1.01 H@4124 + - id: 5212.EG.007 + type: room + name: "5212.EG.007 (Wischtest, freig.)" + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.0.007@5212 + - id: 5212.EG.603 + type: room + name: 5212.EG.603 (Pers. Dekont./Dusche) + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.0.603@5212 + - id: 2910.03.301 + type: room + name: "2910.03.\u00193\u001701 (Büro)" + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.301@2910 + parsed_id: "\u0019H.3\u001701 RiWa 1 (HfP/GOV)" + - id: 2910.03.302 + type: room + name: "2910.03.\u00193\u001702 (Büro)" + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.302@2910 + parsed_id: "\u0019H.3\u001702 RiWa 1 (HfP/GOV)" + n_visible: 10 + estimatedTotalHits: 413 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 1 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-21.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-21.snap new file mode 100644 index 000000000..ce2508261 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-21.snap @@ -0,0 +1,26 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "The architects name is a N2119. There are other rooms which are actually named '2119', which means 4 is the best case." +expression: actual +info: "'2119' should get '0101.02.119' in 4 results # The architects name is a N2119. There are other rooms which are actually named '2119', which means 4 is the best case." +--- +- facet: rooms + entries: + - id: 5101.EG.119 + type: room + name: 5101.EG.119 (Physiklabor (einfach)) + subtext: "garching, Physik I" + subtext_bold: 2119@5101 + parsed_id: "PH \u00192119\u0017" + - id: 5413.01.119 + type: room + name: 5413.01.119 (Kopierer) + subtext: "garching, BNMRZ Bayerisches NMR-Zentrum" + subtext_bold: 2119@5413 + parsed_id: "\u00192119\u0017 BNMRZ B…MR-Zentrum" + n_visible: 2 + estimatedTotalHits: 2 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-22.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-22.snap new file mode 100644 index 000000000..f9a746bd9 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-22.snap @@ -0,0 +1,59 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "This should match this Lecture hall and not the HS 1, just because both are in the Bolzmanstr. *3* 4 is the best case." +expression: actual +info: "'MI HS3' should get '5606.EG.011' in 1 results # This should match this Lecture hall and not the HS 1, just because both are in the Bolzmanstr. *3* 4 is the best case." +--- +- facet: sites_buildings + entries: + - id: mi + type: joined_building + name: "Fakultät Mathematik & Informatik (FMI oder \u0019MI\u0017)" + subtext: Gebäudekomplex + - id: "5605" + type: building + name: Finger 05 (BT05) + subtext: Gebäudeteil + - id: "5606" + type: building + name: Finger 06 (BT06) + subtext: Gebäudeteil + - id: "5607" + type: building + name: Finger 07 (BT07) + subtext: Gebäudeteil + - id: "5609" + type: building + name: Finger 09 (BT09) + subtext: Gebäudeteil + n_visible: 5 + estimatedTotalHits: 14 +- facet: rooms + entries: + - id: 5606.EG.011 + type: room + name: "5606.EG.011 (\u0019MI\u0017 \u0019Hörsaal\u0017 \u00193\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.06.011@5606 + - id: 5602.EG.001 + type: room + name: "5602.EG.001 (\u0019MI\u0017 \u0019HS\u0017 1, Friedrich L. Bauer \u0019Hörsaal\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.02.001@5602 + - id: 5604.EG.011 + type: room + name: "5604.EG.011 (\u0019MI\u0017 \u0019Hörsaal\u0017 2)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.04.011@5604 + - id: 5602.EG.002 + type: room + name: "5602.EG.002 (\u0019MI\u0017 \u0019Hörsaal\u0017 Regieraum)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.02.002@5602 + - id: 5602.U1.001 + type: room + name: 5602.U1.001 (Technikraum) + subtext: "garching, Mathe/Info (MI)" + subtext_bold: "-1.02.001@5602" + n_visible: 5 + estimatedTotalHits: 1000 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-3.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-3.snap new file mode 100644 index 000000000..097e50ffd --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-3.snap @@ -0,0 +1,60 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'interims I' should get '5620' in 1 results" +--- +- facet: sites_buildings + entries: + - id: garching-interims + type: area + name: "\u0019Interimshörsäle\u0017" + subtext: Gebiet / Gruppe von Gebäuden + - id: "5620" + type: building + name: "\u0019Interimshörsäle\u0017 \u0019I\u0017" + subtext: Gebäude + - id: "5416" + type: building + name: "\u0019Interimshörsäle\u0017 \u0019I\u0017I, Jürgen Manchot-Hörsaalgebäude" + subtext: Gebäude + - id: "5539" + type: building + name: "\u0019Interims\u0017-Tentomax MW" + subtext: Gebäude + n_visible: 4 + estimatedTotalHits: 4 +- facet: rooms + entries: + - id: 5620.01.101 + type: room + name: "5620.01.101 (Hörsaal 1, \"\u0019Interims\u0017 \u0019I\u0017\")" + subtext: "garching, Interims I" + subtext_bold: 101@5620 + - id: 5620.01.102 + type: room + name: "5620.01.102 (Hörsaal 2, \"\u0019Interims\u0017 \u0019I\u0017\")" + subtext: "garching, Interims I" + subtext_bold: 102@5620 + - id: 5416.01.003 + type: room + name: "5416.01.003 (Hörsaal 2, \"\u0019Interims\u0017 \u0019I\u0017I\")" + subtext: "garching, Interims II" + subtext_bold: 003@5416 + - id: 5416.01.004 + type: room + name: "5416.01.004 (Hörsaal 1, Jürgen-Manchot-Hörsaal)" + subtext: "garching, Interims II" + subtext_bold: 004@5416 + - id: 5539.EG.001A + type: room + name: "5539.EG.001A (Hörsaal 1A, \"Zelt\")" + subtext: "garching, Interims III" + subtext_bold: 0.001A@5539 + - id: 5539.EG.001B + type: room + name: "5539.EG.001B (Hörsaal 1B, \"Zelt\")" + subtext: "garching, Interims III" + subtext_bold: 0.001B@5539 + n_visible: 6 + estimatedTotalHits: 47 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-4.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-4.snap new file mode 100644 index 000000000..d0064e941 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-4.snap @@ -0,0 +1,61 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "Note: It is not really in Arcisstr., just close" +expression: actual +info: "'Studitum Arcisstr' should get '0201' in 1 results # Note: It is not really in Arcisstr., just close" +--- +- facet: sites_buildings + entries: + - id: "5532" + type: building + name: "\u0019StudiTUM\u0017 Garching" + subtext: Gebäude + - id: "0201" + type: building + name: "\u0019StudiTUM\u0017 Innenstadt (S1)" + subtext: Gebäude + - id: "4113" + type: building + name: "\u0019StudiTUM\u0017 Weihenstephan" + subtext: Gebäude + n_visible: 3 + estimatedTotalHits: 3 +- facet: rooms + entries: + - id: 4113.01.105 + type: room + name: 4113.01.105 (Hörsaal 4 (WZWH04)) + subtext: "weihenstephan, StudiTUM" + subtext_bold: O1 5@4113 + - id: 0201.01.001 + type: room + name: 0201.01.001 (Stillarbeitsraum) + subtext: "stammgelände, StudiTUM" + subtext_bold: 1.01@0201 + - id: 0201.01.002 + type: room + name: 0201.01.002 (Einzelarbeitsraum) + subtext: "stammgelände, StudiTUM" + subtext_bold: 1.02@0201 + - id: 0201.01.003 + type: room + name: 0201.01.003 (Einzelarbeitsraum) + subtext: "stammgelände, StudiTUM" + subtext_bold: 1.03@0201 + - id: 0201.01.007 + type: room + name: 0201.01.007 (Gruppenarbeitsraum) + subtext: "stammgelände, StudiTUM" + subtext_bold: 1.07@0201 + - id: 0201.01.008 + type: room + name: 0201.01.008 (Einzelarbeitsraum) + subtext: "stammgelände, StudiTUM" + subtext_bold: 1.08@0201 + - id: 0201.02.001 + type: room + name: 0201.02.001 (Stillarbeitsraum) + subtext: "stammgelände, StudiTUM" + subtext_bold: 2.01@0201 + n_visible: 7 + estimatedTotalHits: 229 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-5.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-5.snap new file mode 100644 index 000000000..ea0e96029 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-5.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "uses 'str.' instead of 'straße'" +expression: actual +info: "'Karlsstr. 47' should get '2906' in 1 results # uses 'str.' instead of 'straße'" +--- +- facet: rooms + entries: + - id: 2906.01.025 + type: room + name: 2906.01.025 (Karlstraße-Seminarraum) + subtext: Karlstraße 45/47 + subtext_bold: 1025@2906 + - id: 2906.02.026 + type: room + name: 2906.02.026 (Karlstraße-Seminarraum) + subtext: Karlstraße 45/47 + subtext_bold: 2026@2906 + - id: 2906.03.001 + type: room + name: 2906.03.001 (Seminarraum) + subtext: Karlstraße 45/47 + subtext_bold: 3001@2906 + - id: 2906.05.001 + type: room + name: 2906.05.001 (Unterrichtsraum) + subtext: Karlstraße 45/47 + subtext_bold: 5001@2906 + - id: 2906.DG.009 + type: room + name: 2906.DG.009 (Seminarraum) + subtext: Karlstraße 45/47 + subtext_bold: 6009@2906 + - id: 2906.02.001 + type: room + name: 2906.02.001 (Bibliothek) + subtext: Karlstraße 45/47 + subtext_bold: 2001@2906 + - id: 2906.01.001 + type: room + name: 2906.01.001 (Büro/EDV-Raum) + subtext: Karlstraße 45/47 + subtext_bold: 1001@2906 + - id: 2906.01.002 + type: room + name: 2906.01.002 (Büro) + subtext: Karlstraße 45/47 + subtext_bold: 1002@2906 + - id: 2906.01.003 + type: room + name: 2906.01.003 (Büro) + subtext: Karlstraße 45/47 + subtext_bold: 1003@2906 + - id: 2906.01.004 + type: room + name: 2906.01.004 (Büro) + subtext: Karlstraße 45/47 + subtext_bold: 1004@2906 + n_visible: 10 + estimatedTotalHits: 204 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-6.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-6.snap new file mode 100644 index 000000000..9a5e83be2 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-6.snap @@ -0,0 +1,75 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'mi hs 1' should get '5602.EG.001' in 1 results" +--- +- facet: sites_buildings + entries: + - id: "5602" + type: building + name: "\u0019Hörsaal\u0017 \u00191\u0017 (BT02)" + subtext: Gebäudeteil + - id: mi + type: joined_building + name: "Fakultät Mathematik & Informatik (FMI oder \u0019MI\u0017)" + subtext: Gebäudekomplex + - id: "5605" + type: building + name: Finger 05 (BT05) + subtext: Gebäudeteil + - id: "5606" + type: building + name: Finger 06 (BT06) + subtext: Gebäudeteil + n_visible: 1 + estimatedTotalHits: 14 +- facet: rooms + entries: + - id: 5602.EG.001 + type: room + name: "5602.EG.001 (\u0019MI\u0017 \u0019HS\u0017 \u00191\u0017, Friedrich L. Bauer \u0019Hörsaal\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.02.001@5602 + - id: 5602.EG.002 + type: room + name: "5602.EG.002 (\u0019MI\u0017 \u0019Hörsaal\u0017 Regieraum)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.02.002@5602 + - id: 5602.U1.001 + type: room + name: 5602.U1.001 (Technikraum) + subtext: "garching, Mathe/Info (MI)" + subtext_bold: "-1.02.001@5602" + - id: 5602.U1.004 + type: room + name: 5602.U1.004 (Treppe im Freien) + subtext: "garching, Mathe/Info (MI)" + subtext_bold: "-1.02.004@5602" + - id: 5604.EG.011 + type: room + name: "5604.EG.011 (\u0019MI\u0017 \u0019Hörsaal\u0017 2)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.04.011@5604 + - id: 5606.EG.011 + type: room + name: "5606.EG.011 (\u0019MI\u0017 \u0019Hörsaal\u0017 3)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.06.011@5606 + - id: 5601.EG.001 + type: room + name: 5601.EG.001 (Magistrale) + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.01.001@5601 + - id: 5603.01.011 + type: room + name: 5603.01.011 (Gruppenarbeitsraum) + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 01.03.011@5603 + - id: 5603.01.031B + type: room + name: 5603.01.031B (Einzelarbeitsraum) + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 01.03.031B@5603 + n_visible: 9 + estimatedTotalHits: 1000 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-7.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-7.snap new file mode 100644 index 000000000..f7b3dd04f --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-7.snap @@ -0,0 +1,14 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "old name before the NS renamings was 'MW 0001, Gustav-Niemann-Hörsaal', changed in Q1 24" +expression: actual +info: "'niemann' should get '5510.EG.001' in 1 results # old name before the NS renamings was 'MW 0001, Gustav-Niemann-Hörsaal', changed in Q1 24" +--- +- facet: rooms + entries: [] + n_visible: 0 + estimatedTotalHits: 0 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-8.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-8.snap new file mode 100644 index 000000000..e9b7fbdb1 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-8.snap @@ -0,0 +1,59 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "old name before the NS renamings was 'MW 0001, Gustav-Niemann-Hörsaal', changed in Q1 24" +expression: actual +info: "'mw g niemann' should get '5510.EG.001' in 1 results # old name before the NS renamings was 'MW 0001, Gustav-Niemann-Hörsaal', changed in Q1 24" +--- +- facet: sites_buildings + entries: + - id: mw + type: joined_building + name: "Maschinenwesen (\u0019MW\u0017)" + subtext: Gebäudekomplex + - id: "5506" + type: building + name: "Gebäudeteil 6, Institut für Luft- und Raumfahrt" + subtext: Gebäudeteil + - id: "5501" + type: building + name: "Gebäudeteil 1, Institut für Mechatronik" + subtext: Gebäudeteil + - id: "5502" + type: building + name: "Gebäudeteil 2, Institut für Werkstoffe und Verarbeitung" + subtext: Gebäudeteil + - id: "5504" + type: building + name: "Gebäudeteil 4, Institut für Verfahrenstechnik" + subtext: Gebäudeteil + n_visible: 5 + estimatedTotalHits: 19 +- facet: rooms + entries: + - id: 5510.02.001 + type: room + name: "5510.02.001 (\u0019MW\u0017 2001 Rudolf-Diesel-Hörsaal)" + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 2001@5510 + - id: 5502.01.250 + type: room + name: 5502.01.250 (Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 1250@5502 + - id: 5502.EG.250 + type: room + name: 5502.EG.250 (Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0250@5502 + - id: 5503.EG.350 + type: room + name: 5503.EG.350 (Egbert-von-Hoyer-Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0350@5503 + - id: 5506.EG.608M + type: room + name: 5506.EG.608M (Otto-Lilienthal-Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0608M@5506 + n_visible: 5 + estimatedTotalHits: 1000 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-9.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-9.snap new file mode 100644 index 000000000..fbdf45264 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries-9.snap @@ -0,0 +1,14 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'CH22209' should get '5402.01.220J' in 1 results" +--- +- facet: rooms + entries: [] + n_visible: 0 + estimatedTotalHits: 0 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries.snap new file mode 100644 index 000000000..6d2efab6d --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__bad_queries.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: target is hallucinated as it currently does not exist +expression: actual +info: "'mathe bib' should get 'mi-bib' in 1 results # target is hallucinated as it currently does not exist" +--- +- facet: rooms + entries: + - id: 5603.01.011 + type: room + name: 5603.01.011 (Gruppenarbeitsraum) + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 01.03.011@5603 + - id: 5603.01.031B + type: room + name: 5603.01.031B (Einzelarbeitsraum) + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 01.03.031B@5603 + - id: 5603.01.032 + type: room + name: 5603.01.032 (Gruppenarbeitsraum) + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 01.03.032@5603 + - id: 5603.01.033A + type: room + name: 5603.01.033A (Einzelarbeitsraum) + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 01.03.033A@5603 + - id: 5603.01.033B + type: room + name: 5603.01.033B (Einzelarbeitsraum) + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 01.03.033B@5603 + - id: 5603.01.035A + type: room + name: 5603.01.035A (Einzelarbeitsraum) + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 01.03.035A@5603 + - id: 5603.01.035B + type: room + name: 5603.01.035B (Einzelarbeitsraum) + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 01.03.035B@5603 + - id: 5603.01.036 + type: room + name: 5603.01.036 (Gruppenarbeitsraum) + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 01.03.036@5603 + - id: 5603.01.037A + type: room + name: 5603.01.037A (Einzelarbeitsraum) + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 01.03.037A@5603 + - id: 5603.01.037B + type: room + name: 5603.01.037B (Einzelarbeitsraum) + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 01.03.037B@5603 + n_visible: 10 + estimatedTotalHits: 1000 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-10.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-10.snap new file mode 100644 index 000000000..881dee1de --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-10.snap @@ -0,0 +1,60 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'ZIEL' should get 'wzw-ziel' in 1 results" +--- +- facet: sites_buildings + entries: + - id: wzw-ziel + type: area + name: "\u0019ZIEL\u0017 – Institute for Food & Health" + subtext: Gebiet / Gruppe von Gebäuden + - id: "4224" + type: building + name: "\u0019ZIEL\u0017 IV - Biowissenschaften" + subtext: Gebäude + - id: "4124" + type: building + name: "\u0019ZIEL\u0017 II – Molekulare Biowissenschaften" + subtext: Gebäude + - id: "4126" + type: building + name: "\u0019ZIEL\u0017 I – Zentralinstitut für Ernährungs- und Lebensmittelforschung, Geschäftsstelle und Akademie" + subtext: Gebäude + n_visible: 4 + estimatedTotalHits: 3 +- facet: rooms + entries: + - id: 4124.U1.104 + type: room + name: 4124.U1.104 (Seminarraum 23 /Übungsraum (WZWS23)) + subtext: "weihenstephan, ZIEL II – Molekulare Biowissenschaften" + subtext_bold: U/1.04@4124 + - id: 4126.01.609B + type: room + name: 4126.01.609B (Seminarraum 14 (WZWS14)) + subtext: "weihenstephan, ZIEL I – Zentralinstitut für Ernährungs- und Lebensmittelforschung, Geschäftsstelle und Akademie" + subtext_bold: O.09 a/b@4126 + - id: 4126.U1.610B + type: room + name: 4126.U1.610B (Seminarraum (gem. Nutzung 1124302030;11243) + subtext: "weihenstephan, ZIEL I – Zentralinstitut für Ernährungs- und Lebensmittelforschung, Geschäftsstelle und Akademie" + subtext_bold: U 10/2@4126 + - id: 4224.01.148 + type: room + name: 4224.01.148 (Seminarraum 51 (WZWS51)) + subtext: "weihenstephan, ZIEL IV - Biowissenschaften" + subtext_bold: 1.48@4224 + - id: 4224.02.234 + type: room + name: 4224.02.234 (Seminarraum 52 (WZWS52) (gem. Nutzung)) + subtext: "weihenstephan, ZIEL IV - Biowissenschaften" + subtext_bold: 2.34@4224 + - id: 4224.02.298 + type: room + name: 4224.02.298 (Seminarraum 53 (WZWS53)) + subtext: "weihenstephan, ZIEL IV - Biowissenschaften" + subtext_bold: 2.98@4224 + n_visible: 6 + estimatedTotalHits: 708 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-11.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-11.snap new file mode 100644 index 000000000..21ef1cb03 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-11.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'5604.00.011' should get '5604.EG.011' in 1 results" +--- +- facet: rooms + entries: + - id: 5604.EG.011 + type: room + name: "\u00195604\u0017.EG.\u0019011\u0017 (MI Hörsaal 2)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.04.011@5604 + - id: 5604.EG.034 + type: room + name: "\u00195604\u0017.EG.034 (Demonstrationspraktikum)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.04.034@5604 + - id: 5604.EG.036 + type: room + name: "\u00195604\u0017.EG.036 (Praktikumsraum-Physik)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.04.036@5604 + - id: 5604.EG.038 + type: room + name: "\u00195604\u0017.EG.038 (Praktikumsraum-Physik)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.04.038@5604 + - id: 5604.EG.015 + type: room + name: "\u00195604\u0017.EG.015 (WC-Herren)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.04.015@5604 + - id: 5604.EG.016A + type: room + name: "\u00195604\u0017.EG.016A (Putzraum)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.04.016A@5604 + - id: 5604.EG.019 + type: room + name: "\u00195604\u0017.EG.019 (WC-Damen)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.04.019@5604 + - id: 5604.EG.013 + type: room + name: "\u00195604\u0017.EG.013 (Abstellraum)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.04.013@5604 + - id: 5604.EG.016B + type: room + name: "\u00195604\u0017.EG.016B (Heizung/Brauchwassererwärmung)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.04.016B@5604 + - id: 5604.EG.018 + type: room + name: "\u00195604\u0017.EG.018 (Heizung/Brauchwassererwärmung)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.04.018@5604 + n_visible: 10 + estimatedTotalHits: 150 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 1 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-12.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-12.snap new file mode 100644 index 000000000..04fcc9f9d --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-12.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: MI Magistrale +expression: actual +info: "'5601.EG.001' should get '5601.EG.001' in 1 results # MI Magistrale" +--- +- facet: rooms + entries: + - id: 5601.EG.001 + type: room + name: "\u00195601\u0017.\u0019EG\u0017.\u0019001\u0017 (Magistrale)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.01.001@5601 + - id: 5601.EG.010 + type: room + name: "\u00195601\u0017.\u0019EG\u0017.010 (Pforte)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.01.010@5601 + - id: 5601.EG.002 + type: room + name: "\u00195601\u0017.\u0019EG\u0017.002 (Gang, Weg im Freien)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.01.002@5601 + - id: 5601.EG.003 + type: room + name: "\u00195601\u0017.\u0019EG\u0017.003 (Windfang)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.01.003@5601 + - id: 5601.EG.004 + type: room + name: "\u00195601\u0017.\u0019EG\u0017.004 (Gang, Weg im Freien)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.01.004@5601 + - id: 5601.EG.005 + type: room + name: "\u00195601\u0017.\u0019EG\u0017.005 (Windfang)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.01.005@5601 + - id: 5601.EG.008 + type: room + name: "\u00195601\u0017.\u0019EG\u0017.008 (Gang, Weg im Freien)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.01.008@5601 + - id: 5601.EG.009 + type: room + name: "\u00195601\u0017.\u0019EG\u0017.009 (Windfang)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.01.009@5601 + - id: 5601.EG.011 + type: room + name: "\u00195601\u0017.\u0019EG\u0017.011 (Windfang)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.01.011@5601 + - id: 5601.EG.012 + type: room + name: "\u00195601\u0017.\u0019EG\u0017.012 (Gang, Weg im Freien)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.01.012@5601 + n_visible: 10 + estimatedTotalHits: 57 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 1 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-13.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-13.snap new file mode 100644 index 000000000..97d5c39e3 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-13.snap @@ -0,0 +1,65 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: A search for the Architects name should return the correct room +expression: actual +info: "'00.01.001' should get '5601.EG.001' in 1 results # A search for the Architects name should return the correct room" +--- +- facet: rooms + entries: + - id: 5601.EG.001 + type: room + name: "5601.EG.\u0019001\u0017 (Magistrale)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.01.001@5601 + parsed_id: "MI \u001900.01.001\u0017" + - id: 5510.EG.001 + type: room + name: "5510.EG.\u0019001\u0017 (Hörsaal)" + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0001@5510 + - id: 3902.EG.001 + type: room + name: "3902.EG.\u0019001\u0017 (Unterricht 2)" + subtext: "zhs-wassersportplatz-starnberg, Seglerheim" + subtext_bold: 0001@3902 + - id: 5414.EG.001 + type: room + name: "5414.EG.\u0019001\u0017 (ZEI-Seminarraum)" + subtext: "garching, Zentrum für Energie und Information (ZEI)" + subtext_bold: 0001@5414 + - id: 5433.EG.001 + type: room + name: "5433.EG.\u0019001\u0017 (Seminarraum 1)" + subtext: "garching, Entrepreneurship Research Institute" + subtext_bold: 0001@5433 + - id: 7910.EG.001 + type: room + name: "7910.EG.\u0019001\u0017 (Messkabine & Messtationen)" + subtext: Oskar-von-Miller-Turm (Meteo-Mast) + subtext_bold: 0001@7910 + - id: 0205.EG.001 + type: room + name: "0205.EG.\u0019001\u0017 (Büro)" + subtext: "stammgelände, Arcisstr. 19 (S5)" + subtext_bold: 0001@0205 + - id: 0401.EG.001 + type: room + name: "0401.EG.\u0019001\u0017 (WC-Damen)" + subtext: "stammgelände, Richard-Wagner-Str. 18 (SW1)" + subtext_bold: 0001@0401 + - id: 5116.EG.001 + type: room + name: "5116.EG.\u0019001\u0017 (Trafostation)" + subtext: "garching, Trafostation des ZNN" + subtext_bold: 0001@5116 + - id: 5125.EG.001 + type: room + name: "5125.EG.\u0019001\u0017 (BMZ)" + subtext: "garching, Laboratory for Extreme Photonics (LEX), LMU" + subtext_bold: 0001@5125 + n_visible: 10 + estimatedTotalHits: 1000 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-14.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-14.snap new file mode 100644 index 000000000..8e289b58e --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-14.snap @@ -0,0 +1,66 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'03.08.011' should get '5608.03.011' in 1 results" +--- +- facet: rooms + entries: + - id: 5608.03.011 + type: room + name: "5608.\u001903\u0017.\u0019011\u0017 (Seminarraum (M1/M7))" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 03.08.011@5608 + parsed_id: "MI \u001903.08.011\u0017" + - id: 5608.03.011A + type: room + name: "5608.\u001903\u0017.\u0019011\u0017A (Balkon)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 03.08.011A@5608 + parsed_id: "MI \u001903.08.011\u0017A" + - id: 8102.03.108 + type: room + name: "8102.\u001903\u0017.108 (Hörsaal)" + subtext: "garching-hochbrück, Business Campus 2" + subtext_bold: BC2 3.1.08@8102 + - id: 5608.03.033A + type: room + name: "5608.\u001903\u0017.033A (Kopierer)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 03.08.033A@5608 + - id: 2410.03.308 + type: room + name: "2410.\u001903\u0017.308 (WC-Damen)" + subtext: "Heßstraße 134, Munich School of Robotics and Machine Intelligence" + subtext_bold: 03.08@2410 + - id: 5608.03.015 + type: room + name: "5608.\u001903\u0017.015 (WC-Herren)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 03.08.015@5608 + - id: 5608.03.016 + type: room + name: "5608.\u001903\u0017.016 (Beh.-WC / Wickeltisch)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 03.08.016@5608 + - id: 5608.03.017A + type: room + name: "5608.\u001903\u0017.017A (Putzraum)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 03.08.017A@5608 + - id: 5608.03.021 + type: room + name: "5608.\u001903\u0017.021 (Büro)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 03.08.021@5608 + - id: 5608.03.022 + type: room + name: "5608.\u001903\u0017.022 (Besprechungsraum)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 03.08.022@5608 + n_visible: 10 + estimatedTotalHits: 1000 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-15.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-15.snap new file mode 100644 index 000000000..08ed7a702 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-15.snap @@ -0,0 +1,59 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'MW 1801' should get '5508.02.801' in 1 results" +--- +- facet: rooms + entries: + - id: 5508.02.801 + type: room + name: 5508.02.801 (Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 1801@5508 + - id: 5508.01.801A + type: room + name: 5508.01.801A (Vorbereitung) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 1801a@5508 + - id: 5510.02.001 + type: room + name: "5510.02.001 (\u0019MW\u0017 2001 Rudolf-Diesel-Hörsaal)" + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 2001@5510 + - id: 5502.01.250 + type: room + name: 5502.01.250 (Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 1250@5502 + - id: 5502.EG.250 + type: room + name: 5502.EG.250 (Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0250@5502 + n_visible: 5 + estimatedTotalHits: 1000 +- facet: sites_buildings + entries: + - id: mw + type: joined_building + name: "Maschinenwesen (\u0019MW\u0017)" + subtext: Gebäudekomplex + - id: "5506" + type: building + name: "Gebäudeteil 6, Institut für Luft- und Raumfahrt" + subtext: Gebäudeteil + - id: "5501" + type: building + name: "Gebäudeteil 1, Institut für Mechatronik" + subtext: Gebäudeteil + - id: "5502" + type: building + name: "Gebäudeteil 2, Institut für Werkstoffe und Verarbeitung" + subtext: Gebäudeteil + - id: "5504" + type: building + name: "Gebäudeteil 4, Institut für Verfahrenstechnik" + subtext: Gebäudeteil + n_visible: 0 + estimatedTotalHits: 19 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-16.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-16.snap new file mode 100644 index 000000000..21c73606f --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-16.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: splitting necessary +expression: actual +info: "'MW1801' should get '5508.02.801' in 1 results # splitting necessary" +--- +- facet: rooms + entries: + - id: 5508.02.801 + type: room + name: 5508.02.801 (Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 1801@5508 + - id: 5510.02.001 + type: room + name: "5510.02.001 (\u0019MW\u0017 2001 Rudolf-Diesel-Hörsaal)" + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 2001@5510 + - id: 5502.01.250 + type: room + name: 5502.01.250 (Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 1250@5502 + - id: 5502.EG.250 + type: room + name: 5502.EG.250 (Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0250@5502 + - id: 5503.EG.350 + type: room + name: 5503.EG.350 (Egbert-von-Hoyer-Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0350@5503 + - id: 5506.EG.608M + type: room + name: 5506.EG.608M (Otto-Lilienthal-Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0608M@5506 + - id: 5510.EG.001 + type: room + name: 5510.EG.001 (Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0001@5510 + - id: 5539.EG.001A + type: room + name: "5539.EG.001A (Hörsaal 1A, \"Zelt\")" + subtext: "garching, Interims III" + subtext_bold: 0.001A@5539 + - id: 5539.EG.001B + type: room + name: "5539.EG.001B (Hörsaal 1B, \"Zelt\")" + subtext: "garching, Interims III" + subtext_bold: 0.001B@5539 + - id: 5539.EG.002 + type: room + name: "5539.EG.002 (Hörsaal 2, \"Zelt\")" + subtext: "garching, Interims III" + subtext_bold: 0.002@5539 + n_visible: 10 + estimatedTotalHits: 1000 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-17.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-17.snap new file mode 100644 index 000000000..a3ee0c503 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-17.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: splitting necessary +expression: actual +info: "'MW0001' should get '5510.EG.001' in 1 results # splitting necessary" +--- +- facet: rooms + entries: + - id: 5510.EG.001 + type: room + name: 5510.EG.001 (Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0001@5510 + - id: 5519.EG.001 + type: room + name: 5519.EG.001 (Versuchsfläche I) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0001@5519 + - id: 5510.02.001 + type: room + name: "5510.02.001 (\u0019MW\u0017 2001 Rudolf-Diesel-Hörsaal)" + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 2001@5510 + - id: 5502.01.250 + type: room + name: 5502.01.250 (Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 1250@5502 + - id: 5502.EG.250 + type: room + name: 5502.EG.250 (Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0250@5502 + - id: 5503.EG.350 + type: room + name: 5503.EG.350 (Egbert-von-Hoyer-Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0350@5503 + - id: 5506.EG.608M + type: room + name: 5506.EG.608M (Otto-Lilienthal-Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0608M@5506 + - id: 5508.02.801 + type: room + name: 5508.02.801 (Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 1801@5508 + - id: 5539.EG.001A + type: room + name: "5539.EG.001A (Hörsaal 1A, \"Zelt\")" + subtext: "garching, Interims III" + subtext_bold: 0.001A@5539 + - id: 5539.EG.001B + type: room + name: "5539.EG.001B (Hörsaal 1B, \"Zelt\")" + subtext: "garching, Interims III" + subtext_bold: 0.001B@5539 + n_visible: 10 + estimatedTotalHits: 1000 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-18.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-18.snap new file mode 100644 index 000000000..b63e6f083 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-18.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: splitting necessary +expression: actual +info: "'MW2001' should get '5510.02.001' in 1 results # splitting necessary" +--- +- facet: rooms + entries: + - id: 5510.02.001 + type: room + name: "5510.02.001 (\u0019MW\u0017 \u00192001\u0017 Rudolf-Diesel-Hörsaal)" + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 2001@5510 + - id: 5502.01.250 + type: room + name: 5502.01.250 (Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 1250@5502 + - id: 5502.EG.250 + type: room + name: 5502.EG.250 (Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0250@5502 + - id: 5503.EG.350 + type: room + name: 5503.EG.350 (Egbert-von-Hoyer-Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0350@5503 + - id: 5506.EG.608M + type: room + name: 5506.EG.608M (Otto-Lilienthal-Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0608M@5506 + - id: 5508.02.801 + type: room + name: 5508.02.801 (Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 1801@5508 + - id: 5510.EG.001 + type: room + name: 5510.EG.001 (Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0001@5510 + - id: 5539.EG.001A + type: room + name: "5539.EG.001A (Hörsaal 1A, \"Zelt\")" + subtext: "garching, Interims III" + subtext_bold: 0.001A@5539 + - id: 5539.EG.001B + type: room + name: "5539.EG.001B (Hörsaal 1B, \"Zelt\")" + subtext: "garching, Interims III" + subtext_bold: 0.001B@5539 + - id: 5539.EG.002 + type: room + name: "5539.EG.002 (Hörsaal 2, \"Zelt\")" + subtext: "garching, Interims III" + subtext_bold: 0.002@5539 + n_visible: 10 + estimatedTotalHits: 1000 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-19.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-19.snap new file mode 100644 index 000000000..9cdc91984 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-19.snap @@ -0,0 +1,66 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'1801 maschinen' should get '5508.02.801' in 1 results" +--- +- facet: rooms + entries: + - id: 5508.02.801 + type: room + name: 5508.02.801 (Hörsaal) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 1801@5508 + parsed_id: "MW \u00191801\u0017" + - id: 0508.01.801 + type: room + name: 0508.01.801 (Wasch.-/Putzraum) + subtext: "stammgelände, Heizkraftwerk (Z8)" + subtext_bold: 1801@0508 + parsed_id: "\u00191801\u0017 Heizkraftwerk (Z8)" + - id: 0106.U1.801 + type: room + name: 0106.U1.801 (Archiv) + subtext: "stammgelände, Materialprüfamt (N6)" + subtext_bold: N-1801@0106 + - id: 2332.01.217 + type: room + name: "2332.01.217 ((32.\u00191\u0017.\u0019801\u0017) Büro)" + subtext: "campus-im-olympiapark-sz, CiO/SG Institute Ost" + subtext_bold: 01.2332.217@2332 + - id: 5115.01.801 + type: room + name: 5115.01.801 (Treppe Nord) + subtext: "garching, Zentrum für Nanotechnologie & -materialien (ZNN)" + subtext_bold: 1.801@5115 + - id: 5301.01.801 + type: room + name: 5301.01.801 (Treppenhaus) + subtext: "garching, Institute for Advanced Study (IAS)" + subtext_bold: 1.801@5301 + - id: 5212.01.801 + type: room + name: 5212.01.801 (Treppenhaus West) + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.1.801@5212 + - id: 5212.01.801L + type: room + name: 5212.01.801L (Aufzug) + subtext: "garching, RCM Radiochemie München" + subtext_bold: L.1.801@5212 + - id: 5212.U1.801 + type: room + name: 5212.U1.801 (Treppenhaus West) + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.-1.801@5212 + - id: 5212.U1.801L + type: room + name: 5212.U1.801L (Aufzug) + subtext: "garching, RCM Radiochemie München" + subtext_bold: L.-1.801@5212 + n_visible: 10 + estimatedTotalHits: 10 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-2.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-2.snap new file mode 100644 index 000000000..596439cbd --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-2.snap @@ -0,0 +1,59 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'wzw' should get 'wzw' in 1 results" +--- +- facet: sites_buildings + entries: + - id: wzw + type: campus + name: Campus Weihenstephan (Freising) + subtext: Campus + - id: wzw-extern + type: area + name: School of of Life Sciences Außenstellen + subtext: Gebiet / Gruppe von Gebäuden + - id: wzw-berg + type: area + name: Gebiet 4100 Berg + subtext: Gebiet / Gruppe von Gebäuden + - id: wzw-mitte + type: area + name: Gebiet 4200 Mitte + subtext: Gebiet / Gruppe von Gebäuden + - id: wzw-nord + type: area + name: Gebiet 4300 Nord / Hochfeld + subtext: Gebiet / Gruppe von Gebäuden + n_visible: 5 + estimatedTotalHits: 170 +- facet: rooms + entries: + - id: 4101.01.129 + type: room + name: "4101.01.129 (Hörsaal 6 (\u0019WZW\u0017H06))" + subtext: "weihenstephan, Verwaltung / BLQ Brau- und Lebensmittelqualität" + subtext_bold: 129@4101 + - id: 4102.EG.034 + type: room + name: "4102.EG.034 (Hörsaal 1 (\u0019WZW\u0017H01))" + subtext: "weihenstephan, Hörsaal- und Dekanatsgebäude" + subtext_bold: E-34@4102 + - id: 4102.EG.036 + type: room + name: "4102.EG.036 (Hörsaal 2 (\u0019WZW\u0017H02))" + subtext: "weihenstephan, Hörsaal- und Dekanatsgebäude" + subtext_bold: E-35@4102 + - id: 4108.EG.105 + type: room + name: "4108.EG.105 (Hörsaal 9 (\u0019WZW\u0017H09))" + subtext: "weihenstephan, BLQ Lebensmittelsicherheit" + subtext_bold: 105@4108 + - id: 4108.EG.106 + type: room + name: "4108.EG.106 (Hörsaal 8 (\u0019WZW\u0017H08))" + subtext: "weihenstephan, BLQ Lebensmittelsicherheit" + subtext_bold: 106@4108 + n_visible: 5 + estimatedTotalHits: 1000 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-20.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-20.snap new file mode 100644 index 000000000..60dea444c --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-20.snap @@ -0,0 +1,63 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'Raum 0337 mw' should get '5503.EG.337' in 1 results" +--- +- facet: rooms + entries: + - id: 5503.EG.337 + type: room + name: 5503.EG.337 (Seminarraum) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0337@5503 + - id: 0503.EG.337 + type: room + name: 0503.EG.337 (Büro) + subtext: "stammgelände, Thierschbau (Z3)" + subtext_bold: 0337@0503 + - id: 2334.EG.128 + type: room + name: "2334.EG.128 ((34.\u00190\u0017.\u0019337\u0017) Büro)" + subtext: "campus-im-olympiapark-sz, CiO/SG Institute West, Bibliothek" + subtext_bold: 00.2334.128@2334 + - id: 0509.EG.980 + type: room + name: "0509.EG.980 (Audimax, Werner-von-Siemens-Hörsaal)" + subtext: "stammgelände, Wienandsbau (Z9)" + subtext_bold: 0980@0509 + - id: 8120.EG.001 + type: room + name: 8120.EG.001 (Hörsaal im Galileo) + subtext: "garching, Galileo" + subtext_bold: Hörsaal@8120 + - id: 8120.01.101 + type: room + name: 8120.01.101 (Audimax im Galileo) + subtext: "garching, Galileo" + subtext_bold: Audimax@8120 + - id: 0101.02.179 + type: room + name: 0101.02.179 (Wilhelm-Nusselt-Hörsaal) + subtext: "stammgelände, U-Trakt (N1)" + subtext_bold: N1179@0101 + - id: 0101.02.189 + type: room + name: 0101.02.189 (Hans-Piloty-Hörsaal) + subtext: "stammgelände, U-Trakt (N1)" + subtext_bold: N1189@0101 + - id: 0101.02.190 + type: room + name: 0101.02.190 (Hans-Heinrich-Meinke-Hörsaal) + subtext: "stammgelände, U-Trakt (N1)" + subtext_bold: N1190@0101 + n_visible: 9 + estimatedTotalHits: 1000 +- facet: sites_buildings + entries: + - id: "0109" + type: building + name: "Reflexionsarmer \u0019Raum\u0017 (N9)" + subtext: Gebäude + n_visible: 0 + estimatedTotalHits: 1 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-21.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-21.snap new file mode 100644 index 000000000..425d45760 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-21.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'pyhsik hs 2' should get '5101.EG.502' in 1 results" +--- +- facet: rooms + entries: + - id: 5101.EG.502 + type: room + name: "5101.EG.502 (\u0019Physik\u0017 \u0019Hörsaal\u0017 \u00192\u0017)" + subtext: "garching, Physik I" + subtext_bold: 2502@5101 + - id: 5101.EG.503 + type: room + name: "5101.EG.503 (\u0019Physik\u0017 \u0019Hörsaal\u0017 3)" + subtext: "garching, Physik I" + subtext_bold: 2503@5101 + - id: 5101.EG.501 + type: room + name: "5101.EG.501 (Rudolf-Mößbauer-\u0019Hörsaal\u0017)" + subtext: "garching, Physik I" + subtext_bold: 2501@5101 + - id: 0102.U1.216D + type: room + name: "0102.U1.\u00192\u001716D (Versuchsraum \u0019HS\u0017/NS)" + subtext: "stammgelände, Hochvolthaus (N2)" + subtext_bold: N-1216D@0102 + - id: 0102.U1.216E + type: room + name: "0102.U1.\u00192\u001716E (Versuchsraum \u0019HS\u0017/NS)" + subtext: "stammgelände, Hochvolthaus (N2)" + subtext_bold: N-1216E@0102 + - id: 0102.U1.216F + type: room + name: "0102.U1.\u00192\u001716F (Versuchsraum \u0019HS\u0017/NS)" + subtext: "stammgelände, Hochvolthaus (N2)" + subtext_bold: N-1216F@0102 + - id: 0102.U1.216G + type: room + name: "0102.U1.\u00192\u001716G (Versuchsraum \u0019HS\u0017/NS)" + subtext: "stammgelände, Hochvolthaus (N2)" + subtext_bold: N-1216G@0102 + - id: 5101.EG.501A + type: room + name: "5101.EG.501A (Projektorraum \u0019HS\u0017 PH 1)" + subtext: "garching, Physik I" + subtext_bold: 2501A@5101 + - id: 0502.01.202 + type: room + name: "0502.01.\u00192\u001702 (Vorbereitung Carl von Linde-\u0019Hörsaal\u0017)" + subtext: "stammgelände, Zentralgebäude 2 (Z2)" + subtext_bold: 1202@0502 + - id: 5123.EG.019 + type: room + name: "5123.EG.019 (LMU \u0019Hörsaal\u0017 im \u0019Physik\u0017 Werkstattgebäude)" + subtext: "garching, LMU Physik Werkstattgebäude" + subtext_bold: 019@5123 + n_visible: 10 + estimatedTotalHits: 1000 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 28 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-22.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-22.snap new file mode 100644 index 000000000..1fae75a64 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-22.snap @@ -0,0 +1,19 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'mössbauer' should get '5101.EG.501' in 1 results" +--- +- facet: rooms + entries: + - id: 5101.EG.501 + type: room + name: "5101.EG.501 (Rudolf-\u0019Mößbauer\u0017-Hörsaal)" + subtext: "garching, Physik I" + subtext_bold: 2501@5101 + n_visible: 1 + estimatedTotalHits: 1 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-23.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-23.snap new file mode 100644 index 000000000..bb87e5c5e --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-23.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'342 Physik' should get '5101.EG.342' in 1 results" +--- +- facet: rooms + entries: + - id: 5101.EG.342 + type: room + name: "5101.EG.\u0019342\u0017 (\u0019Physik\u0017labor)" + subtext: "garching, Physik I" + subtext_bold: 2342@5101 + - id: 5101.01.342 + type: room + name: "5101.01.\u0019342\u0017 (Sitzungs-, Konferenzraum)" + subtext: "garching, Physik I" + subtext_bold: 3342@5101 + - id: 4213.01.342 + type: room + name: "4213.01.\u0019342\u0017 (Labor (gem. Nutzung 1124302010;1110064600))" + subtext: "weihenstephan, Lebensmitteltechnikum" + subtext_bold: O42@4213 + - id: 4213.EG.342 + type: room + name: "4213.EG.\u0019342\u0017 (Labor)" + subtext: "weihenstephan, Lebensmitteltechnikum" + subtext_bold: E42@4213 + - id: 4317.03.342 + type: room + name: "4317.03.\u0019342\u0017 (Labor)" + subtext: "weihenstephan, Tierwissenschaften" + subtext_bold: 3.42@4317 + - id: 2910.03.342 + type: room + name: "2910.03.\u0019342\u0017 (Teeküche)" + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.342@2910 + - id: 0503.01.342 + type: room + name: "0503.01.\u0019342\u0017 (Büro)" + subtext: "stammgelände, Thierschbau (Z3)" + subtext_bold: 1342@0503 + - id: 0503.03.342 + type: room + name: "0503.03.\u0019342\u0017 (Büro)" + subtext: "stammgelände, Thierschbau (Z3)" + subtext_bold: 3342@0503 + - id: 0503.EG.342 + type: room + name: "0503.EG.\u0019342\u0017 (Sekretariat 2)" + subtext: "stammgelände, Thierschbau (Z3)" + subtext_bold: 0342@0503 + - id: 2334.01.342 + type: room + name: "2334.01.\u0019342\u0017 ((34.1.406) WC-Herren)" + subtext: "campus-im-olympiapark-sz, CiO/SG Institute West, Bibliothek" + subtext_bold: 01.2334.342@2334 + n_visible: 10 + estimatedTotalHits: 21 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-24.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-24.snap new file mode 100644 index 000000000..83f24374a --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-24.snap @@ -0,0 +1,61 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "lecture hall, should be preferred over other rooms" +expression: actual +info: "'2503' should get '5101.EG.503' in 1 results # lecture hall, should be preferred over other rooms" +--- +- facet: rooms + entries: + - id: 5101.EG.503 + type: room + name: 5101.EG.503 (Physik Hörsaal 3) + subtext: "garching, Physik I" + subtext_bold: 2503@5101 + parsed_id: "PH \u00192503\u0017" + - id: 0505.02.503 + type: room + name: 0505.02.503 (Büro) + subtext: "stammgelände, Wirtschaftswissenschaften (Z5)" + subtext_bold: 2503@0505 + parsed_id: "\u00192503\u0017 Wirtsch…aften (Z5)" + - id: 5505.02.503A + type: room + name: 5505.02.503A (Büro) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 2503A@5505 + parsed_id: "MW \u00192503\u0017A" + - id: 5505.02.503M + type: room + name: 5505.02.503M (WC-Vorraum Herren) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 2503M@5505 + parsed_id: "MW \u00192503\u0017M" + - id: 5505.02.503N + type: room + name: 5505.02.503N (WC-Vorraum Damen) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 2503N@5505 + parsed_id: "MW \u00192503\u0017N" + - id: 5505.02.503P + type: room + name: 5505.02.503P (WC-Herren) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 2503P@5505 + parsed_id: "MW \u00192503\u0017P" + - id: 5505.02.503Q + type: room + name: 5505.02.503Q (WC-Damen) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 2503Q@5505 + parsed_id: "MW \u00192503\u0017Q" + - id: 5115.02.503 + type: room + name: 5115.02.503 (Elt.) + subtext: "garching, Zentrum für Nanotechnologie & -materialien (ZNN)" + subtext_bold: 2.503@5115 + n_visible: 8 + estimatedTotalHits: 8 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-25.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-25.snap new file mode 100644 index 000000000..b94371c12 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-25.snap @@ -0,0 +1,59 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "seminar room, should be preferred over other rooms" +expression: actual +info: "'1116' should get '5111.01.116' in 1 results # seminar room, should be preferred over other rooms" +--- +- facet: rooms + entries: + - id: 5111.01.116 + type: room + name: 5111.01.116 (Seminarraum) + subtext: "garching, Siedlungswasserwirtschaft" + subtext_bold: 1116@5111 + parsed_id: "\u00191116\u0017 Siedlungswasserwirtschaft" + - id: 0401.01.116 + type: room + name: 0401.01.116 (Büro) + subtext: "stammgelände, Richard-Wagner-Str. 18 (SW1)" + subtext_bold: 1116@0401 + parsed_id: "\u00191116\u0017 Richard…. 18 (SW1)" + - id: 5111.U1.116 + type: room + name: 5111.U1.116 (Glas u. brennbare Stoffe) + subtext: "garching, Siedlungswasserwirtschaft" + subtext_bold: "-1116@5111" + - id: 5401.EG.116A + type: room + name: 5401.EG.116A (Heizraum) + subtext: "garching, Chemie" + subtext_bold: 11160@5401 + parsed_id: "CH \u00191116\u00170" + - id: 5401.EG.116B + type: room + name: 5401.EG.116B (Flur) + subtext: "garching, Chemie" + subtext_bold: 11165@5401 + parsed_id: "CH \u00191116\u00175" + - id: 5401.EG.116C + type: room + name: 5401.EG.116C (Flur) + subtext: "garching, Chemie" + subtext_bold: 11166@5401 + parsed_id: "CH \u00191116\u00176" + - id: 2332.EG.224 + type: room + name: "2332.EG.224 ((32.\u00191\u0017.\u0019116\u0017) Sekretariat)" + subtext: "campus-im-olympiapark-sz, CiO/SG Institute Ost" + subtext_bold: 00.2332.224@2332 + - id: 5701.01.016 + type: room + name: 5701.01.016 (Oberassistent) + subtext: "garching, MIBE" + subtext_bold: 1.116@5701 + n_visible: 8 + estimatedTotalHits: 8 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-26.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-26.snap new file mode 100644 index 000000000..a3950e445 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-26.snap @@ -0,0 +1,60 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'C.3202' should get '5140.01.202' in 1 results" +--- +- facet: rooms + entries: + - id: 5140.01.202 + type: room + name: 5140.01.202 (Tutorraum) + subtext: "garching, Physik I Container" + subtext_bold: C.3202@5140 + parsed_id: "\u0019C.3202\u0017 Physik I Container" + - id: 1551.01.051 + type: room + name: "1551.01.051 (Hörsaal \u0019C\u0017)" + subtext: "mri, A1-Hörsäle, Mensa (Bau 551)" + subtext_bold: 51.1.51@1551 + - id: 1551.EG.051 + type: room + name: "1551.EG.051 (Hörsaal \u0019C\u0017)" + subtext: "mri, A1-Hörsäle, Mensa (Bau 551)" + subtext_bold: 51.0.51@1551 + - id: 1910.EG.050C + type: room + name: 1910.EG.050C (Hörsaal) + subtext: "campus-heilbronn, Bildungscampus C, Weipertstr. 8-10" + subtext_bold: C.0.50@1910 + - id: 5140.01.201 + type: room + name: 5140.01.201 (Tutorraum) + subtext: "garching, Physik I Container" + subtext_bold: C.3201@5140 + n_visible: 5 + estimatedTotalHits: 297 +- facet: sites_buildings + entries: + - id: "2940" + type: building + name: "Campus \u0019C\u0017, Georg-Brauchle-Ring 56/58" + subtext: Gebäudeteil + - id: "2911" + type: building + name: "Richard-Wagner-Str. 3 / Haus \u0019C\u0017, TUM Sprachenzentrum" + subtext: Gebäude + - id: "1910" + type: building + name: "Bildungscampus \u0019C\u0017, Weipertstr. 8-10" + subtext: Gebäude + - id: 1555c + type: building + name: "Bau 555 Gebäudeteil \u0019C\u0017" + subtext: Gebäudeteil + - id: "9376" + type: building + name: "Airbus Standort 76.\u0019C\u0017" + subtext: Gebäude + n_visible: 0 + estimatedTotalHits: 5 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-27.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-27.snap new file mode 100644 index 000000000..ac1e40cbb --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-27.snap @@ -0,0 +1,70 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: Not sure about target here +expression: actual +info: "'1010 znn' should get '5115.01.010' in 1 results # Not sure about target here" +--- +- facet: rooms + entries: + - id: 5115.01.010 + type: room + name: 5115.01.010 (Elt. Transport) + subtext: "garching, Zentrum für Nanotechnologie & -materialien (ZNN)" + subtext_bold: 1.010@5115 + - id: 5510.01.010 + type: room + name: 5510.01.010 (Seminarraum) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 1010@5510 + parsed_id: "MW \u00191010\u0017" + - id: 0510.01.010 + type: room + name: 0510.01.010 (Küche) + subtext: "stammgelände, Verwaltungsbau (Z10)" + subtext_bold: 1010@0510 + parsed_id: "\u00191010\u0017 Verwaltungsbau (Z10)" + - id: 2906.01.010 + type: room + name: 2906.01.010 (Büro) + subtext: Karlstraße 45/47 + subtext_bold: 1010@2906 + parsed_id: "\u00191010\u0017 Karlstraße 45/47" + - id: 5433.01.010 + type: room + name: 5433.01.010 (Büro) + subtext: "garching, Entrepreneurship Research Institute" + subtext_bold: 1010@5433 + parsed_id: "\u00191010\u0017 Entrepr… Institute" + - id: 0202.U1.010 + type: room + name: 0202.U1.010 (Lager) + subtext: "stammgelände, Gabelsbergerstr. 39 (S2)" + subtext_bold: "-1010@0202" + - id: 0401.U1.010 + type: room + name: 0401.U1.010 (Archiv) + subtext: "stammgelände, Richard-Wagner-Str. 18 (SW1)" + subtext_bold: "-1010@0401" + - id: 2906.U1.010 + type: room + name: 2906.U1.010 (Trafostation) + subtext: Karlstraße 45/47 + subtext_bold: "-1010@2906" + - id: 5413.EG.010 + type: room + name: 5413.EG.010 (Hausanschluss) + subtext: "garching, BNMRZ Bayerisches NMR-Zentrum" + subtext_bold: 1010@5413 + parsed_id: "\u00191010\u0017 BNMRZ B…MR-Zentrum" + - id: 5414.01.010 + type: room + name: 5414.01.010 (Lager) + subtext: "garching, Zentrum für Energie und Information (ZEI)" + subtext_bold: 1010@5414 + parsed_id: "\u00191010\u0017 Zentrum…tion (ZEI)" + n_visible: 10 + estimatedTotalHits: 15 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-28.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-28.snap new file mode 100644 index 000000000..5366e8d33 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-28.snap @@ -0,0 +1,30 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'0092@5433' should get '5433.EG.092' in 1 results" +--- +- facet: rooms + entries: + - id: 5433.EG.092 + type: room + name: "\u00195433\u0017.EG.092 (Flur/Eingang)" + subtext: "garching, Entrepreneurship Research Institute" + subtext_bold: 0092@5433 + parsed_id: "\u00190092@5433\u0017" + - id: 5622.EG.092 + type: room + name: 5622.EG.092 (Sportflächen Garching) + subtext: "garching, Sportanlage Garching / Dusch Container" + subtext_bold: 0092@5622 + - id: 5532.EG.092 + type: room + name: 5532.EG.092 (ELT.-Schacht) + subtext: "garching, StudiTUM" + subtext_bold: 0.092@5532 + n_visible: 3 + estimatedTotalHits: 3 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-29.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-29.snap new file mode 100644 index 000000000..6ff551524 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-29.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'0026m@5510' should get '5510.EG.026M' in 1 results" +--- +- facet: rooms + entries: + - id: 5510.EG.026M + type: room + name: "\u00195510\u0017.EG.\u0019026M\u0017 (School Office Finanzen)" + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: MW 0026M@5510 + - id: 5510.EG.006M + type: room + name: "\u00195510\u0017.EG.\u0019006M\u0017 (WC-Herren)" + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0006M@5510 + - id: 5510.EG.026A + type: room + name: "\u00195510\u0017.EG.026A (Leitung Study & Teaching, Studienfachberatung)" + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0026A@5510 + - id: 5510.EG.026C + type: room + name: "\u00195510\u0017.EG.026C (IKOM-Besprechungsraum)" + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0026C@5510 + - id: 5510.EG.026B + type: room + name: "\u00195510\u0017.EG.026B (Studienbüro)" + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0026B@5510 + - id: 5510.EG.026N + type: room + name: "\u00195510\u0017.EG.026N (Study and Teaching Qualitätsmanagement)" + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: MW 0026N@5510 + - id: 5510.EG.029M + type: room + name: "\u00195510\u0017.EG.029M (Werkstatt)" + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0029M@5510 + - id: 5510.EG.028M + type: room + name: "\u00195510\u0017.EG.028M (Flur)" + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0028M@5510 + - id: 5531.EG.026 + type: room + name: 5531.EG.026 (Beh.-WC / Personal) + subtext: "garching, Ingeborg Ortner-Kinderhaus" + subtext_bold: 0026@5531 + - id: 5501.EG.126M + type: room + name: 5501.EG.126M (Elektroverteiler) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 0126M@5501 + n_visible: 10 + estimatedTotalHits: 15 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-3.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-3.snap new file mode 100644 index 000000000..e6449c080 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-3.snap @@ -0,0 +1,63 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'5301' should get '5301' in 1 results" +--- +- facet: sites_buildings + entries: + - id: "5301" + type: building + name: Institute for Advanced Study (IAS) + subtext: Gebäude + n_visible: 1 + estimatedTotalHits: 1 +- facet: rooms + entries: + - id: 5301.EG.001 + type: room + name: "\u00195301\u0017.EG.001 (Auditorium)" + subtext: "garching, Institute for Advanced Study (IAS)" + subtext_bold: 0.001@5301 + - id: 5301.02.022 + type: room + name: "\u00195301\u0017.02.022 (Zeitschriften/Lesesaal)" + subtext: "garching, Institute for Advanced Study (IAS)" + subtext_bold: 2.022@5301 + - id: 5301.01.033 + type: room + name: "\u00195301\u0017.01.033 (Drucker)" + subtext: "garching, Institute for Advanced Study (IAS)" + subtext_bold: 1.033@5301 + - id: 5301.02.033 + type: room + name: "\u00195301\u0017.02.033 (Drucker)" + subtext: "garching, Institute for Advanced Study (IAS)" + subtext_bold: 2.033@5301 + - id: 5301.03.033 + type: room + name: "\u00195301\u0017.03.033 (Drucker)" + subtext: "garching, Institute for Advanced Study (IAS)" + subtext_bold: 3.033@5301 + - id: 5301.01.001 + type: room + name: "\u00195301\u0017.01.001 (Großraumbüro)" + subtext: "garching, Institute for Advanced Study (IAS)" + subtext_bold: 1.001@5301 + - id: 5301.01.004 + type: room + name: "\u00195301\u0017.01.004 (Büro)" + subtext: "garching, Institute for Advanced Study (IAS)" + subtext_bold: 1.004@5301 + - id: 5301.01.005 + type: room + name: "\u00195301\u0017.01.005 (Büro)" + subtext: "garching, Institute for Advanced Study (IAS)" + subtext_bold: 1.005@5301 + - id: 5301.01.006 + type: room + name: "\u00195301\u0017.01.006 (Büro)" + subtext: "garching, Institute for Advanced Study (IAS)" + subtext_bold: 1.006@5301 + n_visible: 9 + estimatedTotalHits: 147 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-30.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-30.snap new file mode 100644 index 000000000..4f368042d --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-30.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'019 lmu' should get '5123.EG.019' in 1 results" +--- +- facet: rooms + entries: + - id: 5123.EG.019 + type: room + name: "5123.EG.\u0019019\u0017 (\u0019LMU\u0017 Hörsaal im Physik Werkstattgebäude)" + subtext: "garching, LMU Physik Werkstattgebäude" + subtext_bold: 019@5123 + - id: 5109.EG.019 + type: room + name: "5109.EG.\u0019019\u0017 (Kernphysiklabor)" + subtext: "garching, LMU Physik, Munich Center for Advanced Photonics (MAP)" + subtext_bold: 019@5109 + - id: 5120.EG.019 + type: room + name: "5120.EG.\u0019019\u0017 (Elektrolabor)" + subtext: "garching, Beschleuniger" + subtext_bold: 019@5120 + - id: 5109.01.019 + type: room + name: "5109.01.\u0019019\u0017 (Büro)" + subtext: "garching, LMU Physik, Munich Center for Advanced Photonics (MAP)" + subtext_bold: 019@5109 + - id: 5109.03.019 + type: room + name: "5109.03.\u0019019\u0017 (Büro)" + subtext: "garching, LMU Physik, Munich Center for Advanced Photonics (MAP)" + subtext_bold: 019@5109 + - id: 5123.U1.019 + type: room + name: "5123.U1.\u0019019\u0017 (Abwasseraufbereitung/-beseitigung)" + subtext: "garching, LMU Physik Werkstattgebäude" + subtext_bold: 019@5123 + - id: 8111.EG.019 + type: room + name: "8111.EG.\u0019019\u0017 (Praktikumsraum)" + subtext: "garching-hochbrück, Schleißheimerstr. 90a" + subtext_bold: 0.019@8111 + - id: 1548.01.019 + type: room + name: "1548.01.\u0019019\u0017 (Seminarraum)" + subtext: "mri, Schneckenburgerstr. 8, GSF-Container (\"Schneckenbunker\"), Virologie (Bau 548)" + subtext_bold: 48.1.19@1548 + - id: 1713.U2.019 + type: room + name: "1713.U2.\u0019019\u0017 (Intensiv)" + subtext: "mri, Nigerstr. 3, Bau 713, TUM MeDiCAL, Studiendekanat im Lern- und Trainingszentrum (LUTZ)" + subtext_bold: 713.02.19@1713 + - id: 4220.01.019 + type: room + name: "4220.01.\u0019019\u0017 (Gruppenarbeitsraum)" + subtext: "weihenstephan, Teilbibliothek Weihenstephan, Pressestelle Datenverarbeitung" + subtext_bold: OG R 19@4220 + n_visible: 10 + estimatedTotalHits: 199 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-31.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-31.snap new file mode 100644 index 000000000..269ec5a41 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-31.snap @@ -0,0 +1,63 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'audimax' should get '0509.EG.980' in 1 results" +--- +- facet: rooms + entries: + - id: 0509.EG.980 + type: room + name: "0509.EG.980 (\u0019Audimax\u0017, Werner-von-Siemens-Hörsaal)" + subtext: "stammgelände, Wienandsbau (Z9)" + subtext_bold: 0980@0509 + - id: 8120.01.101 + type: room + name: "8120.01.101 (\u0019Audimax\u0017 im Galileo)" + subtext: "garching, Galileo" + subtext_bold: Audimax@8120 + - id: 0509.02.986 + type: room + name: "0509.02.986 (\u0019Audimax\u0017 Galerie)" + subtext: "stammgelände, Wienandsbau (Z9)" + subtext_bold: 1986@0509 + - id: 0509.01.921 + type: room + name: 0509.01.921 (Studentenarb. m. DV (HKW)) + subtext: "stammgelände, Wienandsbau (Z9)" + subtext_bold: Z921@0509 + - id: 0509.01.922 + type: room + name: 0509.01.922 (Studentenarb. m. DV (HKW)) + subtext: "stammgelände, Wienandsbau (Z9)" + subtext_bold: Z922@0509 + - id: 0509.01.923 + type: room + name: 0509.01.923 (Studentenarb. m. DV (HKW)) + subtext: "stammgelände, Wienandsbau (Z9)" + subtext_bold: Z923@0509 + - id: 0509.01.995 + type: room + name: 0509.01.995 (Seminarraum m. Vorbereitung) + subtext: "stammgelände, Wienandsbau (Z9)" + subtext_bold: Z995@0509 + - id: 0509.02.903 + type: room + name: 0509.02.903 (Übung-DV) + subtext: "stammgelände, Wienandsbau (Z9)" + subtext_bold: 1903@0509 + - id: 0509.02.919 + type: room + name: 0509.02.919 (Studentenarb. m. DV) + subtext: "stammgelände, Wienandsbau (Z9)" + subtext_bold: 1919@0509 + n_visible: 9 + estimatedTotalHits: 492 +- facet: sites_buildings + entries: + - id: "0509" + type: building + name: "Wienandsbau, E-Technik / \u0019Audimax\u0017 (Z9)" + subtext: Gebäude + n_visible: 0 + estimatedTotalHits: 2 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-32.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-32.snap new file mode 100644 index 000000000..ae2f345a8 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-32.snap @@ -0,0 +1,47 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'1229 seminarraum' should get '0502.01.229' in 1 results" +--- +- facet: rooms + entries: + - id: 0502.01.229 + type: room + name: "0502.01.229 (\u0019Seminarraum\u0017)" + subtext: "stammgelände, Zentralgebäude 2 (Z2)" + subtext_bold: 1229@0502 + parsed_id: "\u00191229\u0017 Zentralgebäude 2 (Z2)" + - id: 5101.U1.229 + type: room + name: 5101.U1.229 (Büro) + subtext: "garching, Physik I" + subtext_bold: 1229@5101 + parsed_id: "PH \u00191229\u0017" + - id: 5502.01.229 + type: room + name: 5502.01.229 (Büro) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 1229@5502 + parsed_id: "MW \u00191229\u0017" + - id: 0502.U1.229 + type: room + name: 0502.U1.229 (Werkstatt) + subtext: "stammgelände, Zentralgebäude 2 (Z2)" + subtext_bold: "-1229@0502" + - id: 0102.U1.229 + type: room + name: 0102.U1.229 (Stromversorgung) + subtext: "stammgelände, Hochvolthaus (N2)" + subtext_bold: N-1229@0102 + - id: 2334.01.224 + type: room + name: "2334.01.224 ((34.\u00191\u0017.\u0019229\u0017) Büro)" + subtext: "campus-im-olympiapark-sz, CiO/SG Institute West, Bibliothek" + subtext_bold: 01.2334.224@2334 + n_visible: 6 + estimatedTotalHits: 6 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-33.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-33.snap new file mode 100644 index 000000000..cbf0f850c --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-33.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "H.003 is the correct room, but people have problems remembering how many zeroes are in the room number" +expression: actual +info: "'H.003' should get '2910.EG.003' in 1 results # H.003 is the correct room, but people have problems remembering how many zeroes are in the room number" +--- +- facet: rooms + entries: + - id: 2910.EG.003 + type: room + name: "2910.EG.\u0019003\u0017 (Seminarraum)" + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.003@2910 + parsed_id: "\u0019H.003\u0017 RiWa 1 (HfP/GOV)" + - id: 5212.EG.003 + type: room + name: "5212.EG.\u0019003\u0017 (Post/Annahme)" + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.0.003@5212 + - id: 5212.U1.003 + type: room + name: "5212.U1.\u0019003\u0017 (Kälte)" + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.-1.003@5212 + - id: 2910.01.101 + type: room + name: 2910.01.101 (Gruppenarbeitsraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.101@2910 + - id: 2910.01.102 + type: room + name: 2910.01.102 (Gruppenarbeitsraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.102@2910 + - id: 2910.02.202 + type: room + name: 2910.02.202 (Seminarraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.202@2910 + - id: 2910.02.204 + type: room + name: 2910.02.204 (Seminarraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.204@2910 + - id: 2910.02.206 + type: room + name: 2910.02.206 (Seminarraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.206@2910 + - id: 2910.EG.001 + type: room + name: 2910.EG.001 (Seminarraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.001@2910 + n_visible: 9 + estimatedTotalHits: 412 +- facet: sites_buildings + entries: + - id: "2910" + type: building + name: "Richard-Wagner-Str. 1 / Haus B + Haus \u0019H\u0017, Hochschule für Politik (HfP)/ Department of Governance (GOV)" + subtext: Gebäude + n_visible: 0 + estimatedTotalHits: 1 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-34.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-34.snap new file mode 100644 index 000000000..1a7eb369a --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-34.snap @@ -0,0 +1,60 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'MI HS 3' should get '5606.EG.011' in 1 results" +--- +- facet: rooms + entries: + - id: 5606.EG.011 + type: room + name: "5606.EG.011 (\u0019MI\u0017 \u0019Hörsaal\u0017 \u00193\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.06.011@5606 + - id: 5602.EG.001 + type: room + name: "5602.EG.001 (\u0019MI\u0017 \u0019HS\u0017 1, Friedrich L. Bauer \u0019Hörsaal\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.02.001@5602 + - id: 5604.EG.011 + type: room + name: "5604.EG.011 (\u0019MI\u0017 \u0019Hörsaal\u0017 2)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.04.011@5604 + - id: 5602.EG.002 + type: room + name: "5602.EG.002 (\u0019MI\u0017 \u0019Hörsaal\u0017 Regieraum)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.02.002@5602 + - id: 5602.U1.001 + type: room + name: 5602.U1.001 (Technikraum) + subtext: "garching, Mathe/Info (MI)" + subtext_bold: "-1.02.001@5602" + - id: 5602.U1.004 + type: room + name: 5602.U1.004 (Treppe im Freien) + subtext: "garching, Mathe/Info (MI)" + subtext_bold: "-1.02.004@5602" + n_visible: 6 + estimatedTotalHits: 1000 +- facet: sites_buildings + entries: + - id: "5602" + type: building + name: "\u0019Hörsaal\u0017 1 (BT02)" + subtext: Gebäudeteil + - id: mi + type: joined_building + name: "Fakultät Mathematik & Informatik (FMI oder \u0019MI\u0017)" + subtext: Gebäudekomplex + - id: "5605" + type: building + name: Finger 05 (BT05) + subtext: Gebäudeteil + - id: "5606" + type: building + name: Finger 06 (BT06) + subtext: Gebäudeteil + n_visible: 0 + estimatedTotalHits: 14 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-35.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-35.snap new file mode 100644 index 000000000..561c7a997 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-35.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: Architects names should be matchable literally +expression: actual +info: "'N1406' should get '0104.01.406' in 1 results # Architects names should be matchable literally" +--- +- facet: rooms + entries: + - id: 0104.01.406 + type: room + name: 0104.01.406 (Studentenarb. m. DV) + subtext: "stammgelände, E-Technik Elektrophysik (N4)" + subtext_bold: N1406@0104 + - id: 0101.Z1.062B + type: room + name: "0101.Z1.062B (N1 ZG, Studentische Arbeitsplätze)" + subtext: "stammgelände, U-Trakt (N1)" + subtext_bold: N1062BZG@0101 + - id: 0104.02.406 + type: room + name: 0104.02.406 (Studentencomputerraum 1) + subtext: "stammgelände, E-Technik Elektrophysik (N4)" + subtext_bold: N2406@0104 + - id: 0104.01.416 + type: room + name: 0104.01.416 (Kopierer) + subtext: "stammgelände, E-Technik Elektrophysik (N4)" + subtext_bold: N1416@0104 + - id: 0104.U1.406 + type: room + name: 0104.U1.406 (Physikal. Versuchslabor) + subtext: "stammgelände, E-Technik Elektrophysik (N4)" + subtext_bold: N-1406@0104 + - id: 5112.EG.106N + type: room + name: 5112.EG.106N (Labor) + subtext: "garching, Walter-Schottky-Institut (WSI)" + subtext_bold: N106@5112 + - id: 0101.Z1.006 + type: room + name: 0101.Z1.006 (Sozialraum) + subtext: "stammgelände, U-Trakt (N1)" + subtext_bold: N1006ZG@0101 + - id: 0101.Z1.046 + type: room + name: 0101.Z1.046 (WC-Herren) + subtext: "stammgelände, U-Trakt (N1)" + subtext_bold: N1046ZG@0101 + - id: 0101.Z1.046A + type: room + name: 0101.Z1.046A (WC-Vorraum Herren) + subtext: "stammgelände, U-Trakt (N1)" + subtext_bold: N1046AZG@0101 + - id: 0103.01.306 + type: room + name: 0103.01.306 (Büro) + subtext: "stammgelände, E-Technik El. Maschinen / Geräte (N3)" + subtext_bold: N1306@0103 + n_visible: 10 + estimatedTotalHits: 552 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-36.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-36.snap new file mode 100644 index 000000000..87296851e --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-36.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: Architects names should be matchable literally +expression: actual +info: "'N-1406' should get '0104.U1.406' in 1 results # Architects names should be matchable literally" +--- +- facet: rooms + entries: + - id: 0104.U1.406 + type: room + name: 0104.U1.406 (Physikal. Versuchslabor) + subtext: "stammgelände, E-Technik Elektrophysik (N4)" + subtext_bold: N-1406@0104 + parsed_id: "\u0019N-1406\u0017 E-Techn…hysik (N4)" + - id: 0104.01.406 + type: room + name: 0104.01.406 (Studentenarb. m. DV) + subtext: "stammgelände, E-Technik Elektrophysik (N4)" + subtext_bold: N1406@0104 + - id: 0103.U1.311 + type: room + name: 0103.U1.311 (Praktikum/Umbau) + subtext: "stammgelände, E-Technik El. Maschinen / Geräte (N3)" + subtext_bold: N-1311@0103 + - id: 0108.U1.806A + type: room + name: 0108.U1.806A (Experimenteller Raum) + subtext: "stammgelände, E-Technik Verfügungsgebäude (N8)" + subtext_bold: N-1806A@0108 + - id: 0108.U1.806B + type: room + name: 0108.U1.806B (Experimenteller Raum) + subtext: "stammgelände, E-Technik Verfügungsgebäude (N8)" + subtext_bold: N-1806B@0108 + - id: 0108.U1.825 + type: room + name: 0108.U1.825 (Experimenteller Raum) + subtext: "stammgelände, E-Technik Verfügungsgebäude (N8)" + subtext_bold: N-1825@0108 + - id: 0108.U1.825A + type: room + name: 0108.U1.825A (Experimenteller Raum) + subtext: "stammgelände, E-Technik Verfügungsgebäude (N8)" + subtext_bold: N-1825A@0108 + - id: 9201.EG.005 + type: room + name: 9201.EG.005 (Seminarraum 2) + subtext: TUM FZ Friedrich N. Schwarz Berchtesgaden + subtext_bold: EG-05@9201 + - id: 9201.EG.006 + type: room + name: 9201.EG.006 (Seminarraum 1) + subtext: TUM FZ Friedrich N. Schwarz Berchtesgaden + subtext_bold: EG-06@9201 + n_visible: 9 + estimatedTotalHits: 552 +- facet: sites_buildings + entries: + - id: "9201" + type: building + name: "TUM FZ Friedrich \u0019N\u0017. Schwarz Berchtesgaden" + subtext: Gebäude + n_visible: 0 + estimatedTotalHits: 1 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-37.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-37.snap new file mode 100644 index 000000000..261d8657d --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-37.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: 019 lmu should get 5123.EG.019 +--- +- facet: rooms + entries: + - id: 5123.EG.019 + type: room + name: "5123.EG.\u0019019\u0017 ( \u0019LMU\u0017 Hörsaal im Physik Werkstattgebäude)" + subtext: "garching, LMU Physik Werkstattgebäude" + subtext_bold: 019@5123 + - id: 5109.EG.019 + type: room + name: "5109.EG.\u0019019\u0017 ( Kernphysiklabor)" + subtext: "garching, LMU Physik, Munich Center for Advanced Photonics (MAP)" + subtext_bold: 019@5109 + - id: 5120.EG.019 + type: room + name: "5120.EG.\u0019019\u0017 ( Elektrolabor)" + subtext: "garching, Beschleuniger" + subtext_bold: 019@5120 + - id: 5109.01.019 + type: room + name: "5109.01.\u0019019\u0017 ( Büro)" + subtext: "garching, LMU Physik, Munich Center for Advanced Photonics (MAP)" + subtext_bold: 019@5109 + - id: 5109.03.019 + type: room + name: "5109.03.\u0019019\u0017 ( Büro)" + subtext: "garching, LMU Physik, Munich Center for Advanced Photonics (MAP)" + subtext_bold: 019@5109 + - id: 5123.U1.019 + type: room + name: "5123.U1.\u0019019\u0017 ( Abwasseraufbereitung/-beseitigung)" + subtext: "garching, LMU Physik Werkstattgebäude" + subtext_bold: 019@5123 + - id: 8111.EG.019 + type: room + name: "8111.EG.\u0019019\u0017 ( Praktikumsraum)" + subtext: "garching-hochbrück, Schleißheimerstr. 90a" + subtext_bold: 0.019@8111 + - id: 1548.01.019 + type: room + name: "1548.01.\u0019019\u0017 ( Seminarraum)" + subtext: "mri, Schneckenburgerstr. 8, GSF-Container (\"Schneckenbunker\"), Virologie (Bau 548)" + subtext_bold: 48.1.19@1548 + - id: 1713.U2.019 + type: room + name: "1713.U2.\u0019019\u0017 ( Intensiv)" + subtext: "mri, Nigerstr. 3, Bau 713, TUM MeDiCAL, Studiendekanat im Lern- und Trainingszentrum (LUTZ)" + subtext_bold: 713.02.19@1713 + - id: 4220.01.019 + type: room + name: "4220.01.\u0019019\u0017 ( Gruppenarbeitsraum)" + subtext: "weihenstephan, Teilbibliothek Weihenstephan, Pressestelle Datenverarbeitung" + subtext_bold: OG R 19@4220 + n_visible: 10 + estimatedTotalHits: 199 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-38.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-38.snap new file mode 100644 index 000000000..3710c11d6 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-38.snap @@ -0,0 +1,63 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: audimax should get 0509.EG.980 +--- +- facet: rooms + entries: + - id: 0509.EG.980 + type: room + name: "0509.EG.980 (\u0019Audimax\u0017, Werner-von-Siemens-Hörsaal)" + subtext: "stammgelände, Wienandsbau (Z9)" + subtext_bold: 0980@0509 + - id: 8120.01.101 + type: room + name: "8120.01.101 (\u0019Audimax\u0017 im Galileo)" + subtext: "garching, Galileo" + subtext_bold: Audimax@8120 + - id: 0509.02.986 + type: room + name: "0509.02.986 ( \u0019Audimax\u0017 Galerie)" + subtext: "stammgelände, Wienandsbau (Z9)" + subtext_bold: 1986@0509 + - id: 0509.01.921 + type: room + name: 0509.01.921 ( Studentenarb. m. DV (HKW)) + subtext: "stammgelände, Wienandsbau (Z9)" + subtext_bold: Z921@0509 + - id: 0509.01.922 + type: room + name: 0509.01.922 ( Studentenarb. m. DV (HKW)) + subtext: "stammgelände, Wienandsbau (Z9)" + subtext_bold: Z922@0509 + - id: 0509.01.923 + type: room + name: 0509.01.923 ( Studentenarb. m. DV (HKW)) + subtext: "stammgelände, Wienandsbau (Z9)" + subtext_bold: Z923@0509 + - id: 0509.01.995 + type: room + name: 0509.01.995 ( Seminarraum m. Vorbereitung) + subtext: "stammgelände, Wienandsbau (Z9)" + subtext_bold: Z995@0509 + - id: 0509.02.903 + type: room + name: 0509.02.903 ( Übung-DV) + subtext: "stammgelände, Wienandsbau (Z9)" + subtext_bold: 1903@0509 + - id: 0509.02.919 + type: room + name: 0509.02.919 ( Studentenarb. m. DV) + subtext: "stammgelände, Wienandsbau (Z9)" + subtext_bold: 1919@0509 + n_visible: 9 + estimatedTotalHits: 492 +- facet: sites_buildings + entries: + - id: "0509" + type: building + name: "Wienandsbau, E-Technik / \u0019Audimax\u0017 (Z9)" + subtext: Gebäude + n_visible: 0 + estimatedTotalHits: 2 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-39.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-39.snap new file mode 100644 index 000000000..371f958ae --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-39.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "main room called 'service desk', only all 114abc.. subrooms have 'ssz' in the name" +expression: actual +info: ssz should get 0501.EG.144 +--- +- facet: rooms + entries: + - id: 0501.EG.144A + type: room + name: "0501.EG.144A ( \u0019SSZ\u0017 Info)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0144A@0501 + - id: 0501.EG.144B + type: room + name: "0501.EG.144B ( \u0019SSZ\u0017 Info)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0144B@0501 + - id: 0501.EG.144C + type: room + name: "0501.EG.144C ( \u0019SSZ\u0017 Info)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0144C@0501 + - id: 0501.EG.144D + type: room + name: "0501.EG.144D ( \u0019SSZ\u0017 Info)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0144D@0501 + - id: 0501.EG.144E + type: room + name: "0501.EG.144E ( \u0019SSZ\u0017 Info)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0144E@0501 + - id: 0501.EG.144F + type: room + name: "0501.EG.144F ( \u0019SSZ\u0017 Info)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0144F@0501 + - id: 0501.EG.144G + type: room + name: "0501.EG.144G ( \u0019SSZ\u0017 Info)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0144G@0501 + - id: 0501.EG.144H + type: room + name: "0501.EG.144H ( \u0019SSZ\u0017 Info)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0144H@0501 + - id: 0501.EG.148 + type: room + name: "0501.EG.148 ( Teeküche \u0019SSZ\u0017)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0148@0501 + - id: 0505.EG.561 + type: room + name: "0505.EG.561 ( Sekretariat \u0019SSZ\u0017/HR S+L / Recht)" + subtext: "stammgelände, Wirtschaftswissenschaften (Z5)" + subtext_bold: 0561@0505 + n_visible: 10 + estimatedTotalHits: 11 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-4.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-4.snap new file mode 100644 index 000000000..26013a244 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-4.snap @@ -0,0 +1,60 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'interims' should get 'garching-interims' in 1 results" +--- +- facet: sites_buildings + entries: + - id: garching-interims + type: area + name: "\u0019Interimshörsäle\u0017" + subtext: Gebiet / Gruppe von Gebäuden + - id: "5539" + type: building + name: "\u0019Interims\u0017-Tentomax MW" + subtext: Gebäude + - id: "5416" + type: building + name: "\u0019Interimshörsäle\u0017 II, Jürgen Manchot-Hörsaalgebäude" + subtext: Gebäude + - id: "5620" + type: building + name: "\u0019Interimshörsäle\u0017 I" + subtext: Gebäude + n_visible: 4 + estimatedTotalHits: 4 +- facet: rooms + entries: + - id: 5416.01.003 + type: room + name: "5416.01.003 (Hörsaal 2, \"\u0019Interims\u0017 II\")" + subtext: "garching, Interims II" + subtext_bold: 003@5416 + - id: 5620.01.101 + type: room + name: "5620.01.101 (Hörsaal 1, \"\u0019Interims\u0017 I\")" + subtext: "garching, Interims I" + subtext_bold: 101@5620 + - id: 5620.01.102 + type: room + name: "5620.01.102 (Hörsaal 2, \"\u0019Interims\u0017 I\")" + subtext: "garching, Interims I" + subtext_bold: 102@5620 + - id: 5416.01.004 + type: room + name: "5416.01.004 (Hörsaal 1, Jürgen-Manchot-Hörsaal)" + subtext: "garching, Interims II" + subtext_bold: 004@5416 + - id: 5539.EG.001A + type: room + name: "5539.EG.001A (Hörsaal 1A, \"Zelt\")" + subtext: "garching, Interims III" + subtext_bold: 0.001A@5539 + - id: 5539.EG.001B + type: room + name: "5539.EG.001B (Hörsaal 1B, \"Zelt\")" + subtext: "garching, Interims III" + subtext_bold: 0.001B@5539 + n_visible: 6 + estimatedTotalHits: 47 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-40.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-40.snap new file mode 100644 index 000000000..affa1c897 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-40.snap @@ -0,0 +1,29 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: Immathalle should get 0501.EG.136 +--- +- facet: rooms + entries: + - id: 0501.EG.130C + type: room + name: "0501.EG.130C ( Küche \u0019Immatrikulationshalle\u0017)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0130C@0501 + - id: 0501.EG.136 + type: room + name: "0501.EG.136 ( \u0019Immatrikulationshalle\u0017)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0136@0501 + - id: 0501.EG.140 + type: room + name: "0501.EG.140 ( Durchgangshalle zur \u0019Immathalle\u0017)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 0140@0501 + n_visible: 3 + estimatedTotalHits: 3 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-41.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-41.snap new file mode 100644 index 000000000..79a2b2eaa --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-41.snap @@ -0,0 +1,47 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: 1229 seminarraum should get 0502.01.229 +--- +- facet: rooms + entries: + - id: 0502.01.229 + type: room + name: "0502.01.229 ( \u0019Seminarraum\u0017)" + subtext: "stammgelände, Zentralgebäude 2 (Z2)" + subtext_bold: 1229@0502 + parsed_id: "\u00191229\u0017 Zentralgebäude 2 (Z2)" + - id: 5101.U1.229 + type: room + name: 5101.U1.229 ( Büro) + subtext: "garching, Physik I" + subtext_bold: 1229@5101 + parsed_id: "PH \u00191229\u0017" + - id: 5502.01.229 + type: room + name: 5502.01.229 ( Büro) + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 1229@5502 + parsed_id: "MW \u00191229\u0017" + - id: 0502.U1.229 + type: room + name: 0502.U1.229 ( Werkstatt) + subtext: "stammgelände, Zentralgebäude 2 (Z2)" + subtext_bold: "-1229@0502" + - id: 0102.U1.229 + type: room + name: 0102.U1.229 ( Stromversorgung) + subtext: "stammgelände, Hochvolthaus (N2)" + subtext_bold: N-1229@0102 + - id: 2334.01.224 + type: room + name: "2334.01.224 ( (34.\u00191\u0017.\u0019229\u0017) Büro)" + subtext: "campus-im-olympiapark-sz, CiO/SG Institute West, Bibliothek" + subtext_bold: 01.2334.224@2334 + n_visible: 6 + estimatedTotalHits: 6 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-42.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-42.snap new file mode 100644 index 000000000..ea133abd9 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-42.snap @@ -0,0 +1,14 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: Copy/paste search +expression: actual +info: Augustenstraße 44; Raum 209; 2.OG should get 2903.02.209 +--- +- facet: rooms + entries: [] + n_visible: 0 + estimatedTotalHits: 0 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-43.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-43.snap new file mode 100644 index 000000000..7754c2939 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-43.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "there are two basic lab course rooms, this is one of them" +expression: actual +info: praktikumsraum mi should get 5604.EG.038 +--- +- facet: rooms + entries: + - id: 5605.01.012 + type: room + name: "5605.01.012 ( \u0019Praktikumsraum\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 01.05.012@5605 + - id: 5605.01.013 + type: room + name: "5605.01.013 ( \u0019Praktikumsraum\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 01.05.013@5605 + - id: 5605.02.014 + type: room + name: "5605.02.014 ( \u0019Praktikumsraum\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 02.05.014@5605 + - id: 5605.02.033 + type: room + name: "5605.02.033 ( \u0019Praktikumsraum\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 02.05.033@5605 + - id: 5605.03.012 + type: room + name: "5605.03.012 ( \u0019Praktikumsraum\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 03.05.012@5605 + - id: 5605.03.014 + type: room + name: "5605.03.014 ( \u0019Praktikumsraum\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 03.05.014@5605 + - id: 5605.03.057 + type: room + name: "5605.03.057 ( \u0019Praktikumsraum\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 03.05.057@5605 + - id: 5607.01.012 + type: room + name: "5607.01.012 ( \u0019Praktikumsraum\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 01.07.012@5607 + - id: 5608.01.011 + type: room + name: "5608.01.011 ( \u0019Praktikumsraum\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 01.08.011@5608 + - id: 5608.01.020 + type: room + name: "5608.01.020 ( \u0019Praktikumsraum\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 01.08.020@5608 + n_visible: 10 + estimatedTotalHits: 209 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-44.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-44.snap new file mode 100644 index 000000000..5a0a5668c --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-44.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "'5604.02.033' is a valid result before the two lab course rooms" +expression: actual +info: physik labor mi should get 5604.EG.036 +--- +- facet: rooms + entries: + - id: 0104.U1.404 + type: room + name: "0104.U1.404 ( \u0019Mi\u0017krostr. Bauele.-\u0019Labor\u0017)" + subtext: "stammgelände, E-Technik Elektrophysik (N4)" + subtext_bold: N-1404@0104 + - id: 0104.EG.426 + type: room + name: "0104.EG.426 ( \u0019Physiklabor\u0017 \u0019mi\u0017t elektromagnetischer Abschir)" + subtext: "stammgelände, E-Technik Elektrophysik (N4)" + subtext_bold: N0426@0104 + - id: 5501.01.108 + type: room + name: "5501.01.108 ( \u0019Mi\u0017krotechniklabor)" + subtext: "garching, Maschinenwesen (MW)" + subtext_bold: 1108@5501 + - id: 2806.03.302 + type: room + name: "2806.03.302 ( \u0019Mi\u0017kroskopie)" + subtext: Werkstattgebäude National Museum (Nutzung) + subtext_bold: 3.302@2806 + - id: 4224.01.136 + type: room + name: "4224.01.136 ( \u0019Mi\u0017kroskopie)" + subtext: "weihenstephan, ZIEL IV - Biowissenschaften" + subtext_bold: 1.36@4224 + - id: 4224.01.156 + type: room + name: "4224.01.156 ( \u0019Mi\u0017kroskopierraum S1-Genlabor)" + subtext: "weihenstephan, ZIEL IV - Biowissenschaften" + subtext_bold: 1.56@4224 + - id: 4317.01.121 + type: room + name: "4317.01.121 ( \u0019Mi\u0017kroskopierraum)" + subtext: "weihenstephan, Tierwissenschaften" + subtext_bold: 1.21@4317 + - id: 4404.EG.003 + type: room + name: "4404.EG.003 ( \u0019Mi\u0017kroskopie)" + subtext: "limnologische-station-iffeldorf, Seminargebäude" + subtext_bold: 003@4404 + - id: 0103.U1.301 + type: room + name: "0103.U1.301 ( FIB-\u0019Mi\u0017kroskopierraum)" + subtext: "stammgelände, E-Technik El. Maschinen / Geräte (N3)" + subtext_bold: "-1301@0103" + - id: 4124.EG.320 + type: room + name: "4124.EG.320 ( L1 \u0019Mi\u0017kroorganismen)" + subtext: "weihenstephan, ZIEL II – Molekulare Biowissenschaften" + subtext_bold: E/3.20@4124 + n_visible: 10 + estimatedTotalHits: 1000 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 28 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-45.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-45.snap new file mode 100644 index 000000000..f59642b6c --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-45.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "This is 'N-1403@0104', but 'N1403@0104' can be before this" +expression: actual +info: n1403 should get 0104.U1.403 +--- +- facet: rooms + entries: + - id: 0104.01.403 + type: room + name: 0104.01.403 ( Büro) + subtext: "stammgelände, E-Technik Elektrophysik (N4)" + subtext_bold: N1403@0104 + - id: 0102.01.203 + type: room + name: 0102.01.203 ( Hörsaal-eben m.exp.-Bühne) + subtext: "stammgelände, Hochvolthaus (N2)" + subtext_bold: N1203@0102 + - id: 0101.Z1.003 + type: room + name: 0101.Z1.003 ( Studentenarbeitsraum) + subtext: "stammgelände, U-Trakt (N1)" + subtext_bold: N1003ZG@0101 + - id: 0101.Z1.039 + type: room + name: 0101.Z1.039 ( Seminarraum) + subtext: "stammgelände, U-Trakt (N1)" + subtext_bold: N1039ZG@0101 + - id: 0104.01.406 + type: room + name: 0104.01.406 ( Studentenarb. m. DV) + subtext: "stammgelände, E-Technik Elektrophysik (N4)" + subtext_bold: N1406@0104 + - id: 0108.01.803 + type: room + name: 0108.01.803 ( Gruppenraum) + subtext: "stammgelände, E-Technik Verfügungsgebäude (N8)" + subtext_bold: N1803@0108 + - id: 0101.Z1.031 + type: room + name: 0101.Z1.031 ( Bibliotheksraum einf.) + subtext: "stammgelände, U-Trakt (N1)" + subtext_bold: N1031ZG@0101 + - id: 5112.EG.103N + type: room + name: 5112.EG.103N ( Labor) + subtext: "garching, Walter-Schottky-Institut (WSI)" + subtext_bold: N103@5112 + - id: 0101.Z1.030 + type: room + name: 0101.Z1.030 ( Besprechungsraum) + subtext: "stammgelände, U-Trakt (N1)" + subtext_bold: N1030ZG@0101 + - id: 0101.Z1.032 + type: room + name: 0101.Z1.032 ( Büro) + subtext: "stammgelände, U-Trakt (N1)" + subtext_bold: N1032ZG@0101 + n_visible: 10 + estimatedTotalHits: 552 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-46.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-46.snap new file mode 100644 index 000000000..f66481171 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-46.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "typo + it's 'Fachschaftsbüro' in the data" +expression: actual +info: fachschaft pyhsik should get 5101.EG.257 +--- +- facet: rooms + entries: + - id: 0104.EG.413 + type: room + name: "0104.EG.413 ( Elektroniklabor \u0019Fachschaft\u0017 EI)" + subtext: "stammgelände, E-Technik Elektrophysik (N4)" + subtext_bold: N0413@0104 + - id: 5101.EG.257 + type: room + name: "5101.EG.257 (Büro \u0019Fachschaft\u0017 Mathe \u0019Physik\u0017 Informatik Chemie / MPIC)" + subtext: "garching, Physik I" + subtext_bold: 2257@5101 + - id: 5606.EG.036 + type: room + name: "5606.EG.036 (Büro \u0019Fachschaft\u0017 Mathe \u0019Physik\u0017 Informatik Chemie / MPIC)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.06.036@5606 + - id: 5606.EG.037 + type: room + name: "5606.EG.037 (Besprechungsraum \u0019Fachschaft\u0017 Mathe \u0019Physik\u0017 Informatik Chemie / MPIC)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.06.037@5606 + - id: 5406.01.650C + type: room + name: "5406.01.650C (Büro \u0019Fachschaft\u0017 Mathe \u0019Physik\u0017 Informatik Chemie / MPIC)" + subtext: "garching, Chemie" + subtext_bold: 26503@5406 + - id: 5606.EG.038 + type: room + name: "5606.EG.038 (Lager \u0019Fachschaft\u0017 Mathe \u0019Physik\u0017 Informatik Chemie / MPIC)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.06.038@5606 + - id: 5606.EG.039 + type: room + name: "5606.EG.039 (Skriptenverkauf \u0019Fachschaft\u0017 Mathe \u0019Physik\u0017 Informatik Chemie / MPIC)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.06.039@5606 + - id: 2333.01.103 + type: room + name: "2333.01.103 ( \u0019Fachschaft\u0017 Sport)" + subtext: "campus-im-olympiapark-sz, CiO/SG Hallen Ost" + subtext_bold: 01.2333.103@2333 + - id: 9377.01.130 + type: room + name: "9377.01.130 ( Projektraum \u0019Fachschaft\u0017)" + subtext: "taufkirchen-ottobr., Lise-Meitner-Straße 9-11" + subtext_bold: 01.130@9377 + - id: 0504.EG.424 + type: room + name: "0504.EG.424 ( Arbeitsraum/Studenten/\u0019Fachschaft\u0017)" + subtext: "stammgelände, Landwirtschaftsbau (Z4)" + subtext_bold: 0424@0504 + n_visible: 10 + estimatedTotalHits: 37 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-47.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-47.snap new file mode 100644 index 000000000..703cf9ff1 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-47.snap @@ -0,0 +1,63 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "H.003 is the correct room, but people have problems remembering how many zeroes are in the room number" +expression: actual +info: H.0003 should get 2910.EG.003 +--- +- facet: sites_buildings + entries: + - id: "2910" + type: building + name: "Richard-Wagner-Str. 1 / Haus B + Haus \u0019H\u0017, Hochschule für Politik (HfP)/ Department of Governance (GOV)" + subtext: Gebäude + n_visible: 1 + estimatedTotalHits: 1 +- facet: rooms + entries: + - id: 2910.01.101 + type: room + name: 2910.01.101 ( Gruppenarbeitsraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.101@2910 + - id: 2910.01.102 + type: room + name: 2910.01.102 ( Gruppenarbeitsraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.102@2910 + - id: 2910.02.202 + type: room + name: 2910.02.202 ( Seminarraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.202@2910 + - id: 2910.02.204 + type: room + name: 2910.02.204 ( Seminarraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.204@2910 + - id: 2910.02.206 + type: room + name: 2910.02.206 ( Seminarraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.206@2910 + - id: 2910.EG.001 + type: room + name: 2910.EG.001 ( Seminarraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.001@2910 + - id: 2910.EG.002 + type: room + name: 2910.EG.002 ( Seminarraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.002@2910 + - id: 2910.EG.003 + type: room + name: 2910.EG.003 ( Seminarraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.003@2910 + - id: 5212.01.028 + type: room + name: 5212.01.028 ( Gemeinschaftsraum) + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.1.028@5212 + n_visible: 9 + estimatedTotalHits: 412 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-48.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-48.snap new file mode 100644 index 000000000..3c9720eb9 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-48.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "H.003 is the correct room, but people have problems remembering how many zeroes are in the room number" +expression: actual +info: H.003 should get 2910.EG.003 +--- +- facet: rooms + entries: + - id: 2910.EG.003 + type: room + name: "2910.EG.\u0019003\u0017 ( Seminarraum)" + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.003@2910 + parsed_id: "\u0019H.003\u0017 RiWa 1 (HfP/GOV)" + - id: 5212.EG.003 + type: room + name: "5212.EG.\u0019003\u0017 ( Post/Annahme)" + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.0.003@5212 + - id: 5212.U1.003 + type: room + name: "5212.U1.\u0019003\u0017 ( Kälte)" + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.-1.003@5212 + - id: 2910.01.101 + type: room + name: 2910.01.101 ( Gruppenarbeitsraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.101@2910 + - id: 2910.01.102 + type: room + name: 2910.01.102 ( Gruppenarbeitsraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.102@2910 + - id: 2910.02.202 + type: room + name: 2910.02.202 ( Seminarraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.202@2910 + - id: 2910.02.204 + type: room + name: 2910.02.204 ( Seminarraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.204@2910 + - id: 2910.02.206 + type: room + name: 2910.02.206 ( Seminarraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.206@2910 + - id: 2910.EG.001 + type: room + name: 2910.EG.001 ( Seminarraum) + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.001@2910 + n_visible: 9 + estimatedTotalHits: 412 +- facet: sites_buildings + entries: + - id: "2910" + type: building + name: "Richard-Wagner-Str. 1 / Haus B + Haus \u0019H\u0017, Hochschule für Politik (HfP)/ Department of Governance (GOV)" + subtext: Gebäude + n_visible: 0 + estimatedTotalHits: 1 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-49.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-49.snap new file mode 100644 index 000000000..0ebb66e31 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-49.snap @@ -0,0 +1,66 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "H.003 is the correct room, but people have problems remembering how many zeroes are in the room number" +expression: actual +info: H.03 should get 2910.EG.003 +--- +- facet: rooms + entries: + - id: 5212.01.030 + type: room + name: "5212.01.\u001903\u00170 ( Gemeinschaftsraum)" + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.1.030@5212 + - id: 5212.02.030 + type: room + name: "5212.02.\u001903\u00170 ( Gemeinschaftsraum)" + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.2.030@5212 + - id: 2910.EG.031 + type: room + name: "2910.EG.\u001903\u00171 ( WC-Herren)" + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.031@2910 + parsed_id: "\u0019H.03\u00171 RiWa 1 (HfP/GOV)" + - id: 2910.EG.032 + type: room + name: "2910.EG.\u001903\u00172 ( Beh.-WC)" + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.032@2910 + parsed_id: "\u0019H.03\u00172 RiWa 1 (HfP/GOV)" + - id: 0504.03.430 + type: room + name: "0504.\u001903\u0017.430 ( WC-\u0019H\u0017)" + subtext: "stammgelände, Landwirtschaftsbau (Z4)" + subtext_bold: 3430@0504 + - id: 0505.03.522 + type: room + name: "0505.\u001903\u0017.522 ( WC-\u0019H\u0017)" + subtext: "stammgelände, Wirtschaftswissenschaften (Z5)" + subtext_bold: 3522@0505 + - id: 0505.03.526A + type: room + name: "0505.\u001903\u0017.526A ( WC-\u0019H\u0017)" + subtext: "stammgelände, Wirtschaftswissenschaften (Z5)" + subtext_bold: 3526@0505 + - id: 0501.03.135 + type: room + name: "0501.\u001903\u0017.135 ( Vorraum WC-\u0019H\u0017)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 3135@0501 + - id: 0501.03.135B + type: room + name: "0501.\u001903\u0017.135B ( Toilette WC-\u0019H\u0017)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 3135B@0501 + - id: 0501.03.153A + type: room + name: "0501.\u001903\u0017.153A ( Vorraum WC-\u0019H\u0017)" + subtext: "stammgelände, Hauptgebäude (Z1)" + subtext_bold: 3153A@0501 + n_visible: 10 + estimatedTotalHits: 412 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 1 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-5.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-5.snap new file mode 100644 index 000000000..2e26fab8e --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-5.snap @@ -0,0 +1,63 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'Interims 2' should get '5416' in 1 results" +--- +- facet: sites_buildings + entries: + - id: "5416" + type: building + name: "\u0019Interimshörsäle\u0017 \u0019II\u0017, Jürgen Manchot-Hörsaalgebäude" + subtext: Gebäude + n_visible: 1 + estimatedTotalHits: 4 +- facet: rooms + entries: + - id: 5416.01.003 + type: room + name: "5416.01.003 (Hörsaal \u00192\u0017, \"\u0019Interims\u0017 \u0019II\u0017\")" + subtext: "garching, Interims II" + subtext_bold: 003@5416 + - id: 5416.01.004 + type: room + name: "5416.01.004 (Hörsaal 1, Jürgen-Manchot-Hörsaal)" + subtext: "garching, Interims II" + subtext_bold: 004@5416 + - id: 5620.01.102 + type: room + name: "5620.01.102 (Hörsaal \u00192\u0017, \"\u0019Interims\u0017 I\")" + subtext: "garching, Interims I" + subtext_bold: 102@5620 + - id: 5539.EG.002 + type: room + name: "5539.EG.002 (Hörsaal \u00192\u0017, \"Zelt\")" + subtext: "garching, Interims III" + subtext_bold: 0.002@5539 + - id: 5416.EG.010 + type: room + name: 5416.EG.010 (IT/Audio) + subtext: "garching, Interims II" + subtext_bold: 010@5416 + - id: 5416.EG.005 + type: room + name: 5416.EG.005 (WC-Vorraum Damen u. Herren) + subtext: "garching, Interims II" + subtext_bold: 005@5416 + - id: 5416.EG.006 + type: room + name: 5416.EG.006 (WC-Herren) + subtext: "garching, Interims II" + subtext_bold: 006@5416 + - id: 5416.EG.007 + type: room + name: 5416.EG.007 (WC-Beh.) + subtext: "garching, Interims II" + subtext_bold: 007@5416 + - id: 5416.EG.008 + type: room + name: 5416.EG.008 (Putzraum) + subtext: "garching, Interims II" + subtext_bold: 008@5416 + n_visible: 9 + estimatedTotalHits: 47 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-50.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-50.snap new file mode 100644 index 000000000..0cc74e53e --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-50.snap @@ -0,0 +1,66 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "H.003 is the correct room, but people have problems remembering how many zeroes are in the room number" +expression: actual +info: H.3 should get 2910.EG.003 +--- +- facet: rooms + entries: + - id: 5212.01.028 + type: room + name: 5212.01.028 ( Gemeinschaftsraum) + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.1.028@5212 + - id: 5212.01.030 + type: room + name: 5212.01.030 ( Gemeinschaftsraum) + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.1.030@5212 + - id: 5212.02.028 + type: room + name: 5212.02.028 ( Gemeinschaftsraum) + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.2.028@5212 + - id: 5212.02.030 + type: room + name: 5212.02.030 ( Gemeinschaftsraum) + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.2.030@5212 + - id: 5212.EG.006 + type: room + name: 5212.EG.006 ( Seminar 1) + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.0.006@5212 + - id: 4124.U1.001A + type: room + name: 4124.U1.001A ( Praktikum (Hinterer Raumteil)) + subtext: "weihenstephan, ZIEL II – Molekulare Biowissenschaften" + subtext_bold: P/1.01 H@4124 + - id: 5212.EG.007 + type: room + name: "5212.EG.007 ( Wischtest, freig.)" + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.0.007@5212 + - id: 5212.EG.603 + type: room + name: 5212.EG.603 ( Pers. Dekont./Dusche) + subtext: "garching, RCM Radiochemie München" + subtext_bold: H.0.603@5212 + - id: 2910.03.301 + type: room + name: "2910.03.\u00193\u001701 ( Büro)" + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.301@2910 + parsed_id: "\u0019H.3\u001701 RiWa 1 (HfP/GOV)" + - id: 2910.03.302 + type: room + name: "2910.03.\u00193\u001702 ( Büro)" + subtext: "stammgelände, RiWa 1 (HfP/GOV)" + subtext_bold: H.302@2910 + parsed_id: "\u0019H.3\u001702 RiWa 1 (HfP/GOV)" + n_visible: 10 + estimatedTotalHits: 413 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 1 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-51.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-51.snap new file mode 100644 index 000000000..2bee67179 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-51.snap @@ -0,0 +1,26 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "The architects name is a N2119. There are other rooms which are actually named '2119', which means 4 is the best case." +expression: actual +info: 2119 should get 0101.02.119 +--- +- facet: rooms + entries: + - id: 5101.EG.119 + type: room + name: 5101.EG.119 ( Physiklabor (einfach)) + subtext: "garching, Physik I" + subtext_bold: 2119@5101 + parsed_id: "PH \u00192119\u0017" + - id: 5413.01.119 + type: room + name: 5413.01.119 ( Kopierer) + subtext: "garching, BNMRZ Bayerisches NMR-Zentrum" + subtext_bold: 2119@5413 + parsed_id: "\u00192119\u0017 BNMRZ B…MR-Zentrum" + n_visible: 2 + estimatedTotalHits: 2 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-52.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-52.snap new file mode 100644 index 000000000..1d6e4f284 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-52.snap @@ -0,0 +1,59 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "This should match this Lecture hall and not the HS 1, just because both are in the Bolzmanstr. *3* 4 is the best case." +expression: actual +info: MI HS3 should get 5606.EG.011 +--- +- facet: sites_buildings + entries: + - id: mi + type: joined_building + name: "Fakultät Mathematik & Informatik (FMI oder \u0019MI\u0017)" + subtext: Gebäudekomplex + - id: "5605" + type: building + name: Finger 05 (BT05) + subtext: Gebäudeteil + - id: "5606" + type: building + name: Finger 06 (BT06) + subtext: Gebäudeteil + - id: "5607" + type: building + name: Finger 07 (BT07) + subtext: Gebäudeteil + - id: "5609" + type: building + name: Finger 09 (BT09) + subtext: Gebäudeteil + n_visible: 5 + estimatedTotalHits: 14 +- facet: rooms + entries: + - id: 5606.EG.011 + type: room + name: "5606.EG.011 ( \u0019MI\u0017 \u0019Hörsaal\u0017 \u00193\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.06.011@5606 + - id: 5602.EG.001 + type: room + name: "5602.EG.001 ( \u0019MI\u0017 \u0019HS\u0017 1, Friedrich L. Bauer \u0019Hörsaal\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.02.001@5602 + - id: 5604.EG.011 + type: room + name: "5604.EG.011 ( \u0019MI\u0017 \u0019Hörsaal\u0017 2)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.04.011@5604 + - id: 5602.EG.002 + type: room + name: "5602.EG.002 ( \u0019MI\u0017 \u0019Hörsaal\u0017 Regieraum)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.02.002@5602 + - id: 5602.U1.001 + type: room + name: 5602.U1.001 ( Technikraum) + subtext: "garching, Mathe/Info (MI)" + subtext_bold: "-1.02.001@5602" + n_visible: 5 + estimatedTotalHits: 1000 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-53.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-53.snap new file mode 100644 index 000000000..42bfedfff --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-53.snap @@ -0,0 +1,60 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: MI HS 3 should get 5606.EG.011 +--- +- facet: rooms + entries: + - id: 5606.EG.011 + type: room + name: "5606.EG.011 ( \u0019MI\u0017 \u0019Hörsaal\u0017 \u00193\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.06.011@5606 + - id: 5602.EG.001 + type: room + name: "5602.EG.001 ( \u0019MI\u0017 \u0019HS\u0017 1, Friedrich L. Bauer \u0019Hörsaal\u0017)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.02.001@5602 + - id: 5604.EG.011 + type: room + name: "5604.EG.011 ( \u0019MI\u0017 \u0019Hörsaal\u0017 2)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.04.011@5604 + - id: 5602.EG.002 + type: room + name: "5602.EG.002 ( \u0019MI\u0017 \u0019Hörsaal\u0017 Regieraum)" + subtext: "garching, Mathe/Info (MI)" + subtext_bold: 00.02.002@5602 + - id: 5602.U1.001 + type: room + name: 5602.U1.001 ( Technikraum) + subtext: "garching, Mathe/Info (MI)" + subtext_bold: "-1.02.001@5602" + - id: 5602.U1.004 + type: room + name: 5602.U1.004 ( Treppe im Freien) + subtext: "garching, Mathe/Info (MI)" + subtext_bold: "-1.02.004@5602" + n_visible: 6 + estimatedTotalHits: 1000 +- facet: sites_buildings + entries: + - id: "5602" + type: building + name: "\u0019Hörsaal\u0017 1 (BT02)" + subtext: Gebäudeteil + - id: mi + type: joined_building + name: "Fakultät Mathematik & Informatik (FMI oder \u0019MI\u0017)" + subtext: Gebäudekomplex + - id: "5605" + type: building + name: Finger 05 (BT05) + subtext: Gebäudeteil + - id: "5606" + type: building + name: Finger 06 (BT06) + subtext: Gebäudeteil + n_visible: 0 + estimatedTotalHits: 14 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-54.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-54.snap new file mode 100644 index 000000000..59a9c4c1c --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-54.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: Architects names should be matchable literally +expression: actual +info: N1406 should get 0104.01.406 +--- +- facet: rooms + entries: + - id: 0104.01.406 + type: room + name: 0104.01.406 ( Studentenarb. m. DV) + subtext: "stammgelände, E-Technik Elektrophysik (N4)" + subtext_bold: N1406@0104 + - id: 0101.Z1.062B + type: room + name: "0101.Z1.062B ( N1 ZG, Studentische Arbeitsplätze)" + subtext: "stammgelände, U-Trakt (N1)" + subtext_bold: N1062BZG@0101 + - id: 0104.02.406 + type: room + name: 0104.02.406 ( Studentencomputerraum 1) + subtext: "stammgelände, E-Technik Elektrophysik (N4)" + subtext_bold: N2406@0104 + - id: 0104.01.416 + type: room + name: 0104.01.416 ( Kopierer) + subtext: "stammgelände, E-Technik Elektrophysik (N4)" + subtext_bold: N1416@0104 + - id: 0104.U1.406 + type: room + name: 0104.U1.406 ( Physikal. Versuchslabor) + subtext: "stammgelände, E-Technik Elektrophysik (N4)" + subtext_bold: N-1406@0104 + - id: 5112.EG.106N + type: room + name: 5112.EG.106N ( Labor) + subtext: "garching, Walter-Schottky-Institut (WSI)" + subtext_bold: N106@5112 + - id: 0101.Z1.006 + type: room + name: 0101.Z1.006 ( Sozialraum) + subtext: "stammgelände, U-Trakt (N1)" + subtext_bold: N1006ZG@0101 + - id: 0101.Z1.046 + type: room + name: 0101.Z1.046 ( WC-Herren) + subtext: "stammgelände, U-Trakt (N1)" + subtext_bold: N1046ZG@0101 + - id: 0101.Z1.046A + type: room + name: 0101.Z1.046A ( WC-Vorraum Herren) + subtext: "stammgelände, U-Trakt (N1)" + subtext_bold: N1046AZG@0101 + - id: 0103.01.306 + type: room + name: 0103.01.306 ( Büro) + subtext: "stammgelände, E-Technik El. Maschinen / Geräte (N3)" + subtext_bold: N1306@0103 + n_visible: 10 + estimatedTotalHits: 552 +- facet: sites_buildings + entries: [] + n_visible: 0 + estimatedTotalHits: 0 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-55.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-55.snap new file mode 100644 index 000000000..9b69a4b07 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-55.snap @@ -0,0 +1,64 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: Architects names should be matchable literally +expression: actual +info: N-1406 should get 0104.U1.406 +--- +- facet: rooms + entries: + - id: 0104.U1.406 + type: room + name: 0104.U1.406 ( Physikal. Versuchslabor) + subtext: "stammgelände, E-Technik Elektrophysik (N4)" + subtext_bold: N-1406@0104 + parsed_id: "\u0019N-1406\u0017 E-Techn…hysik (N4)" + - id: 0104.01.406 + type: room + name: 0104.01.406 ( Studentenarb. m. DV) + subtext: "stammgelände, E-Technik Elektrophysik (N4)" + subtext_bold: N1406@0104 + - id: 0103.U1.311 + type: room + name: 0103.U1.311 ( Praktikum/Umbau) + subtext: "stammgelände, E-Technik El. Maschinen / Geräte (N3)" + subtext_bold: N-1311@0103 + - id: 0108.U1.806A + type: room + name: 0108.U1.806A ( Experimenteller Raum) + subtext: "stammgelände, E-Technik Verfügungsgebäude (N8)" + subtext_bold: N-1806A@0108 + - id: 0108.U1.806B + type: room + name: 0108.U1.806B ( Experimenteller Raum) + subtext: "stammgelände, E-Technik Verfügungsgebäude (N8)" + subtext_bold: N-1806B@0108 + - id: 0108.U1.825 + type: room + name: 0108.U1.825 ( Experimenteller Raum) + subtext: "stammgelände, E-Technik Verfügungsgebäude (N8)" + subtext_bold: N-1825@0108 + - id: 0108.U1.825A + type: room + name: 0108.U1.825A ( Experimenteller Raum) + subtext: "stammgelände, E-Technik Verfügungsgebäude (N8)" + subtext_bold: N-1825A@0108 + - id: 9201.EG.005 + type: room + name: 9201.EG.005 ( Seminarraum 2) + subtext: TUM FZ Friedrich N. Schwarz Berchtesgaden + subtext_bold: EG-05@9201 + - id: 9201.EG.006 + type: room + name: 9201.EG.006 ( Seminarraum 1) + subtext: TUM FZ Friedrich N. Schwarz Berchtesgaden + subtext_bold: EG-06@9201 + n_visible: 9 + estimatedTotalHits: 552 +- facet: sites_buildings + entries: + - id: "9201" + type: building + name: "TUM FZ Friedrich \u0019N\u0017. Schwarz Berchtesgaden" + subtext: Gebäude + n_visible: 0 + estimatedTotalHits: 1 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-6.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-6.snap new file mode 100644 index 000000000..2b087c8dc --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-6.snap @@ -0,0 +1,62 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "Should give the 'new' mensa" +expression: actual +info: "'Mensa Garching' should get '5304' in 1 results # Should give the 'new' mensa" +--- +- facet: sites_buildings + entries: + - id: "5304" + type: building + name: "(Neue) \u0019Mensa\u0017 \u0019Garching\u0017" + subtext: Gebäude + - id: "5302" + type: building + name: "(Alte) \u0019Mensa\u0017 \u0019Garching\u0017" + subtext: Gebäude + n_visible: 2 + estimatedTotalHits: 5 +- facet: rooms + entries: + - id: 5302.01.022 + type: room + name: 5302.01.022 (Seminarraum 2) + subtext: "garching, (Alte) Mensa Garching" + subtext_bold: 01.022.I@5302 + - id: 5302.01.023 + type: room + name: 5302.01.023 (Seminarraum 1) + subtext: "garching, (Alte) Mensa Garching" + subtext_bold: 01.023.I@5302 + - id: 5302.01.038 + type: room + name: 5302.01.038 (Bibliothek) + subtext: "garching, (Alte) Mensa Garching" + subtext_bold: 01.037.J@5302 + - id: 5302.01.016 + type: room + name: 5302.01.016 (Kopierer) + subtext: "garching, (Alte) Mensa Garching" + subtext_bold: 01.016.H@5302 + - id: 5302.01.030 + type: room + name: 5302.01.030 (Kopierer) + subtext: "garching, (Alte) Mensa Garching" + subtext_bold: 01.030.I@5302 + - id: 5302.01.043 + type: room + name: 5302.01.043 (Kopierer) + subtext: "garching, (Alte) Mensa Garching" + subtext_bold: 01.043.K@5302 + - id: 5302.01.054 + type: room + name: 5302.01.054 (Kopierer) + subtext: "garching, (Alte) Mensa Garching" + subtext_bold: 01.054.L@5302 + - id: 5302.EG.016A + type: room + name: 5302.EG.016A (Prüfhalle Staubzone) + subtext: "garching, (Alte) Mensa Garching" + subtext_bold: 00.016.A@5302 + n_visible: 8 + estimatedTotalHits: 927 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-7.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-7.snap new file mode 100644 index 000000000..ab5a19c1d --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-7.snap @@ -0,0 +1,63 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'neue Mensa' should get '5304' in 1 results" +--- +- facet: sites_buildings + entries: + - id: "5304" + type: building + name: "(\u0019Neue\u0017) \u0019Mensa\u0017 Garching" + subtext: Gebäude + n_visible: 1 + estimatedTotalHits: 1 +- facet: rooms + entries: + - id: 5304.01.101 + type: room + name: 5304.01.101 (Speisesaal) + subtext: "garching, (Neue) Mensa Garching" + subtext_bold: 1.101@5304 + - id: 5304.01.102 + type: room + name: 5304.01.102 (Vor-/Verteilerbereich) + subtext: "garching, (Neue) Mensa Garching" + subtext_bold: 1.102@5304 + - id: 5304.01.103 + type: room + name: 5304.01.103 (Free Flow) + subtext: "garching, (Neue) Mensa Garching" + subtext_bold: 1.103@5304 + - id: 5304.01.104 + type: room + name: 5304.01.104 (Produktionsküche) + subtext: "garching, (Neue) Mensa Garching" + subtext_bold: 1.104@5304 + - id: 5304.01.201 + type: room + name: 5304.01.201 (Geschirrspüle) + subtext: "garching, (Neue) Mensa Garching" + subtext_bold: 1.201@5304 + - id: 5304.01.203 + type: room + name: 5304.01.203 (Küchenchef) + subtext: "garching, (Neue) Mensa Garching" + subtext_bold: 1.203@5304 + - id: 5304.01.301 + type: room + name: 5304.01.301 (Geschirrspüle) + subtext: "garching, (Neue) Mensa Garching" + subtext_bold: 1.301@5304 + - id: 5304.01.302 + type: room + name: 5304.01.302 (Schwarzgeschirrspüle) + subtext: "garching, (Neue) Mensa Garching" + subtext_bold: 1.302@5304 + - id: 5304.01.307 + type: room + name: 5304.01.307 (Putzraum) + subtext: "garching, (Neue) Mensa Garching" + subtext_bold: 1.307@5304 + n_visible: 9 + estimatedTotalHits: 263 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-8.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-8.snap new file mode 100644 index 000000000..919e77c37 --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-8.snap @@ -0,0 +1,61 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'Physik Container' should get '5140' in 1 results" +--- +- facet: sites_buildings + entries: + - id: "5140" + type: building + name: "\u0019Physik\u0017 I \u0019Container\u0017" + subtext: Gebäude + - id: "5124" + type: building + name: "WSI \u0019Container\u0017" + subtext: Gebäude + - id: "5160" + type: building + name: "UCN-Testanlage (\u0019Container\u0017)" + subtext: Gebäude + n_visible: 3 + estimatedTotalHits: 28 +- facet: rooms + entries: + - id: 5140.01.201 + type: room + name: 5140.01.201 (Tutorraum) + subtext: "garching, Physik I Container" + subtext_bold: C.3201@5140 + - id: 5140.01.202 + type: room + name: 5140.01.202 (Tutorraum) + subtext: "garching, Physik I Container" + subtext_bold: C.3202@5140 + - id: 5140.01.203 + type: room + name: 5140.01.203 (Tutorraum) + subtext: "garching, Physik I Container" + subtext_bold: C.3203@5140 + - id: 5140.01.204 + type: room + name: 5140.01.204 (CIP-Raum) + subtext: "garching, Physik I Container" + subtext_bold: C.3204@5140 + - id: 5140.01.205 + type: room + name: 5140.01.205 (CIP-Raum) + subtext: "garching, Physik I Container" + subtext_bold: C.3205@5140 + - id: 5140.01.206 + type: room + name: 5140.01.206 (CIP-Raum) + subtext: "garching, Physik I Container" + subtext_bold: C.3206@5140 + - id: 5140.01.207 + type: room + name: 5140.01.207 (CIP-Raum) + subtext: "garching, Physik I Container" + subtext_bold: C.3207@5140 + n_visible: 7 + estimatedTotalHits: 1000 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-9.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-9.snap new file mode 100644 index 000000000..4aad8d57e --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries-9.snap @@ -0,0 +1,62 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'znn' should get '5115' in 1 results" +--- +- facet: sites_buildings + entries: + - id: "5115" + type: building + name: "Zentrum für Nanotechnologie & -materialien (\u0019ZNN\u0017)" + subtext: Gebäude + - id: "5116" + type: building + name: "Trafostation des \u0019ZNN\u0017" + subtext: Gebäude + n_visible: 2 + estimatedTotalHits: 2 +- facet: rooms + entries: + - id: 5115.EG.001 + type: room + name: 5115.EG.001 (Seminarraum) + subtext: "garching, Zentrum für Nanotechnologie & -materialien (ZNN)" + subtext_bold: 0.001@5115 + - id: 5115.01.008 + type: room + name: 5115.01.008 (Kopierraum) + subtext: "garching, Zentrum für Nanotechnologie & -materialien (ZNN)" + subtext_bold: 1.008@5115 + - id: 5115.01.011 + type: room + name: 5115.01.011 (Chemie Labor) + subtext: "garching, Zentrum für Nanotechnologie & -materialien (ZNN)" + subtext_bold: 1.011@5115 + - id: 5115.01.011A + type: room + name: 5115.01.011A (Chemie Labor) + subtext: "garching, Zentrum für Nanotechnologie & -materialien (ZNN)" + subtext_bold: 1.011A@5115 + - id: 5115.01.019 + type: room + name: 5115.01.019 (Spektroskopie) + subtext: "garching, Zentrum für Nanotechnologie & -materialien (ZNN)" + subtext_bold: 1.019@5115 + - id: 5115.01.020 + type: room + name: 5115.01.020 (Spektroskopie) + subtext: "garching, Zentrum für Nanotechnologie & -materialien (ZNN)" + subtext_bold: 1.020@5115 + - id: 5115.01.021 + type: room + name: 5115.01.021 (Spektroskopie) + subtext: "garching, Zentrum für Nanotechnologie & -materialien (ZNN)" + subtext_bold: 1.021@5115 + - id: 5115.01.022 + type: room + name: 5115.01.022 (Technik) + subtext: "garching, Zentrum für Nanotechnologie & -materialien (ZNN)" + subtext_bold: 1.022@5115 + n_visible: 8 + estimatedTotalHits: 141 diff --git a/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries.snap b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries.snap new file mode 100644 index 000000000..47de02b1d --- /dev/null +++ b/server/main-api/src/search/search_executor/snapshots/navigatum_main_api__search__search_executor__test__good_queries.snap @@ -0,0 +1,63 @@ +--- +source: main-api/src/search/search_executor/mod.rs +description: "" +expression: actual +info: "'hochbrück' should get 'garching-hochbrueck' in 1 results" +--- +- facet: sites_buildings + entries: + - id: garching-hochbrueck + type: site + name: "Garching \u0019Hochbrück\u0017" + subtext: Standort + n_visible: 1 + estimatedTotalHits: 4 +- facet: rooms + entries: + - id: 8101.02.136 + type: room + name: "8101.02.136 (\u0019Hochbrück\u0017-Bibliothek)" + subtext: "garching-hochbrück, Business Campus 1" + subtext_bold: 2.01.36@8101 + - id: 8101.02.235 + type: room + name: "8101.02.235 (\u0019Hochbrück\u0017-Kommunikationsraum)" + subtext: "garching-hochbrück, Business Campus 1" + subtext_bold: 2.02.35@8101 + - id: 8102.03.111 + type: room + name: "8102.03.111 (\u0019Hochbrück\u0017-Kommunikation 1)" + subtext: "garching-hochbrück, Business Campus 2" + subtext_bold: 3.1.11@8102 + - id: 8102.03.216 + type: room + name: "8102.03.216 (\u0019Hochbrück\u0017-Konferenz)" + subtext: "garching-hochbrück, Business Campus 2" + subtext_bold: 3.2.16@8102 + - id: 8102.03.233 + type: room + name: "8102.03.233 (\u0019Hochbrück\u0017-Kommunikation 2)" + subtext: "garching-hochbrück, Business Campus 2" + subtext_bold: 3.2.33@8102 + - id: 8102.03.302 + type: room + name: "8102.03.302 (\u0019Hochbrück\u0017-Kommunikation 3)" + subtext: "garching-hochbrück, Business Campus 2" + subtext_bold: 3.3.02@8102 + - id: 8102.03.428 + type: room + name: "8102.03.428 (\u0019Hochbrück\u0017-Konferenz)" + subtext: "garching-hochbrück, Business Campus 2" + subtext_bold: 3.4.28@8102 + - id: 8102.03.433 + type: room + name: "8102.03.433 (\u0019Hochbrück\u0017-Kommunikation 4)" + subtext: "garching-hochbrück, Business Campus 2" + subtext_bold: 3.4.33@8102 + - id: 8102.03.502 + type: room + name: "8102.03.502 (\u0019Hochbrück\u0017-Kommunikation 5)" + subtext: "garching-hochbrück, Business Campus 2" + subtext_bold: 3.5.02@8102 + n_visible: 9 + estimatedTotalHits: 383 diff --git a/server/main-api/src/search/search_executor/test-queries.bad.yaml b/server/main-api/src/search/search_executor/test-queries.bad.yaml new file mode 100644 index 000000000..9f7b3adfd --- /dev/null +++ b/server/main-api/src/search/search_executor/test-queries.bad.yaml @@ -0,0 +1,85 @@ +# "org"/poi queries +- target: mi-bib + query: mathe bib + comment: target is hallucinated as it currently does not exist +- target: tb-arcisstraße + query: tb innenstadt + comment: target is hallucinated as it currently does not exist +# building queries +- target: '5620' + query: interims I +- target: '0201' + query: Studitum Arcisstr + comment: 'Note: It is not really in Arcisstr., just close' +- target: '2906' + query: Karlsstr. 47 + comment: uses 'str.' instead of 'straße' +# room queries +- target: 5602.EG.001 + query: mi hs 1 +- target: 5510.EG.001 + query: niemann + comment: >- + old name before the NS renamings was 'MW 0001, Gustav-Niemann-Hörsaal', + changed in Q1 24 +- target: 5510.EG.001 + query: mw g niemann + comment: >- + old name before the NS renamings was 'MW 0001, Gustav-Niemann-Hörsaal', + changed in Q1 24 +- target: 5402.01.220J + query: CH22209 +- target: 5602.EG.001 + query: f abuer + comment: typo with short word and at first letter +- target: 0501.EG.144 + query: ssz + comment: >- + main room called 'service desk', only all 114abc.. subrooms have 'ssz' in + the name +- target: 0501.EG.136 + query: Immathalle +- target: 2903.02.209 + query: Augustenstraße 44; Raum 209; 2.OG + comment: Copy/paste from real search +- target: 5604.EG.038 + query: praktikumsraum mi + among: 2 + comment: 'there are two basic lab course rooms, this is one of them' +- target: 5604.EG.036 + query: physik labor mi + among: 3 + comment: "'5604.02.033' is a valid result before the two lab course rooms" +- target: 0104.U1.403 + query: n1403 + among: 2 + comment: "This is 'N-1403@0104', but 'N1403@0104' can be before this" +- target: 5101.EG.257 + query: fachschaft pyhsik + comment: typo + it's 'Fachschaftsbüro' in the data +- target: 2910.EG.003 + query: H.0003 + comment: >- + H.003 is the correct room, but people have problems remembering how many + zeroes are in the room number +- target: 2910.EG.003 + query: H.03 + comment: >- + H.003 is the correct room, but people have problems remembering how many + zeroes are in the room number +- target: 2910.EG.003 + query: H.3 + comment: >- + H.003 is the correct room, but people have problems remembering how many + zeroes are in the room number +- target: 0101.02.119 + query: '2119' + among: 4 + comment: >- + The architects name is a N2119. There are other rooms which are actually + named '2119', which means 4 is the best case. +- target: 5606.EG.011 + query: MI HS3 + comment: >- + This should match this Lecture hall and not the HS 1, just because both are + in the Bolzmanstr. *3* 4 is the best case. diff --git a/server/main-api/src/search/search_executor/test-queries.good.yaml b/server/main-api/src/search/search_executor/test-queries.good.yaml new file mode 100644 index 000000000..e34f42687 --- /dev/null +++ b/server/main-api/src/search/search_executor/test-queries.good.yaml @@ -0,0 +1,92 @@ +# These test queries are intended to provide a consistent benchmark +# for search performance. They are however not (all) real world queries. + +# site/area/campus queries +- target: garching-hochbrueck + query: hochbrück +- target: wzw + query: wzw +# building queries +- target: '5301' + query: '5301' +- target: garching-interims + query: interims +- target: '5416' + query: Interims 2 +- target: '5304' + query: Mensa Garching + comment: Should give the 'new' mensa +- target: '5304' + query: neue Mensa +- target: '5140' + query: Physik Container +- target: '5115' + query: znn +- target: wzw-ziel + query: ZIEL +# room queries +- target: 5604.EG.011 + query: 5604.00.011 +- target: 5601.EG.001 + query: 5601.EG.001 + comment: MI Magistrale +- target: 5601.EG.001 + query: 00.01.001 + comment: A search for the Architects name should return the correct room +- target: 5608.03.011 + query: 03.08.011 +- target: 5508.02.801 + query: MW 1801 +- target: 5508.02.801 + query: MW1801 + comment: splitting necessary +- target: 5510.EG.001 + query: MW0001 + comment: splitting necessary +- target: 5510.02.001 + query: MW2001 + comment: splitting necessary +- target: 5508.02.801 + query: 1801 maschinen +- target: 5503.EG.337 + query: Raum 0337 mw +- target: 5101.EG.502 + query: pyhsik hs 2 +- target: 5101.EG.501 + query: mössbauer +- target: 5101.EG.342 + query: 342 Physik +- target: 5101.EG.503 + query: '2503' + comment: 'lecture hall, should be preferred over other rooms' +- target: 5111.01.116 + query: '1116' + comment: 'seminar room, should be preferred over other rooms' +- target: 5140.01.202 + query: C.3202 +- target: 5115.01.010 + query: 1010 znn + comment: Not sure about target here +- target: 5433.EG.092 + query: 0092@5433 +- target: 5510.EG.026M + query: 0026m@5510 +- target: 5123.EG.019 + query: 019 lmu +- target: 0509.EG.980 + query: audimax +- target: 0502.01.229 + query: 1229 seminarraum +- target: 2910.EG.003 + query: H.003 + comment: >- + H.003 is the correct room, but people have problems remembering how many + zeroes are in the room number +- target: 5606.EG.011 + query: MI HS 3 +- target: 0104.01.406 + query: N1406 + comment: Architects names should be matchable literally +- target: 0104.U1.406 + query: N-1406 + comment: Architects names should be matchable literally diff --git a/server/main-api/src/setup/tests.rs b/server/main-api/src/setup/tests.rs index a30575d8e..1869f1683 100644 --- a/server/main-api/src/setup/tests.rs +++ b/server/main-api/src/setup/tests.rs @@ -1,8 +1,10 @@ use meilisearch_sdk::client::Client; use sqlx::postgres::PgPoolOptions; use sqlx::{Pool, Postgres}; +use std::time::Duration; use testcontainers_modules::testcontainers::{ContainerAsync, ImageExt}; use testcontainers_modules::{meilisearch, postgres, testcontainers::runners::AsyncRunner}; +use tracing::error; pub struct PostgresTestContainer { _container: ContainerAsync, @@ -65,10 +67,17 @@ impl MeiliSearchTestContainer { #[tokio::test] #[tracing_test::traced_test] -#[cfg(not(feature = "skip_db_setup"))] async fn test_db_setup() { let pg = PostgresTestContainer::new().await; - crate::setup::database::load_data(&pg.pool).await.unwrap(); + let res = crate::setup::database::load_data(&pg.pool).await; + match res { + Ok(()) => (), // sometimes connecting to the db fails... retrying this is realistic + Err(e) => { + error!("failed to load db because {e:?}. Retrying once"); + tokio::time::sleep(Duration::from_secs(2)).await; + crate::setup::database::load_data(&pg.pool).await.unwrap() + } + } } #[tokio::test] diff --git a/server/main-api/test/printer.py b/server/main-api/test/printer.py deleted file mode 100644 index 7353ab772..000000000 --- a/server/main-api/test/printer.py +++ /dev/null @@ -1,129 +0,0 @@ -import search_quality_test -from termcolor import colored - - -def print_specific_queries_result( - current: list[search_quality_test.Evaluation], - comparison: list[search_quality_test.Evaluation], -) -> None: - """Print the results of the specific queries""" - comparison_dict = {comp.query: comp for comp in comparison} - for search in current: - comp = comparison_dict[search.query] - s_pos_indicator = _gen_pos_indicator(search) - - # Grade - s_grade = str(round(search.grade, 1)) - if s_grade == "1.0": - continue - s_grade = { - "1.0": colored("1.0", "green", attrs=["bold"]), - "2.0": colored("2.0", "green", attrs=[]), - "3.0": colored("3.0", "yellow", attrs=["bold"]), - "4.0": colored("4.0", "yellow", attrs=[]), - "4.7": colored("4.7", "red", attrs=[]), - "5.0": colored("5.0", "red", attrs=["bold"]), - }[s_grade] - - # Grade cmp - s_cmp = _generate_grade_cmp(search, comp) - - s_query = _gen_colored_query(search) - s_stats = _gen_colored_stats(search) - - print(f"{s_pos_indicator} {s_grade}{s_cmp} {s_query} {s_stats}") - - num_searches = sum(len(s.query.query) + 1 for s in current) - print(f"Performed {num_searches} searches") - - -def _gen_colored_query(search: search_quality_test.Evaluation) -> str: - """ - Generate the colored Query - - Colors are chosen as followed - - Green indicates when a better position is reached - - White (not formatted) indicates minimum to reach top 5 - - Underline indicates minimum to reach final position - """ - green_end_pos = ( - search.len_to_best_pos - if ( - search.best_pos is not None - and search.len_to_best_pos is not None - and search.full_search.target_pos is not None - and (not search.full_search.was_successful or search.best_pos < search.full_search.target_pos) - ) - else 0 - ) - white_end_pos = search.len_to_reach_top_5 if search.len_to_reach_top_5 is not None else 0 - underline_end_pos = search.len_to_reach_final if search.len_to_reach_final is not None else 0 - - s_query = "" - for i, query_char in enumerate(search.query.query): - # This is not the best way of formatting, but sufficient here - if i >= green_end_pos and i >= white_end_pos: - s_query += colored( - str(query_char), - color="white", # this is gray - attrs=(["underline"] if i < underline_end_pos else []), - ) - elif green_end_pos < white_end_pos: - s_query += colored( - str(query_char), - color="green" if i < green_end_pos else None, - attrs=(["underline"] if i < underline_end_pos else []), - ) - else: - s_query += colored( - str(query_char), - color=None if i < white_end_pos else "green", - attrs=(["underline"] if i < underline_end_pos else []), - ) - s_query += " " * max(0, 50 - len(search.query.query)) - return s_query - - -def _generate_grade_cmp(search: search_quality_test.Evaluation, comp: search_quality_test.Evaluation) -> str: - grade_diff = abs(round(search.grade - comp.grade, 1)) - if comp.grade > search.grade: - return colored(f" +{grade_diff}", "red", attrs=["bold"]) - if comp.grade < search.grade: - return colored(f" -{grade_diff}", "green", attrs=["bold"]) - return " " - - -def _gen_colored_stats(search: search_quality_test.Evaluation) -> str: - """Generate the colored statistics""" - num_results = search.full_search.num_results - return f"{num_results:>4}" + colored(" hits, target: '", "white") + search.query.target + colored("')", "white") - - -def _gen_pos_indicator(search: search_quality_test.Evaluation) -> str: - """ - Generate the position indicator - - Said indicator is showing rougly how the results looked like and where the target entry was located - """ - if search.full_search.was_top5: - target_pos = search.full_search.target_pos or 0 - return ( - colored("[", "white") - + " " * target_pos - + colored("*", "cyan", attrs=["bold"]) - + " " * (min(search.full_search.num_results, 5) - target_pos - 1) - + colored("]", "white") - + colored("-" * (5 - min(search.full_search.num_results, 5)), "white") - + " " - ) - if search.full_search.was_top20: - return colored("[ ]", "white") + colored(">", "yellow") - if search.full_search.num_results > 0: - return ( - colored("[", "white") - + colored("x" * min(search.full_search.num_results, 5), "red") - + colored("]", "white") - + colored("-" * (5 - min(search.full_search.num_results, 5)), "white") - + " " - ) - return colored("[]-----", "red") + " " diff --git a/server/main-api/test/requirements.txt b/server/main-api/test/requirements.txt deleted file mode 100644 index 2ff826c0b..000000000 --- a/server/main-api/test/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -termcolor==1.1.0 -tqdm==4.66.0 diff --git a/server/main-api/test/search_quality_test.py b/server/main-api/test/search_quality_test.py deleted file mode 100644 index 52fd3b5fb..000000000 --- a/server/main-api/test/search_quality_test.py +++ /dev/null @@ -1,160 +0,0 @@ -import dataclasses -import itertools -import urllib.parse -from pathlib import Path -from typing import Any - -import printer -import requests -import yaml -from tqdm.contrib.concurrent import thread_map - - -@dataclasses.dataclass(frozen=True, unsafe_hash=True) -class Query: # split into Query and EvaluatableQuery for import reasons - target: str - query: str - among: int = 1 - - -@dataclasses.dataclass -class SearchResult: - queried_length: int - target_pos: int | None - hits: list[dict[str, Any]] - num_results: int - - @property - def was_successful(self) -> bool: - """Whether the search was successful (i.e. there were results)""" - return self.target_pos is not None - - @property - def was_top5(self) -> bool: - """Whether the target was among the first 5 results""" - return self.target_pos is not None and 0 <= self.target_pos < 5 - - @property - def was_top20(self) -> bool: - """Whether the target was among the first 20 results""" - return self.target_pos is not None and 0 <= self.target_pos < 20 - - -@dataclasses.dataclass -class Evaluation: - query: Query - best_pos: int | None - len_to_reach_top_5: int | None - len_to_reach_final: int | None - len_to_best_pos: int | None - full_search: SearchResult - - @property - def grade(self) -> float: - """ - Calculate the grade of a search. - - Grading Rubric: - 1.0 = excellent (e.g. first result) - 2.0 = good (e.g. the first result of its type) - 3.0 = okay (e.g. among the first 5 results, some other results of its type before it) - 4.0 = passed (e.g. not in the first 5 results in autocomplete, but within the first 20 results) - 4.7 = failed (but at least not misleading, e.g. when there are no results at all) - 5.0 = very bad (e.g. not in the results, misleading results) - """ - if self.full_search.was_top5: - # "among" may specify where the target can also be without affecting grading - if self.full_search.target_pos < self.query.among: - return 1.0 - preceding_hits = self.full_search.hits[: self.full_search.target_pos] - preceding_types = {hit["type"] for hit in preceding_hits} - if self.full_search.hits[self.full_search.target_pos]["type"] not in preceding_types: - return 2.0 - return 3.0 - if self.full_search.was_top20: - return 4.0 - return 4.7 if self.full_search.num_results == 0 else 5.0 - - -class EvaluatableQuery(Query): - def do_search(self, search_endpoint: str, length: int) -> SearchResult: - """Perform a search for a specific query""" - query_string = urllib.parse.urlencode({"q": self.query[:length]}) - url = f"{search_endpoint}?{query_string}" - req = requests.get(url, timeout=10).json() - - hits = list(itertools.chain(*[s["entries"] for s in req["sections"]])) - try: - target_pos = [s["id"] == self.target for s in hits].index(True) - except ValueError: - target_pos = None - - return SearchResult( - queried_length=length, - target_pos=target_pos, - hits=hits, - num_results=sum(s["estimatedTotalHits"] for s in req["sections"]), - ) - - def evaluate(self, search_endpoint: str) -> Evaluation: - """ - Evaluate how well the search engine behaves for a specific query. - - :search_endpoint: The endpoint to query - """ - query_lengths = range(1, len(self.query) + 1) - searches = [self.do_search(search_endpoint, length) for length in query_lengths] - final_search = searches[-1] - successfull_searches = [search for search in searches if search.was_successful] - # among all successfull searches we look at the first one that reaches the best position - best_search = min( - successfull_searches, - key=lambda ls: (ls.target_pos, ls.queried_length), - default=None, - ) - - # among all successfull searches we look at the first one that reaches the top 5 - searches_who_reached_top_5 = [search for search in successfull_searches if search.was_top5] - len_to_reach_top_5 = searches_who_reached_top_5[0].queried_length if searches_who_reached_top_5 else None - - # among all successfull searches we look at the first one that reaches the final position - len_to_reach_final = min( - (search.queried_length for search in successfull_searches if search.target_pos == final_search.target_pos), - default=None, - ) - - return Evaluation( - query=self, - best_pos=best_search.target_pos if best_search else None, - len_to_best_pos=best_search.queried_length if best_search else None, - len_to_reach_top_5=len_to_reach_top_5, - len_to_reach_final=len_to_reach_final, - full_search=final_search, - ) - - -@dataclasses.dataclass -class Evaluations: - search_endpoint: str - - @property - def queries(self) -> list[Query]: - """Load the queries from the test-queries.yaml file""" - with open(Path(__file__).parent / "test-queries.yaml", encoding="utf-8") as file: - return [EvaluatableQuery(**query) for query in yaml.safe_load(file.read())] - - @property - def results(self) -> list[Evaluation]: - """Test the specific queries, and return the results""" - return thread_map( - lambda query: query.evaluate(self.search_endpoint), - self.queries, - desc=f"Querying {self.search_endpoint}", - ) - - -if __name__ == "__main__": - current = Evaluations(search_endpoint="https://nav.tum.de/api/search") - comparison = Evaluations(search_endpoint="http://localhost:3003/api/search") - - printer.print_specific_queries_result(current.results, comparison.results) diff --git a/server/main-api/test/test-queries.yaml b/server/main-api/test/test-queries.yaml deleted file mode 100644 index c506c6ad2..000000000 --- a/server/main-api/test/test-queries.yaml +++ /dev/null @@ -1,68 +0,0 @@ -# These test queries are intended to provide a consistent benchmark -# for search performance. They are however not (all) real world queries. - -# Commented out queries are not yet supported, but ideas what might be -# worth implementing. - -# site/area/campus queries -- { target: "garching-hochbrueck", query: "hochbrück" } -- { target: "wzw", query: "wzw" } -# building queries -- { target: "5301", query: "5301" } -- { target: "5620", query: "interims I" } -- { target: "5416", query: "Interims 2" } -- { target: "5304", query: "Mensa Garching" } # Should give the 'new' mensa -- { target: "5304", query: "neue Mensa" } -- { target: "0201", query: "Studitum Arcisstr" } # Note: It is not really in Arcisstr., just close -- { target: "5140", query: "Physik Container" } -- { target: "5115", query: "znn" } -- { target: "2906", query: "Karlsstr. 47" } # uses "str." instead of "straße" -- { target: "wzw-ziel", query: "ZIEL" } -# room queries -- { target: "5604.EG.011", query: "5604.00.011" } -- { target: "5601.EG.001", query: "5601.EG.001" } # MI Magistrale -- { target: "5601.EG.001", query: "00.01.001" } # A search for the Architects name should return the correct room -- { target: "5608.03.011", query: "03.08.011" } -- { target: "5602.EG.001", query: "mi hs 1" } -- { target: "5508.02.801", query: "MW 1801" } -- { target: "5508.02.801", query: "MW1801" } # splitting necessary -- { target: "5510.EG.001", query: "MW0001" } # splitting nessesary -- { target: "5510.02.001", query: "MW2001" } # splitting nessesary -- { target: "5508.02.801", query: "1801 maschinen" } -- { target: "5503.EG.337", query: "Raum 0337 mw" } -- { target: "5510.EG.001", query: "niemann" } # old name before the NS renamings was "MW 0001, Gustav-Niemann-Hörsaal", changed in Q1 24 -- { target: "5510.EG.001", query: "mw g niemann" } # old name before the NS renamings was "MW 0001, Gustav-Niemann-Hörsaal", changed in Q1 24 -- { target: "5402.01.220J", query: "CH22209" } -- { target: "5101.EG.502", query: "pyhsik hs 2" } -- { target: "5101.EG.501", query: "mössbauer" } -- { target: "5101.EG.342", query: "342 Physik" } -- { target: "5101.EG.503", query: "2503" } # lecture hall, should be preferred over other rooms -- { target: "5111.01.116", query: "1116" } # seminar room, should be preferred over other rooms -- { target: "5140.01.202", query: "C.3202" } -- { target: "5115.01.010", query: "1010 znn" } # Not sure about target here -- { target: "5433.EG.092", query: "0092@5433" } -- { target: "5510.EG.026M", query: "0026m@5510" } -- { target: "5602.EG.001", query: "f abuer" } # typo with short word and at first letter -- { target: "5123.EG.019", query: "019 lmu" } -- { target: "0509.EG.980", query: "audimax" } -- { target: "0501.EG.144", query: "ssz" } # main room called "service desk", only all 114abc.. subrooms have "ssz" in the name -- { target: "0501.EG.136", query: "Immathalle" } -- { target: "0502.01.229", query: "1229 seminarraum" } -- { target: "2903.02.209", query: "Augustenstraße 44; Raum 209; 2.OG" } # Copy/paste search -- { target: "5604.EG.038", query: "praktikumsraum mi", among: 2 } # there are two basic lab course rooms, this is one of them -- { target: "5604.EG.036", query: "physik labor mi", among: 3 } # "5604.02.033" is a valid result before the two lab course rooms -- { target: "0104.U1.403", query: "n1403", among: 2 } # This is "N-1403@0104", but "N1403@0104" can be before this -- { target: "5101.EG.257", query: "fachschaft pyhsik" } # typo + it's "Fachschaftsbüro" in the data - # H.003 is the correct room, but people have problems remembering how many zeroes are in the room number -- { target: "2910.EG.003", query: "H.0003" } -- { target: "2910.EG.003", query: "H.003" } -- { target: "2910.EG.003", query: "H.03" } -- { target: "2910.EG.003", query: "H.3" } -- { target: "0101.02.119", query: "2119", among: 4 } # The architects name is a N2119. There are other rooms which are actually named "2119", which means 4 is the best case. -- { target: "5606.EG.011", query: "MI HS3" } # This should match this Lecture hall and not the HS 1, just because both are in the Bolzmanstr. *3* 4 is the best case. -- { target: "5606.EG.011", query: "MI HS 3" } -- { target: "0104.01.406", query: "N1406" } # Architects names should be matachable literally -- { target: "0104.U1.406", query: "N-1406" } # Architects names should be matachable literally -# other queries -#- {target: , query: "mathe bib" } -#- {target: , query: "tb innenstadt" } diff --git a/webclient/.gitignore b/webclient/.gitignore index 81d3f73cc..71a64839d 100644 --- a/webclient/.gitignore +++ b/webclient/.gitignore @@ -24,3 +24,4 @@ coverage *.njsproj *.sln *.sw? +/cdn/* diff --git a/webclient/README.md b/webclient/README.md index f854a38e1..c22cfa2ff 100644 --- a/webclient/README.md +++ b/webclient/README.md @@ -36,14 +36,9 @@ If you want to connect to a local version instead, change the environemnt variab To get a local server running, please: - either via following the [guide to local development](../server/README.md), or -- via [docker](https://docs.docker.com/) - _docker isolates the network, but we want these two containers to communicate to each other without being as brittle as IPs._ - _Naming the `navigatum-mieli-search` container `search` makes us able to connect to it via <`http://search:7700`> from the server_ - +- via [docker](https://docs.docker.com/) by commenting out the webclient from the docker-compose-file and running ```bash - docker network create navigatum-net - docker run -it --rm -p 7700:7700 --name search --network navigatum-net ghcr.io/tum-dev/navigatum-mieli-search:main - docker run -it --rm -p 8080:8080 --network navigatum-net -e MIELI_SEARCH_ADDR=search ghcr.io/tum-dev/navigatum-server:main /bin/navigatum-main-api + docker compose -f docker-compose.local.yml up --build ``` ```sh diff --git a/webclient/components/CalendarFull.vue b/webclient/components/CalendarFull.vue index 07c4d698b..0b5ab9090 100644 --- a/webclient/components/CalendarFull.vue +++ b/webclient/components/CalendarFull.vue @@ -1,6 +1,8 @@

diff --git a/webclient/package.json b/webclient/package.json index 75b584cb2..069672941 100644 --- a/webclient/package.json +++ b/webclient/package.json @@ -13,12 +13,14 @@ "format": "prettier --plugin=prettier-plugin-tailwindcss --end-of-line lf --write ." }, "dependencies": { - "@fullcalendar/core": "^6.1.14", - "@fullcalendar/daygrid": "^6.1.14", - "@fullcalendar/vue3": "^6.1.14", + "@fullcalendar/core": "6.1.15", + "@fullcalendar/daygrid": "6.1.15", + "@fullcalendar/list": "6.1.15", + "@fullcalendar/timegrid": "6.1.15", + "@fullcalendar/vue3": "6.1.15", "@headlessui/vue": "1.7.22", "@heroicons/vue": "2.1.5", - "@nuxt/content": "2.13.1", + "@nuxt/content": "2.13.2", "@nuxt/image": "1.7.0", "@nuxtjs/color-mode": "3.4.2", "@vueuse/core": "10.11.0", @@ -26,19 +28,19 @@ "map-gl-indoor": "^0.5.0", "maplibre-gl": "4.5.0", "nightwind": "1.1.13", - "nuxt": "3.12.3", + "nuxt": "3.12.4", "sharp": "0.33.4", "swagger-ui": "5.17.14", "swaggerdark": "github:octycs/SwaggerDark#f02d394c8ff698cdd93e09c2188b058d2d686ca3", - "vue": "3.4.31", + "vue": "3.4.33", "vue-router": "4.4.0", "vue3-carousel": "0.3.3" }, "devDependencies": { "@nuxt/eslint": "0.3.13", "@nuxtjs/i18n": "8.3.1", - "@nuxtjs/tailwindcss": "6.12.0", - "@types/node": "20.14.10", + "@nuxtjs/tailwindcss": "6.12.1", + "@types/node": "20.14.11", "@types/swagger-ui": "3.52.4", "@vue/tsconfig": "0.5.1", "autoprefixer": "10.4.19", @@ -47,10 +49,10 @@ "postcss": "8.4.39", "prettier": "3.3.3", "prettier-plugin-tailwindcss": "0.6.5", - "tailwindcss": "3.4.4", + "tailwindcss": "3.4.6", "typescript": "5.5.3", "vue-tsc": "2.0.26" }, "type": "module", - "packageManager": "pnpm@9.1.3" + "packageManager": "pnpm@9.5.0" } diff --git a/webclient/pages/[view]/[id].vue b/webclient/pages/[view]/[id].vue index d1bae0951..e92e49d6c 100644 --- a/webclient/pages/[view]/[id].vue +++ b/webclient/pages/[view]/[id].vue @@ -187,9 +187,7 @@ onMounted(() => { > - - - +