Lunar - Funktionen

Hauptartikel:

 

 

In den nachfolgenden Absätzen werden die Funktionalitäten der API aufgeführt. Die Detailinformationen zu den einzelnen Feldtypen und den möglichen Feldwerten können der Dokumentation im GraphiQL Editor entnommen werden.

Abschnitte, die mit "Mutation" markiert sind, erlauben schreibenden Zugriff auf die API.
Die mit "Query" markierten Einträge erlauben einen lesenden Zugriff.

Die Anzahl der Datensätze, die mit einer lesenden Query als Ergebnisliste ausgegeben werden können, beschränken sich derzeit auf 10. Somit ist es erforderlich ein Paging einzubauen, um sich durch die Datensätze durchzublättern. 

 

Kunde (Mutation)

Kunde ändern
Kunde anlegen
Kunde laden mit ID
Kunde Optin Daten ändern
Kommunikationsdaten anlegen
Kommunikationsdaten aktualisieren
Kommunikationsdaten entfernen
Kundennotiz anlegen,
Kundennotiz aktualisieren
Kundennotiz entfernen
Kundenmerkmale anlegen
Kundenmerkmale entfernen

Vorgang (Mutation)

Vorgang ändern
Vorgang anlegen
Vorgang laden über ID
Leistung zu Vorgang hinzufügen
Kundenzahlung durchführen
Reiseteilnehmer anlegen
Reiseteilnehmer aktualisieren
Reiseteilnehmer entfernen
Preiszeile anlegen
Preiszeile aktualisieren
Preiszeile entfernen
Leistungsdetail Hotel anlegen
Leistungsdetail Hotel aktualisieren
Leistungsdetail Hotel entfernen
Leistungsdetail Flug anlegen

Flugsegment anlegen
Flugsegment aktualisieren
Flugsegment entfernen
Flugticket anlegen
Flugticket aktualisieren
Flugticket entfernen

Leistungsdetail Mietwagen anlegen
Leistungsdetail Mietwagen aktualisieren
Leistungsdetail Mietwagen entfernen
Leistungsdetail Bahn anlegen
Leistungsdetail Bahn aktualisieren
Leistungsdetail Bahn entfernen
Leistungsdetail Bus anlegen
Leistungsdetail Bus aktualisieren
Leistungsdetail Bus entfernen
Leistungsdetail Versicherung anlegen
Leistungsdetail Versicherung aktualisieren
Leistungsdetail Versicherung entfernen
Leistungsdetail Schiff anlegen

Route anlegen
Passdaten anlegen
Kfz anlegen

Leistungsdetail Schiff aktualisieren
Leistungsdetail Schiff entfernen

Leistungsdetail Golf anlegen

Golfplatz anlegen
Spielzeiten anlegen

Leistungsdetail Golf aktualisieren
Leistungsdetail Golf entfernen

Leistungsdetail Freier Text anlegen
Leistungsdetail Freier Text aktualisieren
Leistungsdetail Freier Text entfernen
Leistungsdetail Online Text anlegen
Leistungsdetail Online Text aktualisieren
Leistungsdetail Online Text entfernen

Kunde suchen (Query)

Suchen und Iterieren über Kunden
Kunde anhand der myJACK Agenturnummer suchen
Kunde anhand des Erstelldatums von suchen
Kunde anhand des Erstelldatums bis suchen
Kunde anhand der Kundennummer suchen
Kunde anhand der Kundenart suchen
Kunde anhand des Vornamens suchen
Kunde anhand des Nachnamens suchen
Kunde anhand des Änderungsdatums von suchen
Kunde anhand des Änderungsdatums bis suchen
Kunde anhand der E-Mailadresse suchen
Kunde anhand der Telefonnummer suchen
Kunde anhand des Ortes suchen
Kunde anhand der Straße suchen
Kunde anhand der Postleitzahl suchen
Kunde anhand der ID suchen

Die ID des Kunden ist eine datenbankinterne vergebene ID des Datensatzes und entspricht somit nicht der myJACK Kundennummer. Diese ist für den Anwender in myJACK nicht ersichtlich. Dennoch können über diese ID Kunden selektiert werden.

Vorgang suchen (Query)

Suchen und Iterieren über Vorgänge

Vorgang anhand der ID suchen

Die ID des Vorgangs ist eine datenbankinterne vergebene ID des Datensatzes und ist für den Anwender in myJACK nicht ersichtlich. Dennoch können über diese ID Vorgänge selektiert werden

