Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fehler bei Prüfung #4

Open
Kolbi opened this issue Mar 4, 2021 · 14 comments
Open

Fehler bei Prüfung #4

Kolbi opened this issue Mar 4, 2021 · 14 comments
Labels
investigation more information is needed wontfix This will not be worked on

Comments

@Kolbi
Copy link
Contributor

Kolbi commented Mar 4, 2021

Die aktuelle Version zeigt mir verfügbare Termine an, obwohl keine Verfügbar sind.

@Kolbi
Copy link
Contributor Author

Kolbi commented Mar 4, 2021

Okay Fehler gefunden:
https://005-iz.impfterminservice.de/rest/suche/termincheck?plz=[PLZ]&leistungsmerkmale=L920
{"termineVorhanden":false}
https://005-iz.impfterminservice.de/rest/suche/termincheck?plz=[PLZ]&leistungsmerkmale=L921
{"termineVorhanden":false}
https://005-iz.impfterminservice.de/rest/suche/termincheck?plz=[PLZ]&leistungsmerkmale=L922
=> {"termineVorhanden":true}

Aber die Prüfung mit dem zugeschickten Link per E-Mail ergibt keine freien Termine... hast du eine Idee warum?

@not-a-feature
Copy link
Owner

Liegt daran, dass die die Impfstoffe nach Alter vergeben werden.
Im JS der Seite impfterminservice.de ist zu finden:

e.prototype.qualificationsForAge = function (e) {
        var t = null;
        return e >= 65 && (t = 'Moderna'),
        e >= 18 && e < 65 && (t = 'AstraZeneca'),
        e >= 16 && e < 18 && (t = 'BioNTech'),
        t ? this.vaccineList.filter((function (e) {
          return - 1 !== e.name.indexOf(t)
        })).map((function (e) {
          return e.qualification
        })) : null
      },

==> 16-17 BioNTech, 18-64 AstraZenenca, 65+ Moderna (Bzw Moderna und BioNTech)

Genau dafür gibt es die "Advaced Settings":

const VACCINES = [{"name": "BioNTech",    "ID": "L920", "allowed": true},
                  {"name": "Moderna",     "ID": "L921", "allowed": true},
                  {"name": "AstraZeneca", "ID": "L922", "allowed": true}]

Hier kannst du die Einzelnen Impfstoffe auf false setzten falls dieser Status nicht überprüft werden soll.

@Kolbi
Copy link
Contributor Author

Kolbi commented Mar 4, 2021

Danke für die Erklärung, ich frage mich aber wieso ich keinen Termin angezeigt bekommen habe, obwohl mein Impfstoff auf true war laut API.... muss wohl doch buggy sein deren System.

Edit: Biontech nur 16-18? Macht das Sinn oder auch Bug auf deren Seite?

@not-a-feature
Copy link
Owner

Ok das ist Komisch. Die Vermittlungscodes werden aber auch sehr schnell vergeben.

Edit: Biontech nur 16-18? Macht das Sinn oder auch Bug auf deren Seite?

Ne, das ist kein Bug. Moderna ist erst ab 18 zugelassen, BioNTech ab 16 und das Leistungsmerkmal L921 (Moderna) schließt L920 (BioNTech) auch ein.

@Kolbi
Copy link
Contributor Author

Kolbi commented Mar 4, 2021

Komisch, laut API sind nämlich sehr oft Termine frei, aber via Webseite nicht... Auch wenn ich "gleichzeitig" beides ausführe...

Die Frage ist, was zeigt die API an, wenn Termine frei sind, aber von anderen bereits zeitlich reserviert sind? True oder False?

@not-a-feature
Copy link
Owner

Sicher dass die selbe PLZ ausgewählt ist? Ich kann das nämlich nicht reproduzieren.

Außerdem muss zwischen freien Vermittlungscodes und freien Terminen unterschieden werden.

