Skip to content

Busprofile

badwolf4815162342 edited this page Jun 15, 2018 · 24 revisions

This page explains how 'Busprofile' works and how it should be displayed on the iPad.

Models:

Löschregeln:

  • BusSettingeinfach löschbar (DB internes Wort für Busprofil)
  • zugehörige BusRoute wird immer gelöscht!! Es können BusRouten mit gleichen Werten existieren
  • zugehörige StopLocations werden nur gelöscht, wenn sie keinem gehören (Sicher ?, um neue Routen anzulegen werden, bevor eine Netzwerkanfrage gestellt wird vorhandene StopLocations angezeigt, dass sind natürlich dann nicht alle bisher genutzten, sondern nur die, die aktuell noch genutzt werden)

Master/TableView

Der Table View soll Busprofilelemente mit Titel und Usericon zeigen.

Logik:

Hier können BusSettings hinzugefügt und gelöscht werden. Es kann auch garkein BusProfil vorhanden sein. Wird eines gelöscht, werden NICHT automatisch alle BusRouten und StopLocations die diesem zugeordnet sind gelöscht (Siehe Löschregeln). Leere BusSettings können existieren Im Homescreen wird eine dementsprechende Meldung angezeigt.

Fragen:

  • Wo soll der '+' Button sein, wenn die Tabelle gescrollt werden muss?
  • Wie oder soll überhaupt über den Masterview ein Busprofil gelöscht werden können?

DetailView

Der DetailView ist zum Bearbeiten der Busprofile und Strecken hinzufügen.

Logik:

Zugehöriger user und Titel können immer direkt bearbeitet werden. Mit dem Klick auf 'Speichern' wird diese Änderung gespeichert. Außerdem können bis zu 4 (?) Routen hinzugefügt und gelöscht werden. Hierfür sollen Buttons existieren. Außerdem können vorhandene Routen bearbeitet werden, indem man auf sie tippt. **Es können keine BusRoutes ohne mindestens eine StopLocation existieren.