Vorgang anhand der Vorgangsnummer suchen
Vorgänge anhand der myJACK Agenturnummer suchen
Vorgang anhand eines Kunden suchen
Vorgang anhand eines Vorgangsverantwortlichen suchen
Vorgang anhand einer Rechnungsadresse suchen
Vorgang anhand des Buchungsdatums von suchen
Vorgang anhand des Buchungsdatums bis suchen
Vorgang anhand eines Provisionsempfängers suchen
Vorgang anhand einer Lieferadresse suchen
Vorgang anhand eines Zielorts suchen
Vorgang anhand des Abreisedatums suchen
Vorgang anhand des Rückreisedatums suchen
Vorgang anhand des Vorgangsstatus suchen
Vorgang anhand der Vorgangsart suchen

Die zu selektierenden Vorgangsarten umfassen alle Vorgangsarten, die es in myJACK gibt. Diese sind: Inbox, Auftrag, Gelöscht, Angebot, Altvorgang, Unterbuchung

Vorgang anhand des Änderungsdatums von suchen
Vorgang anhand des Änderungsdatums bis suchen
Vorgang anhand der Beförderungsart suchen
Vorgang anhand des Webcodes suchen

myJACK Benutzer suchen (Query)

myJACK Benutzer anhand des Logins suchen
myJACK benutzer anhand des Nachnamens suchen

myJACK Agenturstammdaten suchen (Query)

myJACK Agenturstammdaten anhand der Agenturnummer suchen
myJACK Agenturstammdaten anhand des Webcodes suchen

Leistung suchen (Query)

Leistung anhand der ID suchen

 

Leistungsdetail suchen (Query)

Leistungsdetail Bus anhand der ID suchen
Leistungsdetail Flug anhand der ID suchen
Leistungsdetail Freier Text anhand der ID suchen
Leistungsdetail Golf anhand der ID suchen
Leistungsdetail Hotel anhand der ID suchen
Leistungsdetail Online Text anhand der ID suchen
Leistungsdetail Versicherung anhand der ID suchen
Leistungsdetail Bahn anhand der ID suchen
Leistungsdetail Mietwagen anhand der ID suchen
Leistungsdetail Schiff anhand der ID suchen

 

Kunde (Mutation)

In diesem Abschnitt finden Sie alle Funktionen, die mit der Bearbeitung einer Kundenakte zusammenhängen. 

Kunde ändern

Request

mutation { update_customer(customer: 39581xxx, proposal: {first_name: "Paul", last_name: "Panzer", owner: "kralli", birthday: "1980-04-23"}) { customer { id first_name last_name } report { error { key property } warning { key property } info { key property } } } }

Response

{ "data": { "update_customer": { "customer": { "id": 39581xxx, "first_name": "Paul", "last_name": "Panzer" }, "report": { "error": null, "warning": null, "info": null } } } }

 

 

Kunde anlegen

Request

mutation { create_customer(agency: 998, proposal: { first_name: "Frank" last_name:"Mustermann" owner: "kralli" birthday: "1980-04-23" }) { customer { id } report { error { key property } warning { key property } info { key property } } } }

Response

 

Kunde laden mit ID

Request

 

Response



Kunde Optin Daten ändern

In der Kundenakte haben Sie mehrere Felder zur Festlegung der Marketing Optionen. Diese Felder finden Sie an dieser Stelle:

Mit der unten aufgeführten Abfrage können Sie diese Daten abändern. 

Request

mutation {
 update_marketing_interest(customer:4711, proposal:{
   email:YES,
   fax:NO,
   letter:UNKNOWN,
   messenger:NO,
   sms:NO,
   telephone:YES
 })

 {
   report{
     error {
       message       
     }

      info {
       message
     }

      warning {
       message
     }
   }

   marketing_interest {
   email {
     changed_timestamp
     value
   }

   fax {
     changed_timestamp
     value
   }

     letter {
       changed_timestamp
       value
     }

     messenger {
       changed_timestamp
       value
     }

     sms {
       changed_timestamp
       value
     }

     telephone {
       changed_timestamp
       value
     }
   }
 }
}

 

Response

{
 "data": {
   "update_marketing_interest": {
     "report": {
       "error": null,
       "info": null,
       "warning": null
     },

     "marketing_interest": {
       "email": {
         "changed_timestamp": "2021-04-21T11:03:03.594+02:00",
         "value": "YES"
       },

       "fax": {
         "changed_timestamp": "2021-04-21T11:03:03.6+02:00",
         "value": "NO"
       },

       "letter": {
         "changed_timestamp": "2021-04-21T11:03:03.6+02:00",
         "value": "UNKNOWN"
       },

       "messenger": {
         "changed_timestamp": "2021-04-21T11:03:03.6+02:00",
         "value": "NO"
       },

       "sms": {
         "changed_timestamp": "2021-04-21T11:03:03.6+02:00",
         "value": "NO"
       },

       "telephone": {
         "changed_timestamp": "2021-04-21T11:03:03.6+02:00",
         "value": "YES"
       }
     }
   }
 }
}

 

 