@not-a-feature not-a-feature added the investigation more information is needed label Mar 4, 2021
@Kolbi
Copy link
Contributor Author

Kolbi commented Mar 4, 2021

PLZ war korrekt ja.

Kannst du mir den Unterschied erklären?

Die URL gibt was genau aus?

Edit: Hatten nun auch schon zwei mal einen Termin für 10min "reserviert" aber beim Buchen steht dann nicht mehr zu Verfügung.

Edit2: Vermittlungscodes haben wir zwei pro Person einen.

@not-a-feature
Copy link
Owner

Es gibt zwei, teilweise gekoppelte, Systeme:
Allgemein: Vermittlungscodes werden gebraucht um Termine buchen zu können.

Vermittlungscodes
Desc Hat es im lokalen Impfzentrum Vermittlungscodes frei?
Rem Loadbalancer Cookie (LT=ca. 100 req)
URL /termincheck
Req ?plz= + PLZ + &leistungsmerkmale= + LID,LID
Resp {"termineVorhanden":false}
EResp {"error":"Postleitzahl ungueltig"}
Termine
Desc Hat es im lokalen Impfzentrum Termine für den Vermittlungscode frei?
Rem Benötigt Cookies durch vorherige Request mit VCode. Antwort an Zentrum und Impfstoff des VCodes gebunden. Response reserviert 2x5 Termine
URL /terminpaare
Req ?plz= + PLZ
Resp see below
EResp 401 Unauthorized

Resp

{
    "gesuchteLeistungsmerkmale": [
        "LID",
        "LID2"
    ],
    "terminpaare": [
        [...],
        [...],
        ...
    ],
    "praxen": {
        "ID-INT": {...},
        "ID-INT": {...},
    }
}

Achtung

Da die Resquest der Terminverfügbarkeit gleich 10 Termine (für 10 Minuten) reserviert, ist es fahrlässig diese Request zu machen. Dies würde tatsächlich die Impfterminvergabe unnötig verzögern, besonders wenn ein Crawler/Widget genutzt wird der alle n Minuten diese Request macht

@Flohlaus
Copy link

Flohlaus commented Mar 8, 2021

Selbes Verhalten hier. Widget sagt AstraZeneca und Moderna verfügbar, Website sagt: "Derzeit stehen leider keine freien Termine zur Verfügung."
Tag und Nacht.
(Vermittlungscode mit Alter 34)

@not-a-feature
Copy link
Owner

Hi,

Danke für das Feedback!

ich lasse zurzeit ein System laufen welches alle paar Sekunden den Status überprüft. (Mittel der API (verschiedene loadbalancer) und mittels Virtuellem Browser)
Ich melde mich in einem / zwei Tagen wieder.

Bis jetzt scheint es so zu sein, dass die Vermittlungscodes i.d.R nur wenige Minuten online sind und die refresh Rate des Widgets zu niedrig ist. Leider kann die Refreh Rate nicht eingestellt werden.

@Flohlaus
Copy link

Flohlaus commented Mar 9, 2021

Ist es ein Problem, einen Vermittlungscode zu bekommen? Ich dachte den bekommt jeder der sich zur Prioritätsgruppe zählt?
Aber Terminfenster habe ich bisher noch keines gesehen (seit ca. 1 Woche, mehrmals täglich).

@not-a-feature
Copy link
Owner

Der unterschied zwischen Terminen und Vermittlungscodes wurde oben beschrieben. Dieses Widget ist nur für letzteres und hat nichts mit der Terminvergabe zu tun

@Flohlaus
Copy link

Flohlaus commented Mar 9, 2021

Aber in welchem Fall werden denn Vermittlungscodes limitiert?
Das Widget sagt "Freie Termine", müsste dann aber sagen "Freie Vermittlungscodes".

@not-a-feature not-a-feature added the wontfix This will not be worked on label Mar 11, 2021
@not-a-feature
Copy link
Owner

Wontfix due to EOL of project

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
investigation more information is needed wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

3 participants