Fragen:

  • Können beliebig viele Strecken angefügt werden? Wie ist die Meldung wenn voll? Scrollbar? -> 4
  • Wie wählt man den User/ das Icon aus?
  • Bearbeiten Button drücken? Wo? Überhaupt? (Siehe Logik)
    • Erstmal ja (#15) , später vllt ohne ...
  • Speichern Button? Wo? Überhaupt? Wenn nicht, was muss vorhanden sein, damit das Busprofil in der DB angelegt wird? User darüber informieren?

DetailRouteEditView

Einzelne Strecken können in diesem View bearbeitet werden. Hier kann der User entweder eine vorhandene angeklickte Route bearbeiten A oder er hat gerade im DetailView auf 'Hinzufügen' gedrückt und sieht die Seite ohne vorausgewählte StopLocations B.

Logik:

A Die bekannte BusRoute wird angezeigt, in den beiden Textffeldern (Start und Stop) stehen die bisher vorhandenen StopLocations, diese können ganz einfach durch Klick bearbeitet und verändert werden. Beim Klick auf Speichern wird, falls die StopLocations sich von den alten unterscheiden, dem BusSetting die neue Route hinzugefügt und die alte gelöscht sofern sie keinem anderen BusSetting zugeordnet ist. Cancel oder Speichern von unveränderter Start- und Ziel-StopLocation füht zurück zum DetailView.

B Zunächst sind die beiden Textfelder leer. Cancel löscht die neuangelegte BusRoute des BusSettings wieder. Speichern zeigt, falls eins oder beide Felder noch keinen Validen entrag haben, eine Meldung, ob die Route gelöscht oder fertig bearbeitet werden soll. Wenn beides valide Werte sind, wird die neue BusRoute angelegt. Dabei werden, falls die StopLocations bereits in der DB vorhanden sind, die vorhandenen StopLocations der BusRoute zugeordenet und keine neuen mit den selben werten angelegt!

Netzwerk Requests:

Info: https://www.rmv.de/hapi/

Host:

https://www.rmv.de/hapi/

Alle Jsonabjekte sind in einem APIWrapper eingebettet -> { JSON }

Standart-Params:

format=json, acessId=?

Path: Station suchen

/location.name?input=frankfurt%20hauptbahnhof

"stopLocationOrCoordLocation": [
        {
            "StopLocation": {
                "id": "A=1@O=WI Loreleiring@X=8220662@Y=50077377@U=80@L=003025906@B=1@V=6.9,@p=1527598179@",
                "extId": "003025906",
                "name": "WI Loreleiring",
                "lon": 8.220662,
                "lat": 50.077377,
                "weight": 184,
                "products": 64
            }
        },

Path: Strecke suchen

/trip?originId=003025274&destId=003025906

Result: Trip: has List with Items each has a "LegList":

            "LegList": {
                "Leg": [
                    {
                        "Origin": {
                            "name": "Wiesbaden Dreiweidenstrasse",
                            "type": "ST",
                            "id": "A=1@O=Wiesbaden Dreiweidenstrasse@X=8227440@Y=50078033@U=80@L=3025274@",
                            "extId": "3025274",
                            "lon": 8.22744,
                            "lat": 50.078033,
                            "routeIdx": 15,
                            "prognosisType": "PROGNOSED",
                            "time": "14:26:00",
                            "date": "2018-05-30",
                            "rtTime": "14:26:00",
                            "rtDate": "2018-05-30",
                            "rtBoarding": true
                        },
                        "Destination": {
                            "name": "Wiesbaden Loreleiring",
                            "type": "ST",
                            "id": "A=1@O=Wiesbaden Loreleiring@X=8220662@Y=50077377@U=80@L=3025906@",
                            "extId": "3025906",
                            "lon": 8.220662,
                            "lat": 50.077377,
                            "routeIdx": 16,
                            "prognosisType": "CALCULATED",
                            "time": "14:28:00",
                            "date": "2018-05-30",
                            "rtTime": "14:28:00",
                            "rtDate": "2018-05-30",
                            "rtAlighting": true
                        },
                        "Notes": {
                            "Note": [
                                {
                                    "value": "310",
                                    "key": "FD",
                                    "type": "I",
                                    "routeIdxFrom": 15,
                                    "routeIdxTo": 16
                                }
                            ]
                        },
                        "JourneyDetailRef": {
                            "ref": "1|115856|0|80|30052018"
                        },
                        "Messages": {
                            "Message": [
                                {
                                    "id": "2108741-0",
                                    "act": true,
                                    "head": "Wiesbaden-Dotzheim: Busse 18, 23, N12 - Umleitung und Haltestellen entfallen",
                                    "lead": "Die Busse fahren eine Umleitung und es entfallen Haltestellen. Grund für die Änderungen ist die Freudenberger Kerb.",
                                    "text": "Die Busse fahren eine Umleitung und es kommt zu Änderungen bei Haltestellen.<br />Bei der Linie 18 ist folgendes zu beachten:<br /><ul><li>Es entfallen die Haltestellen &quot;Nelkenweg&quot; und &quot;Kornblumenweg&quot; in Fahrtrichtung Schierstein. Als Ersatz dient die Haltestelle &quot;Veilchenweg&quot; in der Schönaustraße.</li><li>Zudem entfällt die Haltestelle &quot;Bert-Brecht-Straße&quot; in Fahrtrichtung Schierstein. Als Ersatz dienen die Haltestellen &quot;Eichendorff-Schule&quot; und &quot;Heinrich-Zille-Straße&quot;.</li></ul>Bei den Linien 23 und N12 ist folgendes zu beachten:<br /><ul><li>Es entfällt die Haltestelle &quot;Nelkenweg&quot;. Es ist eine Ersatzhaltestelle eingerichtet, im Veilchenweg gegenüber Haus Nummer 9.</li></ul>Grund für die Änderungen ist die Freudenberger Kerb.<br />",
                                    "company": "RMVU",
                                    "category": "0",
                                    "priority": 100,
                                    "products": 65535,
                                    "sTime": "13:34:00",
                                    "sDate": "2018-05-29",
                                    "eTime": "15:00:00",
                                    "eDate": "2018-06-05",
                                    "altStart": "",
                                    "altEnd": ""
                                }
                            ]
                        },
                        "JourneyStatus": "P",
                        "Product": {
                            "name": "Bus 18  ",
                            "num": "2655",
                            "line": "18",
                            "catOut": "Bus     ",
                            "catIn": "BB1",
                            "catCode": "6",
                            "catOutS": "BB1",
                            "catOutL": "Niederflurbus",
                            "operatorCode": "ESW",
                            "operator": "ESWE Verkehrsgesellschaft mbH",
                            "admin": "ESWELB"
                        },
                        "idx": "0",
                        "name": "Bus 18  ",
                        "number": "2655",
                        "category": "BB1",
                        "type": "JNY",
                        "reachable": true,
                        "direction": "Wiesbaden-Schierstein Hafen"
                    }
                ]
            },

....
},

Path: Abfahrten einer Haltestelle suchen

/arrivalBoard?id=00302527

!ID muss bei Strecke gespeichert werden!