Vorgang (Mutation)

Dieser Abschnitt beschäftigt sich mit den Funktionen zur Bearbeitung eines Vorgangs. 

Vorgang ändern

Request

mutation {
  update_folder(folder: 34529xxx, proposal:
    {start_date: "2018-01-01",
    end_date: "2018-02-01", destination: "PMI"}) {
    folder {
      id
      type
      start_date
      end_date
      destination
    }
    report {
      error {
        key
        property
      }
      warning {
        key
        property
      }
      info {
        key
        property
      }
    }
  }
}

Response

{
  "data": {
    "update_folder": {
      "folder": {
        "id": 34529xxx,
        "type": "OFFER",
        "start_date": "2018-01-01",
        "end_date": "2018-02-01",
        "destination": "PMI"
      },
      "report": {
        "error": null,
        "warning": null,
        "info": [
          {
            "key": "recommended",
            "property": "description"
          }
        ]
      }
    }
  }
}



Vorgang anlegen

Request

mutation {
    create_folder(agency: 998, proposal: {
     type: OFFER
     start_date: "2018-01-01"
     end_date: "2018-02-01"
     delivery_address:38981463
   }) {
   folder {
     id
   }
   report {
     error {
       key
       property
     }
     warning {
       key
       property
     }
     info {
       key
       property
     }
   }
}
}

Response

{
  "data": {
    "create_folder": {
      "folder": {
        "id": 34529xxx
      },
      "report": {
        "error": null,
        "warning": null,
        "info": [
          {
            "key": "recommended",
            "property": "description"
          }
        ]
      }
    }
  }
}



Vorgang laden über ID

Request

{
  folder(id: 34212xxx) {
    id
    web_code
    web_code_active
    web_code_global
    time_of_last_update
    creation_date
    created_by {
      id
      expedient
      first_name
      last_name
    }
    agency {
      id
      name
    }
    billing_address {
      id
      first_name
      last_name
      place
      zip_code
      country
    }
    customer {
      id
      first_name
      last_name
      place
      zip_code
      country
    }
    state
    start_date
    end_date
    type
    type_of_product
    destination
    transport
    description
    reservations {
      id
      type
      number
      booking_date
      booking_state
      start_date
      end_date
      tour_operator
      travel_type
      crs_booking
      pax_count
      target_airport
      total_price {
        amount
        currency
      }
      price_lines {
        id
        description
        total_amount
        vat_rate
      }
      details {
        ... on DetailMetadata {
          id
          type
        }
        ... on FlightDetail {
          id
          flight_segments {
            departure_airport
            arrival_airport
            departure_time
            arrival_time
            carrier
            file_key
            booking_class
            flight_number
            status
          }
        }
        ... on HotelDetail {
          id
          hotel {
            id
            name
            address_addition
            code
            giata_id
            longitude
            longitude
          }
        }
        ... on InsuranceDetail {
          id
          insurance {
            policy_number
            start_date
            end_date
            tariff_description
          }
        }
      }
    }
    travellers {
      id
      first_name
      last_name
      price {
        amount
        currency
      }
    }
    memos {
      id
      creation_date
      editor {
        id
        last_name
        first_name
      }
      text
      main_memo
    }
  }
}

 

 

Response

