Lunar - Funktionen
Hauptartikel:
Lunar (myJACK REST)
Â
Â
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.
Â