Navigation

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search

    Buchungen in den Resourcen steuert unsere Heizung (API/KNX/EIB)

    ChurchTools Schnittstellen
    7
    13
    788
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • aschild
      aschild last edited by

      @Achim-Fuchs Hallo Achim, ich versuche gerade via "altem" API alle Buchungen für einen bestimmten Zeitraum zu ermitteln.

      Im Calender Modul geht das mit getCalendarEvents(from/to in Anzahl Tagen relativ zu heute).
      https://api.church.tools/class-CTChurchCalModule.html#_getCalendarEvents

      Im Resourcenmodul helfen die from/to Parameter nicht, es kommen immer alle Buchungen zurück...
      https://api.church.tools/class-CTChurchResourceModule.html#_getBookings

      Im Code sehe ich, dass allfällige Parameter nicht an die Methode weitergegeben werden...

      class CTChurchResourceModule extends CTAbstractModule {
      
        public function getBookings($params) {
          return getBookings();
        }
        .....
      }
      

      https://api.church.tools/function-getBookings.html hätte die Parameter, aber eben...
      Hast du mir da einen Tipp?

      Achim Fuchs 1 Reply Last reply Reply Quote 0
      • Achim Fuchs
        Achim Fuchs @aschild last edited by

        @aschild Hallo Aschild, über "https://xyz.church.tools/?q=churchresource/ajax&func=getBookings" bekommst du immer alle Buchungen. In meinem Programm lese ich alle diese ein und fülle und filtere diese dann. Die dokumentierten Parameter stehen noch auf "TODO" (https://api.church.tools/function-getBookings.html).
        Aber alleine diese Liste ist nicht aussagekräftig.
        Je nach Wiederholungsart (repeat_id), ausgeschlossenen Terminen (exceptions) bzw. eingeschlossene Termine (additions) mit den jeweiligen Wiederholungen bestimmen dann deinen Buchungstermin.
        Die repeat_id Zuornung erhälst du über die "....?q=churchresource/ajax&func=getMasterData".

        Ich hoffe ich konnte dir weiterhelfen.
        Grüße
        Achim

        U 1 Reply Last reply Reply Quote 0
        • aschild
          aschild last edited by

          @Achim-Fuchs Danke für die Erklärungen.
          Ja, das hatte ich befürchtet.

          Hast allenfalls php code den du mir zusenden könntest? (Oder wenn es eine andere Sprache ist, dann wäre der Teil zum Auflösen der Wiederholungen + Ausnahmen interessant)
          Ich würde ihn dann in diese Projekte hier integrieren und veröffentlichen.

          https://github.com/vineyardkoeln/churchtools-api und https://github.com/a-schild/churchtools-pdfcalendar

          1 Reply Last reply Reply Quote 0
          • U
            uschau @Achim Fuchs last edited by

            @achim-fuchs
            Hallo Achim,
            Du schreibst, dass man je nach Wiederholungsart, ausgeschlossenen Terminen etc. die Buchungstermine bestimmen kann.
            Gibt es dafür eine Funktion, die man nutzen kann oder muss man sich das selbst herleiten, wie das geht? Ich bin ziemlich irritiert, wie ich die Daten zu interpretieren habe und total verloren, wie ich die Buchungstermine für heute und morgen finde, wenn es von Serienterminen mit Exceptions in unserem Kalender nur so wimmelt.
            Kannst Du mir da mit irgendeiner Vorlage helfen, wie man das programmieren kann (idealerweise in Python ;-). Vielen Dank im Voraus,
            Viele Grüße
            Uwe

            davidschilling Achim Fuchs 2 Replies Last reply Reply Quote 0
            • davidschilling
              davidschilling ChurchToolsMitarbeiter @uschau last edited by

              @uschau Es gibt mittlerweile eine neue Api für Buchungen die schon alle Serientermine ausgerechnet zurück liefert. (/api/bookings) Details findest du in der Api Dokumentation unter /api.

              Damit sollte das deutlich einfacher gehen.

              U 1 Reply Last reply Reply Quote 0
              • Achim Fuchs
                Achim Fuchs @uschau last edited by

                @uschau Von der Grundfunktion basiert meine Programmierung auf die alte API. Hier habe ich die Termine, die ausgeschossen wurden, dann wieder entfernt. Wie genau ich das mache, muss ich erst im Code nachsehen. Wenn du hier diese Info brauchst, dann melde dich nochmal. Andernfalls verwende doch die neue API :-).

                1 Reply Last reply Reply Quote 0
                • U
                  uschau @davidschilling last edited by

                  @davidschilling
                  Hallo David, Danke für Deine schnelle Reaktion. Ich bin leider etwas verwirrt, weil ich dachte, ich nutze schon die neue API.
                  Mein Aufruf sieht wie folgt aus:
                  efg-blabla.church.tools/?q=churchresource/ajax&func=getBookings&login_token=Rb1....K5I&from=0&to=1&resource_id=3&status_id_in="0,2"
                  Bin ich damit noch auf dem alten Strang unterwegs?
                  Wie komme ich auf die neuen API's? Gibt es da eine andere URL, die man aufrufen kann?
                  Sorry, wenn die Rückfrage etwas blöd klingt, aber ich starte gerade erst mit dem Thema.
                  VG
                  Uwe

                  jziegeler 1 Reply Last reply Reply Quote 0
                  • jziegeler
                    jziegeler ChurchToolsMitarbeiter @uschau last edited by

                    @uschau ja, das ist die alte API.

                    die Dokumentation für die neue REST-API findest du unter https://meineGemeinde.church.tools/api

                    U 1 Reply Last reply Reply Quote 0
                    • U
                      uschau @jziegeler last edited by uschau

                      @jziegeler Vielen Dank! Der Hinweis hat schon mal geholfen.
                      Ich bekomme nun die Wiederholungstermine unter "calculated" ausgewiesen.
                      Allerdings glaube ich, werden Ausnahmen nicht korrekt berücksichtigt.
                      Auf der Weboberfläche erscheint für den heutigen Tag keine Reservierung, da ich die Serie für den heutigen Abend unterbrochen habe, aber in der API-Antwort tauchen gleich 2 Einträge zum heutigen Datum auf. Ist das ein Fehler oder muss ich da etwas besonderes beachten?
                      Wenn es hilft, kann ich auch gerne den Effekt direkt in unserer Instanz demonstrieren. Anbei ein paar Screenshots, das JSON-Ergebnis könnte ich noch per email nachsenden, falls gewünscht.
                      Bildschirmfoto 2022-06-22 um 22.36.26.png
                      Bildschirmfoto 2022-06-22 um 22.51.13.png
                      Bildschirmfoto 2022-06-22 um 22.47.46.png
                      Bildschirmfoto 2022-06-22 um 22.57.52.png
                      Bildschirmfoto 2022-06-22 um 22.58.26.png

                      davidschilling 1 Reply Last reply Reply Quote 0
                      • davidschilling
                        davidschilling ChurchToolsMitarbeiter @uschau last edited by

                        @uschau wenn du denkst hier liegt ein Bug vor, dann melde dich bitte bei support@churchtools.de und wir schauen uns das an. Wenn das wirklich ein Bug ist wird der gefixt. Am besten schreibst du uns gleich dass wir Zugriff auf die DB bekommen, dann können wir uns das gleich bei euch anschauen.

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post