{
  "data": {
    "folder": {
      "id": 34212xxx,
      "web_code": "SLTCVJMJ",
      "web_code_active": true,
      "web_code_global": false,
      "time_of_last_update": "2018-04-12T14:27:31.372+02:00",
      "creation_date": "2018-03-07T11:43:06.643+01:00",
      "created_by": {
        "id": 107851,
        "expedient": null,
        "first_name": "Ernst",
        "last_name": "Test"
      },
      "agency": {
        "id": 998,
        "name": "Reisebüro Mustermann GmbH"
      },
      "billing_address": null,
      "customer": {
        "id": 38776504,
        "first_name": "Paul",
        "last_name": "Panzer",
        "place": "Musterhausen",
        "zip_code": "3150",
        "country": "DE"
      },
      "state": "BOOKED",
      "start_date": "2018-05-16",
      "end_date": "2018-05-23",
      "type": "ORDER",
      "type_of_product": "01",
      "destination": "AYT",
      "transport": "10",
      "description": "Pauschalreise Antalya / Türkei / Paloma Oceana Resort / Kumköy",
      "reservations": [
        {
          "id": 41210xxx,
          "type": "PACKAGE",
          "number": "698751201",
          "booking_date": "2018-03-07",
          "booking_state": "CANCEL_DONE",
          "start_date": "2018-05-16",
          "end_date": "2018-05-23",
          "tour_operator": "TOC",
          "travel_type": null,
          "crs_booking": true,
          "pax_count": 2,
          "target_airport": "AYT",
          "total_price": {
            "amount": 0,
            "currency": "EUR"
          },
          "price_lines": [
            {
              "id": 48325xxx,
              "description": "Pauschalpreis",
              "total_amount": 0,
              "vat_rate": 0
            }
          ],
          "details": [
            {
              "id": 60567xxx,
              "type": "FLIGHT",
              "flight_segments": [
                {
                  "departure_airport": "VIE",
                  "arrival_airport": "AYT",
                  "departure_time": "2018-05-16T13:55:00",
                  "arrival_time": "2018-05-16T17:35:00",
                  "carrier": "XQ",
                  "file_key": null,
                  "booking_class": "I",
                  "flight_number": "0191",
                  "status": null
                },
                {
                  "departure_airport": "AYT",
                  "arrival_airport": "VIE",
                  "departure_time": "2018-05-23T11:05:00",
                  "arrival_time": "2018-05-23T13:05:00",
                  "carrier": "XQ",
                  "file_key": null,
                  "booking_class": "I",
                  "flight_number": "0190",
                  "status": null
                }
              ]
            },
            {
              "id": 60567xxx,
              "type": "HOTEL",
              "hotel": {
                "id": 32971xxx,
                "name": "Paloma Oceana Resort",
                "address_addition": null,
                "code": "AYT 40860 A",
                "giata_id": 4914,
                "longitude": 31.3616
              }
            },
            {
              "id": 60885016,
              "type": "INSURANCE",
              "insurance": {
                "policy_number": "5534623",
                "start_date": "2018-05-16",
                "end_date": "2018-05-17",
                "tariff_description": null
              }
            }
          ]
        }
      ],
      "travellers": [
        {
          "id": 46045xxx,
          "first_name": "Paul",
          "last_name": "Panzer",
          "price": {
            "amount": 796,
            "currency": "EUR"
          }
        },
        {
          "id": 46045xxx,
          "first_name": "Martine",
          "last_name": "Panzer",
          "price": {
            "amount": 796,
            "currency": "EUR"
          }
        }
      ],
      "memos": []
    }
  }
}

 

 

Leistung zu Vorgang hinzufügen

Request

mutation {
  add_reservations(folder: 34529xxx, proposals:
    {type: PACKAGE, tour_operator: "NER",
      travel_type: "NAH", crs_booking: true,
      start_date: "2018-01-01", end_date: "2018-01-07",
      number: "32523xxx"}) {
    reservation {
      id
      type
      tour_operator
      travel_type
      number
      start_date
      end_date

    }
    report {
      error {
        key
        property
      }
      warning {
        key
        property
      }
      info {
        key
        property
      }
    }
  }
}

Response

{
  "data": {
    "add_reservations": [
      {
        "reservation": {
          "id": 41808xxx,
          "type": "PACKAGE",
          "tour_operator": "NER",
          "travel_type": "NAH",
          "number": "32523xxx",
          "start_date": "2018-01-01",
          "end_date": "2018-01-07"
        },
        "report": {
          "error": null,
          "warning": null,
          "info": null
        }
      }
    ]
  }
}

 

 

Suche (Query)

Über die unterschiedlichen Selektionsmöglichkeiten der Vorgänge können sämtliche Daten, die zu einem Vorgang gehören, ebenfalls ausgegeben werden. Diese sind:

  • Vorgangskopfdaten

  • Kundendaten

  • Termine

  • Dokumente

  • Notizen

  • Kundenzahlungen

  • Leistungsdaten sowie Leistungsdetails

  • Benutzerdaten wie z. B. den Erfasser oder den Verantwortlichen

 

Suche und Iterieren über Kunde

Über die Query search_customer können Sie mit den Suchparametern agency und last_modified_from die zuletzt geänderten Kunden einer Agentur selektieren und darüber iterieren. 
Darüber hinaus ist es auch möglich, mit Hilfe des Operators [%] eine Wildcardsuche z. B. auf last_name zu starten, z.B. 
last_name: "T%"

Weitere Wildcards sind über first_name, street, zipc_code, place, phone und mail möglich.

 

Request

 

Response

 

 

Zum Iterieren auf die nächsten Ergebnisseiten wird der Parameter "after" unter Angabe des last_cursor verwendet. Der last_cursor steht in der Page-Info. Das Element has_next_page gibt an, ob weitere Ergebnisseiten abgefragt werden können.

 

Suchen und Iterieren über Vorgänge

Request

Response

 

 

Zum Iterieren auf die nächsten Ergebnisseiten wird der Parameter "after" unter Angabe des last_cursor verwendet. Der last_cursor steht in der Page-Info. Das Element has_next_page gibt an, ob weitere Ergebnisseiten abgefragt werden können.

Â