Skip to main content

Leon MCP Server — Tools Reference

add-or-update-checklist-items

Adds new checklist items or updates existing ones on a single flight. Supports batch operations for multiple items.

WHEN TO USE:

  • User asks to "add OPS checklist items to flight"
  • Need to update status of existing checklist items
  • Adding multiple checklist items with notes to a flight
  • Setting checklist status to 'completed' after task completion

IMPORTANT:

  • You MUST first call get-available-checklist-definitions to get valid cdNid values
  • If item exists on flight: it will be UPDATED
  • If item doesn't exist: it will be CREATED with default status "QSM" (unless specified)
  • Supports batch operations (multiple items in single request)
  • All items MUST be for the SAME flight

INPUT REQUIREMENTS:

  • flightNid MUST be a valid flight identifier
  • items array MUST contain at least one item
  • Each item MUST have:
    • cdNid: From get-available-checklist-definitions
  • Each item MAY have:
    • checklistStatusId: From statuses array in get-available-checklist-definitions
    • note: Custom comment/note text

BEHAVIOR: IF item with cdNid does NOT exist on flight: → Creates NEW item → Uses provided checklistStatusId OR defaults to "QSM"

IF item with cdNid ALREADY exists on flight: → Updates EXISTING item → Updates checklistStatusId and/or note if provided

RETURNED DATA: Success message confirming the number of checklist items added or updated on the flight.

USE CASES:

  • "Add fuel planning checklist to flight 12345"
  • "Update checklist item status to completed"
  • "Add multiple OPS items to flight with notes"
  • "Mark pre-flight checks as done for flight 67890"

WORKFLOW EXAMPLE:

  1. Call get-available-checklist-definitions to find cdNid for "Fuel planning"
  2. Call add-or-update-checklist-items with that cdNid and flightNid
  3. Item is added/updated on the flight

RELATED TOOLS:

  • Use "get-available-checklist-definitions" FIRST to get valid cdNid and checklistStatusId values
  • Use "search-flights" to find flightNids
  • Use "get-flights-by-flight-nids" for flight details
ParameterTypeRequiredDescription
flightNidintegeryes[REQUIRED] Flight numerical identifier. MUST be a valid flight in the Leon system.
itemsobject[]yes[REQUIRED] List of checklist items to add or update. At least one item must be provided. EXAMPLE: [{"cdNid": 789, "checklistStatusId": "QSM", "note": "Ready for departure"}]

add-passengers-to-flight

Assign existing contacts as passengers to a flight. You can optionally select travel documents (passport/national ID) per passenger; otherwise Leon will use default ones when applicable.

ParameterTypeRequiredDescription
flightNidnumberyesFlight NID (numeric identifier) to which passengers will be added.
passengersobject[]yesList of passengers with optional travel document selections.
leadPassengerunknownyesOptional: ContactNid of the lead passenger.

add-quote-to-quote-request

Creates a quote (quotation) from an existing Request for Quote (RFQ) itinerary using a specified aircraft.

OVERVIEW

Generates a new quote on an RFQ by copying the itinerary legs from the request and assigning the specified aircraft. Automatically creates pricing structure from aircraft's default price list (like UI does).

PREREQUISITE WORKFLOW:

  1. get-quote-requests-list or get-quote-requests-by-nid-list → find the RFQ to quote
  2. get-aircraft-by-registration or get-fleet → find operator's aircraft NID
  3. add-quote-to-quote-request → create quote with aircraft

BUSINESS LOGIC

  • Backend automatically copies all legs from RFQ itinerary (dates, airports, pax)
  • Optionally adds positioning flights if addPositioning: true
  • Automatically generates pricing structure from aircraft's default price list (PAX Block Fee, Fuel Block Fee, Handling, Landings, etc.)
  • Returns the created quote directly

WHEN TO USE

  • Quick quote creation from existing RFQ itinerary with automatic pricing
  • When you want default pricing from aircraft price list
  • When positioning flights should be calculated automatically
  • Simple one-step quote creation (copies itinerary + assigns aircraft + generates pricing)

RETURNED DATA

On success:

  • quoteRealizationNid: Created quote identifier
  • aircraft: Object with nid and registration
  • pricing: Object with price, currency, and pricing breakdown (if available)
  • status: Quote status
  • booked: Whether quote is booked
  • legsCreated: Number of legs in the quote
  • positioningAdded: Whether positioning was requested
  • message: Success confirmation

On error:

  • error: Error description
ParameterTypeRequiredDescription
quoteRequestNidintegeryesQuote Request NID - use get-quote-requests-list to find RFQ
aircraftintegeryesAircraft NID - use get-aircraft-by-registration or get-fleet to find operator aircraft
addPositioningbooleanyesWhether to automatically add positioning flights before/after the itinerary legs

add-tags-to-flight

Add existing tags to a flight in Leon aviation operations system.

BUSINESS LOGIC:

  • Adds specified tags to a flight WITHOUT removing existing tags
  • Automatically deduplicates if tag already exists on flight
  • Requires valid flight NID and at least one tag NID
  • All tag NIDs MUST reference existing tag definitions

RETURNED DATA: Returns an object containing:

  • flightNid: The flight identifier that was updated
  • flightTags: Array of ALL tags currently on the flight:
    • tagDefinitionNid: Tag identifier
    • label: Tag name
    • color: Hexadecimal color code (without # prefix)

RELATED TOOLS:

  • Use "search-flights" to find flights and get their flight NIDs
  • Use "get-modified-flight-nid-list" to get list of recently modified flight NIDs
  • Use "search-flight-tags-by-name" to find tag NIDs by tag name
  • Use "remove-tags-from-flight" to selectively remove specific tags
  • Use "clear-tags-from-flight" to remove all tags from a flight
  • Use "set-flight-tag-definition" to create new tag definitions

USE CASES:

  • Add VIP tag to flight: "Add VIP tag (NID: 123) to flight 48932349"
  • Add multiple tags: "Add Medical and Charter tags to flight"
  • Tag management: "Ensure flight has Emergency tag"

IMPORTANT NOTES:

  • This tool ADDS tags - it does not replace existing ones
ParameterTypeRequiredDescription
flightNidnumberyes[REQUIRED] Flight numerical identifier. The flight NID MUST be a valid existing flight identifier in Leon system. Example: 48932349
tagNidsnumber[]yes[REQUIRED] List of tag definition NIDs to ADD to the flight. Each tag NID MUST be a valid existing tag definition identifier. These tags will be ADDED to existing flight tags (not replacing them). Duplicate tags are automatically removed. Examples: - [123] - single tag - [123, 456, 789] - multiple tags To get available tags NIDs, use the "search-flight-tags-by-name" tool.

assign-crew-by-position-name

Assign crew members to flights using position names.

ParameterTypeRequiredDescription
crewRecordListobject[]yesList of crew assignments by position name

cancel-flight

Cancel flight.

BUSINESS LOGIC: This tool cancels single flight. Flights are never deleted in the Leon system, they can only be canceled. Once the flight has been canceled, the Journey Log data will be deleted.

INPUT PARAMETERS: ✓ flightNid: enter the flight identifier you want to cancel

RELATED TOOLS: ✓ To obtain flightNid, you can use "search-flights" tool to find flights by various criteria

RETURNED DATA: On success returns TRUE, on failure returns FALSE

ParameterTypeRequiredDescription
flightNidnumberyesFlight numerical identifier

check-is-airport-open-at-date-time

Determines whether an airport is available at specific UTC dateTime.

WHEN TO USE:

  • Use this tool when user provides or specifies a specific date/time or ask about particular moment - If no date/time is provided, use 'get-airport-opening-hours' tool instead
  • If no date/time is provided, use 'get-airport-opening-hours' tool instead

RETURNED DATA:

  • Airport basic info
  • openHours object with separate data for departures and arrivals:
    • [departure|arrival]OpenAt: Next or current opening time (ISO 8601) or null if closed
    • [departure|arrival]CloseAt: Corresponding closing time (ISO 8601) or null if closed
    • [departure|arrival]IsOpen24Hours: true if available 24/7

EXAMPLES:

  • Check at 12:20, response openAt="10:00", closeAt="18:00" → Airport is OPEN (current window: 10:00-18:00)
  • Check at 20:00, response openAt="next day 10:00", closeAt="next day 18:00" → Airport is CLOSED (next open window: tomorrow)
  • Check at 12:20 (windows: 6-8, 18-20), response openAt="18:00", closeAt="20:00" → Airport is CLOSED (next open window: today 18:00-20:00)

USE CASES:

  • "Is EPWA airport open at 2025-12-25T12:00:00?"
  • "Check if control tower at WAW is operating at 2025-12-25T03:00:00" (use TOWER hoursType)"
ParameterTypeRequiredDescription
codestringyesAirport code to check. Examples: "EPWA" for ICAO, "WAW" for IATA, "JFK" for FAA
codeTypeCUSTOM | FAA | IATA | ICAOyesType of airport code. Options: ICAO (international standard), IATA (airline codes), FAA (US codes), CUSTOM (custom codes).
dateTimestringyesUTC date-time(ISO 8601) string to check availability. Examples: "2025-12-25T12:00:00Z"
hoursTypeCUSTOMS | OPENING | TOWERyesType of operating hours to check. One of string: [OPENING

clear-passengers-from-flight

Clear the entire passenger list for a flight by its FlightNid. Returns counts after clearing.

ParameterTypeRequiredDescription
flightNidnumberyesFlight NID (numeric identifier) for which you want to clear the passenger list.

clear-tags-from-flight

Remove ALL tags from a flight in Leon aviation operations system.

BUSINESS LOGIC:

  • Removes ALL tags currently assigned to the flight
  • This is a destructive operation that clears the entire tag list
  • Requires valid flight NID
  • Cannot be undone - use with caution

RETURNED DATA: Returns an object containing:

  • success: Boolean indicating operation result (true/false)
  • flightNid: The flight identifier that was updated (on success)
  • error: Error message (on failure)

RELATED TOOLS:

  • Use "search-flights" to find flights and get their flight NIDs
  • Use "get-modified-flight-nid-list" to get list of recently modified flight NIDs
  • Use "add-tags-to-flight" to add tags to a flight
  • Use "remove-tags-from-flight" to selectively remove specific tags
  • Use "search-flight-tags-by-name" to find available tags
  • Use "set-flight-tag-definition" to create new tag definitions

USE CASES:

  • Clear all tags from completed flight: "Remove all tags from flight 63115639"
  • Reset tags before reassignment: "Clear all tags from this flight"
  • Clean up after testing: "Remove all test tags from flight"
ParameterTypeRequiredDescription
flightNidnumberyes[REQUIRED] Flight numerical identifier. The flight NID MUST be a valid existing flight identifier in Leon system. Example: 63115639

create-contact-company

Creates a new company contact.

BUSINESS LOGIC: ✓ isClient: Mark TRUE for companies submitting RFQ/orders (charter companies, clients) ✓ isAccount: Mark TRUE if company should be an account - DEFAULT TRUE (companies are accounts by nature) ✓ account: Optional parent account ID for assigning company to larger account structure ✓ Consider using tool "search-contacts-by-wildcard" to avoid creating duplicate companies

RETURNED DATA: On success returns created company with:

  • contactNid: Unique company ID
  • Company info: name, code
  • Business flags: isClient status
  • Contact info: emailWork, phoneWork, other contact details

USE CASES:

  • Create charter company: isClient=true, full contact details
  • Create technical/handler company: isClient=false, basic info
  • Create subsidiary: assign to parent account via account field
ParameterTypeRequiredDescription
namestringyesCompany name (required, cannot be empty).
codestringyesCompany code - unique identifier (required, cannot be empty).
isClientbooleanyesMark TRUE for companies submitting RFQ/orders (charter companies, clients). FALSE for technical/handler companies
isAccountbooleanyesMark TRUE if company should be an account (other contacts can be assigned to it). Companies are accounts by default
accountunknownyesParent account contactNid. Optional - allows assigning company to larger account. Example: 1455705
emailWorkunknownyesPrimary work email address (validated format). Example: "info@company.com"
emailWork2unknownyesSecondary work email address (validated format). Example: "operations@company.com"
emailBillingunknownyesBilling email address for invoices (validated format). Example: "billing@company.com"
emailPrivateunknownyesPrivate email address (validated format). Example: "ceo@company.com"
phoneWorkunknownyesMain company phone number (any format). Example: "+1-555-123-4567"
phonePrivateunknownyesPrivate phone number (any format). Example: "+1-555-987-6543"

create-contact-person

Creates a new person contact.

BUSINESS LOGIC: ✓ isClient: Mark TRUE for quote request submitters/representatives (FALSE for passengers) ✓ isAccount: Mark TRUE if person should be an account (others can be assigned to it) ✓ isRepresentative: Mark TRUE for company representatives ✓ account: Account ID assignment ✓ additionalAccounts: Additional account IDs for assignment ✓ Consider using tool "search-contacts-by-wildcard" to avoid creating duplicate persons

RETURNED DATA: On success returns created contact with:

  • contactNid: Unique person ID
  • Personal info: name, surname, knownAs, code
  • Gender info: genderByAge, genderEnum
  • Contact info: emailWork, emailPrivate, phoneWork, phonePrivate

ACCOUNT REQUIREMENT HANDLING: When "Account is required" error occurs, the system needs to determine the appropriate account assignment:

  1. Discuss with user to identify the correct account for the contact
  2. Offer to search existing contacts/accounts in the system
  3. Propose creating a new account if none exists that fits the business relationship
  4. Once account is determined, retry contact creation with proper account field

USE CASES:

  • Create quote request requester, representative
  • Create passenger basic personal data only
  • Create account holder: isAccount=true for managing other contacts
ParameterTypeRequiredDescription
namestringyesPerson first name (required, cannot be empty).
surnamestringyesPerson surname (required)
knownAsstringyesFull display name (required).
middleNameunknownyesOptional. MUST be given ONLY when specified by the user. Middle name.
genderunknownyesOptional. MUST be given ONLY when specified by the user. Person gender. Available values: MALE, FEMALE, UNKNOWN
emailWorkunknownyesOptional. MUST be given ONLY when specified by the user. Work email address (validated format). Example: "john.smith@company.com"
emailPrivateunknownyesOptional. MUST be given ONLY when specified by the user. Private email address (validated format). Example: "john@personal.com"
phoneWorkunknownyesOptional. MUST be given ONLY when specified by the user. Work phone number (any string). Example: "+1-555-234-5678"
phonePrivateunknownyesOptional. MUST be given ONLY when specified by the user. Private phone number (any string). Example: "+1-555-876-5432"
isClientbooleanyesOptional. MUST be given ONLY when specified by the user. Mark TRUE for quote request requester/representative. Mark FALSE for passengers. Clients can submit RFQs/orders
isAccountbooleanyesOptional. MUST be given ONLY when specified by the user. Mark TRUE if contact should be an account (other persons can be assigned to it). Companies are accounts by default
isRepresentativebooleanyesOptional. MUST be given ONLY when specified by the user. Mark TRUE if person is a company representative
accountunknownyesOptional. MUST be given ONLY when specified by the user. Account contactNid. Account must be: a person with isAccount=true OR any company contact. Example: 1455705. If you get "Account is required" error, this field is mandatory
additionalAccountsunknownyesOptional. MUST be given ONLY when specified by the user. List of additional account IDs to assign. Example: [1455705, 1455706]

create-crew-duty

Creates duty activities for crew members on specified dates through the Crew Panel. This tool allows bulk creation of duties for multiple crew members across multiple dates with a single call.

MAIN PURPOSE: Creates duty activities (such as training, simulator sessions, standby, or other non-flight duties) for crew members in the Leon Crew Panel. The duty is defined by time range, location, and duty type.

IMPORTANT BUSINESS LOGIC: ✓ Times (startTime, endTime) are provided as hours only in HH:MM format, without dates ✓ Dates are provided separately in loginDatesList for each crew member ✓ The same duty configuration (times, location, definition) is applied to all specified crew members and dates ✓ Maximum 150 duties can be created in a single call (crew members × dates ≤ 150) ✓ All times are interpreted in UTC timezone ✓ Created duties are immediately published (not saved as drafts)

PARAMETERS: dutyInput:

  • startTime: Duty start time in HH:MM format (e.g., "08:00")
  • endTime: Duty end time in HH:MM format (e.g., "16:30")
  • dutyDefinitionNid: Duty definition identifier (obtain via get-duty-definition-all tool)
  • airportCode: Airport code where duty takes place (ICAO/IATA/FAA/custom, max 4 chars)
  • aircraftNidList: (OPTIONAL) List of aircraft identifiers if duty is tied to specific tail numbers

loginDatesList:

  • Array of objects, each containing:
    • loginNid: Crew member identifier (obtain via search-contacts-by-wildcard)
    • dateList: Array of dates in YYYY-MM-DD format (e.g., ["2025-01-15", "2025-01-16"])

RETURNED DATA: On success:

  • success: true (boolean indicating successful creation)
  • message: Confirmation message

On error:

  • error: Error description
  • errors: List of specific validation errors (if applicable)

TYPICAL WORKFLOW:

  1. MUST first obtain crew member loginNids using search-contacts-by-wildcard
  2. MUST obtain dutyDefinitionNid using get-duty-definition-all or get-duty-definition-list
  3. Call this tool with duty parameters and list of crew members with dates
  4. System automatically resolves airportCode to airportNid
  5. Duties are created in published mode (not in drafts)

USE CASES:

  • "Create simulator training duty for pilot John Smith on Jan 15-17, 2025 from 09:00 to 17:00 at EPWA"
  • "Schedule standby duty for 3 crew members on specific dates at airport WAW"
  • "Create ground training sessions for multiple crew members across different dates"

REQUIREMENTS:

  • Crew member loginNids MUST be valid and have appropriate access
  • Duty definition MUST exist and be applicable to the crew members
  • Airport code MUST be valid and exist in the system
  • Times MUST be in HH:MM format (e.g., "08:00")
  • Dates MUST be in YYYY-MM-DD format
  • Total number of duties (crew members × dates) MUST NOT exceed 150
ParameterTypeRequiredDescription
dutyInputobjectyesDuty data including times, definition, location, and optional aircraft.
loginDatesListobject[]yesList of crew members with their respective dates for duty creation. Each entry specifies a crew member and the dates when the duty should be scheduled for them.

create-flight

Creates a new flight.

BUSINESS LOGIC: IMPORTANT! Optional fields should not be filled in unless the user provides specific instructions. ✓ flightNo: [Required] Flight number. If not provided or an empty string is provided, it MUST be set to "???" or generated according to operator settings. ✓ arcid: [Optional] Arcid aircraft identification ✓ aircraftNid: [Optional] Aircraft numerical identifier. MUST omit this field if virtualAircraftNid was provided by the user. IMPORTANT! MUST read warning in tool description. ✓ virtualAircraftNid: [Optional] Virtual aircraft numerical identifier. MUST NOT set this field automatically unless the user explicitly
requests to create a flight on a VIRTUAL aircraft. Default behavior: If user doesn't specify virtual aircraft MUST omit this field entirely and SHALL NOT populate it with any value. IMPORTANT! MUST read warning in tool description. ✓ startTimeUTC: [Required] Flight start time expressed according to ISO 8601, ex. 2019-06-05, 2019-06-05T12:00:00. If user didn't specify the date MUST request clarification, otherwise it will result in a validation error. ✓ endTimeUTC: [Required] Flight end time expressed according to ISO 8601, ex. 2019-06-05, 2019-06-05T12:00:00. If user didn't specify the date MUST request clarification, otherwise it will result in a validation error. ✓ adepCode: [Required] Flight departure airport code, one of: IATA, ICAO, FAA or custom. ✓ adesCode: [Required] Flight destination airport code, one of: IATA, ICAO, FAA or custom ✓ distance: [Optional] Flight distance (in nautical miles, integer) ✓ isEmptyLeg: [Required] Mark TRUE if leg is empty ✓ icaoType: [Optional] Letter denoting ICAO type of flight. Available values: G, M, N, S, X ✓ paxNumber: [Optional] Number of passengers (PAX) ✓ salesNotes: [Optional] Sales notes ✓ opsNotes: [Optional] OPS notes ✓ aocSource: [Optional] Source for AOC preset. Available values: NONE, DEFAULT, PRESET ✓ aoc: [Optional] AOC preset numerical identifier ✓ altAirport: [Optional] Alternative airport code, one of: IATA, ICAO, FAA or custom ✓ altAirport2: [Optional] Secondary alternative airport code, one of: IATA, ICAO, FAA or custom

WARNING! MUST set ONLY ONE out of virtualAircraftNid and aircraftNid fields per flight ONLY WHEN PROVIDED BY THE USER. Setting both will cause a validation error: "Required aircraftNid or virtualAircraftNid, only one field". If user provided both MUST request clarification. If none are provided by the user, these fields MUST NOT be set.
Real aircraft (aircraftNid) and virtual aircraft (virtualAircraftNid) are SEPARATE entities in the Leon aviation system - they are NOT interchangeable and should never be mixed or confused.

RETURNED DATA: On success returns flight basic data Core Flight Identification:

  • flightNid - Unique flight identifier in Leon system (scalar type)
  • status - Flight confirmation status: CONFIRMED, OPTION, or OPPORTUNITY
  • startTimeUTC/endTimeUTC - Flight start/end times in UTC (DateTime scalars)
  • startTimeLocal/endTimeLocal - Flight times in local timezone with timezone info (local in respect to applicable airport)

Airport Information (startAirport/endAirport):

  • code.icao - 4-character ICAO airport code (e.g., EPWA)
  • code.iata - 3-character IATA airport code (e.g., WAW)
  • code.mostDescriptive - Best available code (prefers ICAO over IATA)
  • longitudeDec/latitudeDec - Airport GPS coordinates in decimal format
  • name/city/country - Airport name, city, and country

Aircraft Details (acft):

  • registration - Aircraft registration marks (e.g., SP-ABC)
  • acftType.icao/iata - Aircraft type codes per ICAO/IATA standards

Flight Parameters:

  • dist - Flight distance (in nautical miles, integer)
  • flightRules - Flight rules enum: I (IFR), V (VFR), Y (IFR/), Z (VFR/)
  • icaoType - ICAO flight type: S (Scheduled), N (Non-scheduled), G (General aviation), M (Military), X (Other)
  • isCommercial - Whether flight is commercial (boolean from trip data)
  • isCnl - Whether flight is cancelled (boolean)

Journey Log - Post-Flight Report Data:

  • Fuel Management:
    • blockFuel - Fuel loaded for flight start
    • usedFuel - Fuel consumed during flight
    • remainingFuel - Fuel remaining after flight
    • taxiFuel - Fuel used for taxiing
    • refuel - Fuel added prior to the flight
    • fuelUnit - Unit of fuel measurement
  • Weight & Cargo:
    • weightUnit - Unit for weight measurements
    • bag - Baggage weight
    • cargo - Cargo weight
  • Actual Flight Times:
    • atd - Actual Time of Departure (Take-off time, integer timestamp)
    • ata - Actual Time of Arrival (Landing time, integer timestamp)
    • nightTime - Night flying time duration
    • startTime/endTime - Actual flight start/end times (Block times)
  • Passenger Counts:
    • paxCount - Total passenger count
    • paxMaleCount/paxFemaleCount - Gender-specific counts
    • paxChildCount/paxInfantCount - Age-specific counts
  • Flight Operations:
    • distance - Actual flight distance
    • flightLog - Detailed flight log text
    • landingCount - Number of landings performed
  • Journey Log Airports:
    • Simplified airport data (ICAO/IATA codes, name, country) for actual departure/arrival

Key Distinction: Main fields contain planned/scheduled data, while journeyLog contains actual post-flight data from the completed flight.

ParameterTypeRequiredDescription
tripNidnumberyes[Required] Trip numerical identifier
flightobjectyesflight

create-hotel-reservation

Creates a new hotel reservation for crew members in the Leon Crew Panel.

MAIN PURPOSE: Creates hotel reservations for crew members at a specified airport location. The reservation covers a check-in/check-out period and can include hotel details, pricing, and booking references.

IMPORTANT BUSINESS LOGIC: ✓ startTime and endTime are provided in UTC (ISO 8601 format, e.g. "2024-06-15T14:00:00") ✓ locationNid (airport) MUST be resolved first using get-airport-by-code or search-airports-by-wildcard ✓ crewMemberNid for each crew member MUST be resolved first using search-contacts-by-wildcard or get-crew-by-wildcard ✓ At least one crew member MUST be specified in crewOnHotelList ✓ crewList MUST be left as empty array — use crewOnHotelList instead ✓ Reservation is immediately published (not saved as draft) ✓ hotelNid is optional — leave null if the specific hotel is not yet confirmed

PARAMETERS:

  • startTime: Check-in datetime in UTC, ISO 8601 format (e.g. "2024-06-15T14:00:00")
  • endTime: Check-out datetime in UTC, ISO 8601 format (e.g. "2024-06-17T12:00:00")
  • locationNid: Airport numerical identifier (resolve via get-airport-by-code)
  • status: CONFIRMED | REQUESTED | UNTOUCHED
  • paid: Whether reservation is paid (true/false)
  • crewOnHotelList: Array of crew members with optional PNR per person
    • crewMemberNid: Crew member identifier (resolve via search-contacts-by-wildcard)
    • pnr: (OPTIONAL) PNR booking reference for this crew member
  • hotelNid: (OPTIONAL) Hotel identifier if a specific hotel is known
  • note: (OPTIONAL) Internal operator note
  • crewNote: (OPTIONAL) Note visible to crew members
  • bookingNumber: (OPTIONAL) Hotel booking confirmation/reference number
  • aircraftRegistration: (OPTIONAL) Aircraft registration linked to this stay
  • price: (OPTIONAL) Total price with amount and ISO 4217 currency code

RETURNED DATA: On success:

  • success: true
  • hotelReservationNid: Unique identifier of the created reservation
  • message: Confirmation message

On error:

  • error: Error description
  • errors: List of specific validation errors (if applicable)

TYPICAL WORKFLOW:

  1. Resolve airport locationNid using get-airport-by-code or search-airports-by-wildcard
  2. Resolve crew member loginNids using search-contacts-by-wildcard or get-crew-by-wildcard
  3. (Optional) Obtain hotelNid if a specific hotel should be linked
  4. Call this tool with all required parameters
  5. System creates the reservation and returns the new hotelReservationNid

USE CASES:

  • "Book a hotel for pilot John Smith at Warsaw Chopin airport from June 15 to June 17"
  • "Create a CONFIRMED hotel reservation for crew members [123, 456] at EPWA for next weekend"
  • "Reserve a hotel for the crew at JFK with booking number ABC123 for $250"

REQUIREMENTS:

  • locationNid MUST be a valid airport identifier
  • crewOnHotelList MUST contain at least one crew member with a valid crewMemberNid
  • startTime MUST be before endTime
  • Dates MUST be in ISO 8601 format without timezone offset (UTC assumed)
  • status MUST be one of: CONFIRMED, REQUESTED, UNTOUCHED
ParameterTypeRequiredDescription
startTimestringyes
endTimestringyes
locationNidintegeryes[Required] Airport location numerical identifier (locationNid). MUST be obtained using get-airport-by-code or search-airports-by-wildcard tool.
statusCONFIRMED | PENDING | REQUESTED | TO_BE_REQUESTED | UNTOUCHEDyes[Required] Hotel reservation status. Available values: CONFIRMED, REQUESTED, UNTOUCHED.
paidbooleanyes[Required] Indicates whether the reservation has been paid.
crewOnHotelListobject[]yes[Required] List of crew members assigned to this hotel reservation. MUST contain at least one crew member.
hotelNidunknownyes[Optional] Hotel numerical identifier. Leave null if the hotel is not yet known.
noteunknownyes[Optional] Internal note visible to operators.
crewNoteunknownyes[Optional] Note visible to crew members.
bookingNumberunknownyes[Optional] Hotel booking confirmation number.
aircraftRegistrationunknownyes[Optional] Aircraft registration associated with this reservation, e.g. "SP-ABC".
priceunknownyes[Optional] Total price of the reservation.

create-quote-request

Creates Request for Quote (RFQ) in LEON system. Requires data from prerequisite tools.

OVERVIEW

Creates structured RFQ with validated contacts, aircraft, airports and optional cargo details. Returns quoteRequestNid for tracking the created request.

PREREQUISITE WORKFLOW (MUST execute in order):

  1. search-contacts-by-wildcard → get contactNid for requestedBy (contact must be a client in trips and/or sales quotation)
  2. get-aircraft-by-registration (for each aircraft) → get aircraftNids + category data
  3. get-airport-by-code (with codeType: "ICAO") → validate ADEP/ADES airports exist
  4. Calculate minimum aircraft category → select category with LOWEST hierarchy number
  5. create-quote-request → call with all validated NIDs and calculated category

CONTACT VALIDATION (CRITICAL):

  • Only contacts who are clients in trips and/or sales quotation can be used as requested By (with field 'is Client: true' )
  • If search-contacts-by-wildcard returns contact with 'isClient: false' → inform user that contact should be a client

AIRCRAFT CATEGORY CALCULATION

  • Analyze all aircraft category hierarchy values from get-aircraft-by-registration
  • Select category with LOWEST hierarchy number (lower number = higher priority)
  • Example: Light Jet (hierarchy: 1) + Heavy Jet (hierarchy: 8) = Light Jet categoryNid selected
  • Pass winning categoryNid as aircraftCategory parameter

CARGO SUPPORT

Optional cargo with quantity, weightUnit (KG/LB) and details:

  • isDgr: Dangerous Goods, isTurnable: Can rotate, isStackable: Can stack, isBreakable: Fragile

RETURNED DATA

  • Number of created RFQ

EXAMPLE USAGE

User input: "Create RFQ for John Smith, aircraft N123AB, EPWA to EDDM, 2025-12-15 14:00, 2 pax"

  1. search-contacts-by-wildcard("John Smith") → contactNid: 123456
  2. get-aircraft-by-registration("N123AB") → aircraftNid: 789, category: {nid: 2, hierarchy: 5}
  3. get-airport-by-code("EPWA", "ICAO") + get-airport-by-code("EDDM", "ICAO") → validated
  4. create-quote-request with aircraftCategory: 2, aircraftList: [789], requestedBy: 123456
ParameterTypeRequiredDescription
marketplaceintegeryesMarketplace NID where RFQ should be created
requestedByintegeryesClient NID who is requesting the quote (use search-contacts-by-wildcard first to find this)
representativeunknownyesClient company representative NID (optional field)
itineraryobject[]yesFlight itinerary
aircraftListunknownyesList of aircraft NIDs to be used for the RFQ (use get-aircraft-by-registration to get NIDs from registrations)
providerTypeleon | charter | scheduledyesType of provider for the RFQ
aircraftCategoryintegeryesMinimum aircraft category NID (AI must calculate from aircraft data using get-aircraft-by-registration - select category with lowest hierarchy number)
addPositioningbooleanyesWhether to add positioning flights
flightTimeMethodunknownyesMethod for calculating flight time
timeModeunknownyesTime mode - Local Time or UTC
tripEditSchemeunknownyesTrip editing scheme (optional field) ("pax", "cargo", "pax_and_cargo")
contractunknownyesContract ID
tripTypeunknownyesType of trip

create-roster-validation-rule

Creates a new roster validation rule for the operator.

Roster validation rules define criteria used to automatically validate crew roster schedules. Each rule consists of a name, description, and a rule expression that is evaluated against the roster data.

INPUT PARAMETERS:

  • name: [MANDATORY] Short name of the roster validation rule.
  • description: [MANDATORY] Detailed description of what the rule validates.
  • rule: [MANDATORY] The rule expression/definition used during roster validation.

RETURNED DATA: On success, returns the created rule with:

  • nid: numerical identifier of the created rule
  • name: short name of the rule
  • description: detailed description of what the rule validates
  • rule: the rule expression/definition used during validation

On failure: { error: '<error message>' }

ParameterTypeRequiredDescription
namestringyes[MANDATORY] Short name of the roster validation rule.
descriptionstringyes[MANDATORY] Detailed description of what the rule validates.
rulestringyes[MANDATORY] A Lua script executed during crew roster validation. SCRIPT STRUCTURE: The script must return a function that accepts a single argument "data" and returns a list of day results. return function(data) result = {} for index, date in pairs(data.dateList) do result[index + 1] = { day = date, status = 'VALID' } end return result end INPUT — "data" object fields: - data.dateList: list of date strings (format: Y-m-d) from the selected range - data.baseTimezone: name of the operator base timezone (e.g. "Europe/Warsaw") - data.baseTimezoneOffset: timezone offset in minutes (e.g. 60 for UTC+1) - data.activityList: list of crew activities in the date range. Each activity has: - activityType: "DUTY", "POSITIONING", "HOTEL_RESERVATION" or "FLIGHT" - flight.nid: flight id (for FLIGHT activities) - positionOnActivity.nid / .name / .type: crew position on the activity - crew.nid / .code / .name / .surname: crew member data - dutyDefinition (for DUTY activities): - name: duty definition name - type: "duty", "training" or "off" - standbyType: "home", "airport", "hotel", "other", "reserve" or "" (not applicable) - aoc (bool): whether duty is AOC-related - startTime (int): duty start time in seconds from midnight (e.g. 28800 = 08:00) - length (int): duty duration in seconds (default 86340 = nearly full day) - acftNid (int): assigned aircraft id (0 = none) - acftTypeId (string): assigned aircraft type id (e.g. "B737") - includeInPlanning (bool) - includeInPlanningForConfirmed (bool) - vacation (bool) - clockInOutEnabled (bool) - canBeRequested (bool) - automaticallyAcceptRequests (bool) - decreaseCompensationTime (bool) - aocName (string): AOC certificate name - start.date / .time / .datetimeUTC / .datetimeBase: activity start datetime - start.airport.nid / .name / .icao / .iata: start airport - end.date / .time / .datetimeUTC / .datetimeBase: activity end datetime - end.airport.nid / .name / .icao / .iata: end airport OUTPUT — the function must return a list of objects, one per checked day: - day (string, format Y-m-d): the date being validated - status (string): "VALID" or "INVALID" - message_list (list of strings, optional): error messages, required when status is "INVALID" EXAMPLE: return function(data) result = {} for index, date in pairs(data.dateList) do local hasOff = false for _, activity in pairs(data.activityList) do if activity.activityType == 'DUTY' and activity.dutyDefinition.type == 'off' and activity.start.date == date then hasOff = true end end if hasOff then result[index + 1] = { day = date, status = 'VALID' } else result[index + 1] = { day = date, status = 'INVALID', message_list = { 'Missing OFF duty' } } end end return result end

create-trip

Creates a new trip.

BUSINESS LOGIC: ✓ number: Trip number. If not provided, it will be generated automatically. ✓ tripType: Schedule trip type. Available values: aircraft_repositioning, ambulance, cargo, frequent_flyer, head, mission, other, owner_charter, owner_flight, owner_flight, pax, regular_pax_transport, state, technical, training ✓ status: Trip status. Available values: CONFIRMED, OPTION OPTION, OPPORTUNITY ✓ isCommercial: Mark TRUE if trip is commercial ✓ flights: List of trip flights data

RETURNED DATA: On success returns created trip and its flights basic data

  • tripNid - Unique trip identifier in Leon system (scalar type)

  • tripNumber - Trip number

  • tripType: Schedule trip type. Available values: aircraft_repositioning, ambulance, cargo, frequent_flyer, head, mission, other, owner_charter, owner_flight, owner_flight, pax, regular_pax_transport, state, technical, training

  • tripStatus: Trip status. Available values: CONFIRMED, OPTION OPTION, OPPORTUNITY

  • isCommercial: TRUE if trip is commercial

  • notes

  • tripSupplementaryInfo: Trip supplementary info

  • flightList Core Flight Identification:

    • flightNid - Unique flight identifier in Leon system (scalar type)
    • status - Flight confirmation status: CONFIRMED, OPTION, or OPPORTUNITY
    • startTimeUTC/endTimeUTC - Flight start/end times in UTC (DateTime scalars)
    • startTimeLocal/endTimeLocal - Flight times in local timezone with timezone info (local in respect to applicable airport)

    Airport Information (startAirport/endAirport):

    • code.icao - 4-character ICAO airport code (e.g., EPWA)
    • code.iata - 3-character IATA airport code (e.g., WAW)
    • code.mostDescriptive - Best available code (prefers ICAO over IATA)
    • longitudeDec/latitudeDec - Airport GPS coordinates in decimal format
    • name/city/country - Airport name, city, and country

    Aircraft Details (acft):

    • registration - Aircraft registration marks (e.g., SP-ABC)
    • acftType.icao/iata - Aircraft type codes per ICAO/IATA standards

    Flight Parameters:

    • dist - Flight distance (in nautical miles, integer)
    • flightRules - Flight rules enum: I (IFR), V (VFR), Y (IFR/), Z (VFR/)
    • icaoType - ICAO flight type: S (Scheduled), N (Non-scheduled), G (General aviation), M (Military), X (Other)
    • isCommercial - Whether flight is commercial (boolean from trip data)
    • isCnl - Whether flight is cancelled (boolean)

    Journey Log - Post-Flight Report Data:

    • Fuel Management:
      • blockFuel - Fuel loaded for flight start
      • usedFuel - Fuel consumed during flight
      • remainingFuel - Fuel remaining after flight
      • taxiFuel - Fuel used for taxiing
      • refuel - Fuel added prior to the flight
      • fuelUnit - Unit of fuel measurement
    • Weight & Cargo:
      • weightUnit - Unit for weight measurements
      • bag - Baggage weight
      • cargo - Cargo weight
    • Actual Flight Times:
      • atd - Actual Time of Departure (Take-off time, integer timestamp)
      • ata - Actual Time of Arrival (Landing time, integer timestamp)
      • nightTime - Night flying time duration
      • startTime/endTime - Actual flight start/end times (Block times)
    • Passenger Counts:
      • paxCount - Total passenger count
      • paxMaleCount/paxFemaleCount - Gender-specific counts
      • paxChildCount/paxInfantCount - Age-specific counts
    • Flight Operations:
      • distance - Actual flight distance
      • flightLog - Detailed flight log text
      • landingCount - Number of landings performed
    • Journey Log Airports:
      • Simplified airport data (ICAO/IATA codes, name, country) for actual departure/arrival

    Key Distinction: Main fields contain planned/scheduled data, while journeyLog contains actual post-flight data from the completed flight.

ParameterTypeRequiredDescription
flightsobject[]yesList of flights
numberunknownyesTrip number (optional). If not provided, it will be generated automatically.
tripTypeunknownyesSchedule trip type (optional). Available values: aircraft_repositioning, ambulance, cargo, frequent_flyer, head, mission, other, owner_charter, owner_flight, owner_flight, pax, regular_pax_transport, state, technical, training
statusunknownyesFlight status (optional). Available values: CONFIRMED, OPTION OPTION, OPPORTUNITY
isCommercialunknownyesMark TRUE if trip is commercial (optional)

delete-all-crew-from-flight

Remove all crew from flight

ParameterTypeRequiredDescription
trNidnumberyesFlight ID

delete-contact-by-nid

Deletes a contact from the phonebook system.

ParameterTypeRequiredDescription
contactNidnumberyesContact ID to delete. Must be a positive number. Example: 2405192

delete-crew-from-flight

Remove crew from flight

ParameterTypeRequiredDescription
crewRecordListobject[]yesRepresents single record for remove crew on flight

delete-crew-from-flight-by-position

Remove crew from flight by position

ParameterTypeRequiredDescription
trNidnumberyesFlight ID
positionNameListstring[]yesList of position names

delete-quote-realizations

Delete one or more quote realizations from their Request for Quote (RFQ).

BUSINESS LOGIC

  • Removes specified quote realizations
  • User MUST have SALES_QUOTE_EDIT permission
  • Quote realizations MUST be owned by the current operator
  • Backend automatically validates ownership and updates fulltext search index

RETURNED DATA

On success:

  • returns: true

On error:

  • error: Error description with details from backend

IMPORTANT NOTES

  • This operation is DESTRUCTIVE and cannot be undone
  • Deleting all realizations from an RFQ leaves it with no quotes (valid state)
  • Does NOT delete the RFQ itself, only specified quote realizations
  • Backend automatically handles multiple RFQs if quote realizations belong to different RFQs
ParameterTypeRequiredDescription
quoteRealizationNidsinteger[]yesList of Quote Realization NIDs to delete

delete-roster-validation-rule

Deletes a roster validation rule identified by its numerical identifier (operatorRosterValidationNid).

Roster validation rules define criteria used to automatically validate crew roster schedules. Use this tool to permanently remove a rule that is no longer needed.

INPUT PARAMETERS:

  • operatorRosterValidationNid: [MANDATORY] Numerical identifier of the roster validation rule to delete. The value can be obtained from the "get-roster-validation-rules" tool.

RETURNED DATA:

  • On success: { success: 'Roster validation rule successfully deleted.' }
  • On failure: { error: '<error message>' }
ParameterTypeRequiredDescription
operatorRosterValidationNidnumberyes[MANDATORY] Numerical identifier of the roster validation rule to delete. The value of this parameter can be obtained from the "get-roster-validation-rules" tool.

delete-trip

Deletes the trip.

BUSINESS LOGIC: ✓ tripNid: enter the trip identifier you want to delete

RETURNED DATA: On success returns TRUE, on failure returns FALSE

ParameterTypeRequiredDescription
tripNidnumberyesTrip numerical identifier

edit-flights

Edit flights. BUSINESS LOGIC: ✓ flightNid: Unique flight identifier in Leon system ✓ flightNo: Flight number ✓ arcid: Arcid aircraft identification ✓ aircraftNid: Aircraft numerical identifier ✓ virtualAircraftNid: Virtual aircraft numerical identifier ✓ unsetAircraft: Mark TRUE if want to unset aircraft ✓ startTimeUTC: Flight start time expressed according to ISO 8601, ex. 2019-06-05, 2019-06-05T12:00:00 ✓ endTimeUTC: Flight end time expressed according to ISO 8601, ex. 2019-06-05, 2019-06-05T12:00:00 ✓ adepCode: Flight departure airport code, one of: IATA, ICAO, FAA or custom ✓ adesCode: Flight destination airport code, one of: IATA, ICAO, FAA or custom ✓ distance: Flight distance (in nautical miles, integer) ✓ isEmptyLeg: Mark TRUE if leg is empty ✓ icaoType: Letter denoting ICAO type of flight. Available values: G, M, N, S, X ✓ paxNumber: Number of passengers (PAX) ✓ salesNotes: Sales notes ✓ opsNotes: OPS notes ✓ extendedRange ✓ aocSource: Source for AOC preset. Available values: NONE, DEFAULT, PRESET ✓ aoc: AOC preset numerical identifier ✓ altAirport: Alternative airport code, one of: IATA, ICAO, FAA or custom ✓ altAirport2: Secondary alternative airport code, one of: IATA, ICAO, FAA or custom

RETURNED DATA: On success returns edited flights basic data Core Flight Identification:

  • flightNid - Unique flight identifier in Leon system (scalar type)
  • status - Flight confirmation status: CONFIRMED, OPTION, or OPPORTUNITY
  • startTimeUTC/endTimeUTC - Flight start/end times in UTC (DateTime scalars)
  • startTimeLocal/endTimeLocal - Flight times in local timezone with timezone info (local in respect to applicable airport)

Airport Information (startAirport/endAirport):

  • code.icao - 4-character ICAO airport code (e.g., EPWA)
  • code.iata - 3-character IATA airport code (e.g., WAW)
  • code.mostDescriptive - Best available code (prefers ICAO over IATA)
  • longitudeDec/latitudeDec - Airport GPS coordinates in decimal format
  • name/city/country - Airport name, city, and country

Aircraft Details (acft):

  • registration - Aircraft registration marks (e.g., SP-ABC)
  • acftType.icao/iata - Aircraft type codes per ICAO/IATA standards

Flight Parameters:

  • dist - Flight distance (in nautical miles, integer)
  • flightRules - Flight rules enum: I (IFR), V (VFR), Y (IFR/), Z (VFR/)
  • icaoType - ICAO flight type: S (Scheduled), N (Non-scheduled), G (General aviation), M (Military), X (Other)
  • isCommercial - Whether flight is commercial (boolean from trip data)
  • isCnl - Whether flight is cancelled (boolean)

Journey Log - Post-Flight Report Data:

  • Fuel Management:
    • blockFuel - Fuel loaded for flight start
    • usedFuel - Fuel consumed during flight
    • remainingFuel - Fuel remaining after flight
    • taxiFuel - Fuel used for taxiing
    • refuel - Fuel added prior to the flight
    • fuelUnit - Unit of fuel measurement
  • Weight & Cargo:
    • weightUnit - Unit for weight measurements
    • bag - Baggage weight
    • cargo - Cargo weight
  • Actual Flight Times:
    • atd - Actual Time of Departure (Take-off time, integer timestamp)
    • ata - Actual Time of Arrival (Landing time, integer timestamp)
    • nightTime - Night flying time duration
    • startTime/endTime - Actual flight start/end times (Block times)
  • Passenger Counts:
    • paxCount - Total passenger count
    • paxMaleCount/paxFemaleCount - Gender-specific counts
    • paxChildCount/paxInfantCount - Age-specific counts
  • Flight Operations:
    • distance - Actual flight distance
    • flightLog - Detailed flight log text
    • landingCount - Number of landings performed
  • Journey Log Airports:
    • Simplified airport data (ICAO/IATA codes, name, country) for actual departure/arrival

Key Distinction: Main fields contain planned/scheduled data, while journeyLog contains actual post-flight data from the completed flight.

ParameterTypeRequiredDescription
flightListobject[]yesflight

edit-quote-itinerary

Edits flight legs in a quote realization. Updates, adds, or deletes legs within ONE quote.

⚠️ CRITICAL: You MUST provide ALL legs, not just changed ones. Any legs not included will be removed.

Workflow

  1. Call 'get-quote-requests-by-nid-list' to fetch quote data
  2. Extract required metadata from the response
  3. Transform leg data to match this tool's input format (see Format Notes below)
  4. Present current itinerary to user and ask what to change
  5. Call this tool with complete transformed legs array

Required Parameters

quoteRequest: Metadata from get-quote-requests-by-nid-list response

  • Required: nid, marketplace, requestedBy, mvtEmails, quotesSortMethod
  • Optional: representative, assignee, operatorBase
  • ⚠️ CRITICAL: Omit optional fields if response has null, otherwise existing values will be nullified

quoteRealizationNid: The specific quote to edit (int)

aircraft: Aircraft NID (optional for subcharter, required otherwise)

price: Quote price object with amount (number) and currency (string) - ⚠️ Omit this field if response has null - When present, both amount and currency are required - Example: {amount: 15000, currency: "EUR"}

legs: Complete array of legs with:

  • nid: quoteRequestLeg ID (int, omit for new legs)
  • adep/ades: airport code string (ICAO/IATA/FAA)
  • startDateTime/endDateTime: ISO 8601 UTC format with Z suffix (yyyy-MM-dd'T'HH:mm:ss'Z')
  • blockTime/flightTime: "HH:MM" format as string (e.g., "01:40")
  • timesTBA, isFuelStop: booleans
  • passengerList: {paxNumber: int, ferry: boolean}

Format Notes

When transforming data from get-quote-requests-by-nid-list, YOU must convert:

Quote request metadata:

  • representative: from buyer.representative?.nid (omit field if null, pass int if present)
  • assignee: from assignee?.nid (omit field if null, pass int if present)
  • operatorBase: from operatorBase?.nid (omit field if null, pass int if present)
  • price: from {amount: realizations[X].price, currency: realizations[X].currency} (omit entire field if price is null)

Leg transformations:

  • Time values: from minutes (int) → "HH:MM" string format
  • Airport adep/ades: use code.mostDescriptive from response (ICAO/IATA/FAA string)
  • Passenger ferry: infer from passengerList.isFerry
  • Leg nid: from string → int using parseInt()
  • quoteRequestLegId: from leg.quoteRequestLeg?.id (optional - preserves RFQ link if provided)

This tool does NOT perform these transformations - input must be pre-formatted.

Response

Success: {success: true, quoteRequestNid, quoteRequestId, quoteRealizationNid, legs[], message} Error: {error, code, errors[]}

Constraints

  • Requires SALES_QUOTE_EDIT permission
  • Airport codes validated against database
  • Times validated (endDateTime > startDateTime)
ParameterTypeRequiredDescription
quoteRequestobjectyesQuote request metadata - use get-quote-requests-by-nid-list to fetch these values
quoteRealizationNidintegeryesQuote realization NID - the specific quote to edit within the request
aircraftintegernoAircraft NID (from get-quote-requests-by-nid-list realizations[].acft.aircraftNid). Optional for subcharter quotes, required for regular quotes with aircraft.
priceobjectnoQuote price from get-quote-requests-by-nid-list realizations[].price and currency
legsobject[]yesComplete itinerary - ALL legs must be provided, even unchanged ones

find-last-flight-from

Returns data of one latest (the planned departure date is decisive) flight from one of the given airports. Return only flights, no simulations, reservations or aircraft repopositionings e.t.c.

It should be used when the user wants to find out whether there has ever been a flight from a given airport before.

PARAMETERS:

  • locationNid: Required airport location NID (numeric identifier in Leon system). Use "search-airports-by-wildcard" to find airport locationNids. (e.g., 1234)
  • searchType: Type of search. Options: PAST_FLIGHTS - search only among past flight, ALL_FLIGHTS - search among all flights. If not provided by user MUST use PAST_FLIGHT.
  • aircraftList: Optional list of aircraft NIDs (numeric identifier in Leon system) to which the flight search is limited. When there is no list provided, MUST search among all aircrafts. Use "get-aircraft-by-registration" to get NIDs from registrations. Example: [12345, 67890]

RETURNED DATA:

  • Returns an object containing following flight data:

Core Flight Identification:

  • flightNid - Unique flight identifier in Leon system (scalar type)
  • flightNo - Flight number
  • trip.tripNumber - Trip number associated with the flight
  • trip.tripNid - Unique trip identifier in Leon system
  • status - Flight confirmation status: CONFIRMED, OPTION, or OPPORTUNITY
  • startTimeUTC/endTimeUTC - Flight start/end times in UTC (DateTime scalars)
  • startTimeLocal/endTimeLocal - Flight times in local timezone with timezone info (local in respect to applicable airport)

Airport Information (startAirport/endAirport):

  • code.icao - 4-character ICAO airport code (e.g., EPWA)
  • code.iata - 3-character IATA airport code (e.g., WAW)
  • code.mostDescriptive - Best available code (prefers ICAO over IATA)
  • longitudeDec/latitudeDec - Airport GPS coordinates in decimal format
  • name/city/country - Airport name, city, and country
  • locationNid - Airport numerical identifier

Aircraft Details (acft):

  • registration - Aircraft registration marks (e.g., SP-ABC)
  • acftType.icao/iata - Aircraft type codes per ICAO/IATA standards
  • aircraftNid - Aircraft numerical identifier

Flight Parameters:

  • dist - Flight distance (in nautical miles, integer)
  • flightRules - Flight rules enum: I (IFR), V (VFR), Y (IFR/), Z (VFR/)
  • icaoType - ICAO flight type: S (Scheduled), N (Non-scheduled), G (General aviation), M (Military), X (Other)
  • isCommercial - Whether flight is commercial (boolean from trip data)
  • isCnl - Whether flight is cancelled (boolean)

Journey Log - Post-Flight Report Data:

  • Fuel Management:
    • blockFuel - Fuel loaded for flight start
    • usedFuel - Fuel consumed during flight
    • remainingFuel - Fuel remaining after flight
    • taxiFuel - Fuel used for taxiing
    • refuel - Fuel added prior to the flight
    • fuelUnit - Unit of fuel measurement
  • Weight & Cargo:
    • weightUnit - Unit for weight measurements
    • bag - Baggage weight
    • cargo - Cargo weight
  • Actual Flight Times:
    • atd - Actual Time of Departure (Take-off time, integer timestamp)
    • ata - Actual Time of Arrival (Landing time, integer timestamp)
    • nightTime - Night flying time duration
    • startTime/endTime - Actual flight start/end times (Block times)
  • Passenger Counts:
    • paxCount - Total passenger count
    • paxMaleCount/paxFemaleCount - Gender-specific counts
    • paxChildCount/paxInfantCount - Age-specific counts
  • Flight Operations:
    • distance - Actual flight distance
    • flightLog - Detailed flight log text
    • landingCount - Number of landings performed
  • Journey Log Airports:
    • Simplified airport data (ICAO/IATA codes, name, country) for actual departure/arrival

Key Distinction: Main fields contain planned/scheduled data, while journeyLog contains actual post-flight data from the completed flight.

USE CASES:

  • Finding out whether there has ever been a flight from a given airport before: "Find last flight from airport with locationNid 1"
  • Finding the most recent flight from a given airport: "Find the last past flight from airport with locationNid 3"
  • Finding last flight from a given airport and aircraft: "Find the last flight from airport with locationNid 2 and with aircraft with NID 7177"
ParameterTypeRequiredDescription
locationNidintegeryesRequired airport location NID (numeric identifier in Leon system). Use "search-airports-by-wildcard" to find airport locationNids. Example: 1234
searchTypeALL_FLIGHTS | PAST_FLIGHTSyesType of search. Options: PAST_FLIGHTS - search only among past flight, ALL_FLIGHTS - search among all flights. Default PAST_FLIGHTS.
aircraftListunknownyesOptional list of aircraft NIDs (numeric identifier in Leon system) to which the flight search is limited. When there is no list provided, search is performed among all aircraft. Use "get-aircraft-by-registration" to get NIDs from registrations. Example: [12345, 67890].

find-last-flight-to

Returns data of one latest (the planned departure date is decisive) flight to one of the given airports. Return only flights, no simulations, reservations or aircraft repopositionings e.t.c.

It should be used when the user wants to find out whether there has ever been a flight to a given airport before.

PARAMETERS:

  • locationNid: Required airport location NID (numeric identifier in Leon system). Use "search-airports-by-wildcard" to find airport locationNids. (e.g., 1234)
  • searchType: Type of search. Options: PAST_FLIGHTS - search only among past flight, ALL_FLIGHTS - search among all flights. If not provided by user MUST use PAST_FLIGHT.
  • aircraftList: Optional list of aircraft NIDs (numeric identifier in Leon system) to which the flight search is limited. When there is no list provided, MUST search among all aircrafts. Use "get-aircraft-by-registration" to get NIDs from registrations. Example: [12345, 67890]

RETURNED DATA:

  • Returns an object containing following flight data:

Core Flight Identification:

  • flightNid - Unique flight identifier in Leon system (scalar type)
  • flightNo - Flight number
  • trip.tripNumber - Trip number associated with the flight
  • trip.tripNid - Unique trip identifier in Leon system
  • status - Flight confirmation status: CONFIRMED, OPTION, or OPPORTUNITY
  • startTimeUTC/endTimeUTC - Flight start/end times in UTC (DateTime scalars)
  • startTimeLocal/endTimeLocal - Flight times in local timezone with timezone info (local in respect to applicable airport)

Airport Information (startAirport/endAirport):

  • code.icao - 4-character ICAO airport code (e.g., EPWA)
  • code.iata - 3-character IATA airport code (e.g., WAW)
  • code.mostDescriptive - Best available code (prefers ICAO over IATA)
  • longitudeDec/latitudeDec - Airport GPS coordinates in decimal format
  • name/city/country - Airport name, city, and country
  • locationNid - Airport numerical identifier

Aircraft Details (acft):

  • registration - Aircraft registration marks (e.g., SP-ABC)
  • acftType.icao/iata - Aircraft type codes per ICAO/IATA standards
  • aircraftNid - Aircraft numerical identifier

Flight Parameters:

  • dist - Flight distance (in nautical miles, integer)
  • flightRules - Flight rules enum: I (IFR), V (VFR), Y (IFR/), Z (VFR/)
  • icaoType - ICAO flight type: S (Scheduled), N (Non-scheduled), G (General aviation), M (Military), X (Other)
  • isCommercial - Whether flight is commercial (boolean from trip data)
  • isCnl - Whether flight is cancelled (boolean)

Journey Log - Post-Flight Report Data:

  • Fuel Management:
    • blockFuel - Fuel loaded for flight start
    • usedFuel - Fuel consumed during flight
    • remainingFuel - Fuel remaining after flight
    • taxiFuel - Fuel used for taxiing
    • refuel - Fuel added prior to the flight
    • fuelUnit - Unit of fuel measurement
  • Weight & Cargo:
    • weightUnit - Unit for weight measurements
    • bag - Baggage weight
    • cargo - Cargo weight
  • Actual Flight Times:
    • atd - Actual Time of Departure (Take-off time, integer timestamp)
    • ata - Actual Time of Arrival (Landing time, integer timestamp)
    • nightTime - Night flying time duration
    • startTime/endTime - Actual flight start/end times (Block times)
  • Passenger Counts:
    • paxCount - Total passenger count
    • paxMaleCount/paxFemaleCount - Gender-specific counts
    • paxChildCount/paxInfantCount - Age-specific counts
  • Flight Operations:
    • distance - Actual flight distance
    • flightLog - Detailed flight log text
    • landingCount - Number of landings performed
  • Journey Log Airports:
    • Simplified airport data (ICAO/IATA codes, name, country) for actual departure/arrival

Key Distinction: Main fields contain planned/scheduled data, while journeyLog contains actual post-flight data from the completed flight.

USE CASES:

  • Finding out whether there has ever been a flight to a given airport before: "Find last flight to airport with locationNid 1"
  • Finding the most recent flight to a given airport: "Find the last past flight to airport with locationNid 3"
  • Finding last flight to a given airport and aircraft: "Find the last flight to airport with locationNid 2 and with aircraft with NID 7177"
ParameterTypeRequiredDescription
locationNidintegeryesRequired airport location NID (numeric identifier in Leon system). Use "search-airports-by-wildcard" to find airport locationNids. Example: 1234
searchTypeALL_FLIGHTS | PAST_FLIGHTSyesType of search. Options: PAST_FLIGHTS - search only among past flight, ALL_FLIGHTS - search among all flights. Default PAST_FLIGHTS.
aircraftListunknownyesOptional list of aircraft NIDs (numeric identifier in Leon system) to which the flight search is limited. When there is no list provided, search is performed among all aircraft. Use "get-aircraft-by-registration" to get NIDs from registrations. Example: [12345, 67890].

get-aircraft-by-registration

Find a specific aircraft by exact registration match.

SEARCH METHOD: ✓ Exact registration matching - searches for precise aircraft registration ✓ Single result - returns maximum 1 aircraft (the matching one) ✓ Active aircraft only - excludes deleted or inactive aircraft

RETURNED DATA: Single aircraft object containing:

  • Basic info: registration, aircraft type, model
  • Category info: name and hierarchy

USAGE EXAMPLES:

  • US registrations: "N123AB", "N456CD"
  • German registrations: "D-ABCD", "D-EFGH"
  • UK registrations: "G-WXYZ", "G-ABCD"
  • Other formats: "9H-ABC", "CS-DEF", "HB-XYZ"

REQUIREMENTS:

  • Aircraft must be active (not deleted or marked as unused)
ParameterTypeRequiredDescription
registrationstringyesActive aircraft registration code (examples: "N123AB", "D-ABCD", "G-WXYZ"). Must belong to the current operator and be active (not deleted or marked as not used).

get-aircraft-categories

Retrieve all available aircraft categories.

RETURNED DATA: A list of aircraft categories containing:

  • categoryNid: Unique category identifier
  • categoryName: Human-readable category name
  • hierarchy: Category hierarchy information, it is optional

USE CASES:

  • Get complete list of aircraft categories for selection
  • Reference aircraft category data for other operations
  • Understand available aircraft classification system

No parameters.

get-aircraft-documents

Get documents that are actually added to aircraft profiles.

RETURNED DATA: A flat list of aircraft document objects containing:

  • aircraftDocumentNid: Unique document definition identifier in Leon system
  • documentName: Document name/title
  • fleetDocumentType: Document type (EMER,OPS,OTHER,TECH)
  • aircraftNid: Aircraft unique identifier in Leon system
  • aircraftRegistration: Aircraft registration (e.g., "N-12345", "D-ABCD")
  • expireDate: Document expiration date in ISO 8601 format (YYYY-MM-DD) or null when neverExpires is true
  • neverExpires: Whether document has no expiration date (boolean)
  • note: Additional notes about the document
  • files[]: List of attached files with:
    • fileName: file name
    • signedUrl: Temporary download link (valid 30 minutes)

USE CASES:

  • Example 1: "Get all documents for aircraft with NID 12345"
  • Example 2: "Check document expiration dates for multiple aircraft"
  • Example 3: "Download document attachments for aircraft registration N-12345"

NOTES:

  • Only shows documents that have been actually added (showEmpty=false)
  • Includes both required and optional documents (showNotRequired=true)
  • Only includes active aircraft, not grounded (includeGndAircraft=false)
ParameterTypeRequiredDescription
aircraftNidListinteger[]yesList of aircraft NIDs to fetch documents for. Example: [12345, 67890]. Must contain at least one aircraft NID.
limitintegeryesMaximum number of documents to return. Default: 20.
offsetintegeryesPagination offset - number of documents to skip. Default: 0.

get-aircraft-profile

Get detailed aircraft profile information including complete technical specifications, capabilities, and configuration data.

INPUT PARAMETERS:

  • aircraftNidList: Required list of aircraft NIDs (numeric identifiers) for which to retrieve profile data

RETURNED DATA: Comprehensive aircraft information organized in sections:

IDENTIFICATION:

  • aircraftNid: Unique aircraft identifier
  • registration: Aircraft registration marks (e.g., "A-BCDE")
  • registrationWithoutSpecialChars: Sanitized registration
  • serialNo: Aircraft serial number
  • externalId: External system identifier
  • acftType: Aircraft type with acftTypeId, ICAO, IATA, and EASA codes
  • acftTypeName: Full aircraft type name
  • category: Aircraft category classification
  • countryFromRegistration, countryCodeFromRegistration: Country data from registration

PRODUCTION:

  • yearOfProduction: Manufacturing year
  • yearOfRefurbishment: Refurbishment year (if applicable)

TECHNICAL SPECIFICATIONS:

  • mtow: Maximum Takeoff Weight
  • mlw: Maximum Landing Weight
  • mzfw: Maximum Zero Fuel Weight
  • basicOperatingWeight: Empty aircraft weight
  • paxCapacity: Maximum passenger capacity
  • maxCargo: Maximum cargo capacity
  • maxFuel: Maximum fuel capacity
  • fuelUnit: Unit of measurement for fuel
  • weightUnit: Unit of measurement for weights
  • defaultCargoUnit: Default cargo measurement unit
  • fuelType: Fuel type (e.g., JETA1)
  • engineList: Complete engine specifications with serial numbers and maintenance data
  • noiseCategory: Aircraft noise classification
  • rescueAndFireFightingCategory: Emergency response category
  • performanceSchema: Performance calculation schema
  • runwayLength: Minimum runway length (meters)

PERFORMANCE:

  • maxRangeWithNoPax: Maximum range without passengers (NM - Nautical Miles)
  • maxRangeWithMaxPax: Maximum range with full passenger load (NM - Nautical Miles)
  • climbRate: Rate of climb (ft / min)
  • descentRate: Rate of descent (ft / min)

EQUIPMENT & CAPABILITIES:

  • equipmentCodes: ICAO equipment codes
  • sELCAL: Selective-Calling radio system code
  • amenities: Cabin amenities (WiFi, smoking policy, dimensions, baggage capacity, etc.)

Use this tool when you need comprehensive aircraft technical and operational data for flight planning, maintenance, or fleet management.

ParameterTypeRequiredDescription
aircraftNidListnumber[]yesList of aircraft NIDs for which you want to obtain information. Must be greater than 0 and be a valid flight identifier. Field is required.

get-aircraft-reservation

This tool returns single aircraft reservation identified by supplied aircraftReservationNid.

INPUT PARAMETERS:

  • aircraftReservationNid: [MANDATORY] Aircraft Reservation numerical identifier (aircraftReservationNid). The value of this parameter can be obtained from such tools as "search-aircraft-reservations,

RETURNED DATA - Comprehensive Field Description:

  • aircraftReservationNid: aircraft reservation numerical identifier
  • name: A name or title given by the operator for this very reservation.
  • aircraft: Aircraft Details:
    • registration - Aircraft registration marks (e.g., SP-ABC)
    • acftType.icao/iata - Aircraft type codes per ICAO/IATA standards
    • aircraftNid - Aircraft numerical identifier
  • Airport Information (startAirport and endAirport) Note: endAirport is the same as startAirport unless status of the reservation is OPPORTUNITY, then they may be different. Airport details have following data:
    • code.icao - 4-character ICAO airport code (e.g., EPWA)
    • code.iata - 3-character IATA airport code (e.g., WAW)
    • code.mostDescriptive - Most informative code (prefers ICAO over IATA)
    • longitudeDec/latitudeDec - Airport GPS coordinates in decimal format
    • name/city/country - Airport name, city, and country
    • locationNid - Airport numerical identifier
  • startTimeUTC: date and time of the reservation start in UTC
  • endTimeUTC: date and time of the reservation end in UTC
  • status: Status of the reservation. Can have following values:
    • CONFIRMED: reservation is confirmed and aircraft time will be held free for this reservation
    • OPTION: reservation was requested but not yet confirmed.
    • OPPORTUNITY: a special kind of reservation where operator is keen to have the aircraft perform flight between two specified airports (only this kind of reservation may have two different airports on start and end)
  • client.clientNid: client numerical identifier for whom this reservation is made (sometimes known as client contactNid). You can find which clientNid is which by query tool search-contacts-by-wildcard
  • isChangingPosition: flag, if set to true and reservation has CONFIRMED status, the airport set on this reservation will be treated as aircraft location just at the end of reservation period.
  • isAllowOverlapping: flag, when set to true, this reservation is legal to overlap other activities.
  • isAvailableForCharter: flag, if set to true, aircraft can still be chartered to other clients within period of this reservation.
  • availableForCharterOffset: Time field, also known as Prior Notice - if aircraft is to be chartered for flight to other client within period of this reservation, this charter decision cannot be made in a shorter time than the period specified in this field before charter flight STD.
  • notes: operator notes to this reservation.
ParameterTypeRequiredDescription
aircraftReservationNidnumberyes[MANDATORY] Aircraft Reservation numerical identifier (aircraftReservationNid). The value of this parameter can be obtained from such tools as "search-aircraft-reservations"

get-aircraft-type-positions

Get a list of crew positions configured for a specific aircraft type.

WHAT IT RETURNS: Returns an array of crew positions (like CPT, FO, CPT2, FA, etc.) that are configured for the specified aircraft type. If no positions are found, returns an empty array.

RETURNED DATA: Array of positions, each with:

  • posNid: Position ID
  • position.name: Position code (e.g., "CPT", "FO", "FA")
  • isDefault: Whether this is a default position for this aircraft type
  • acftTypeId: Aircraft type ID this position is configured for
  • oprNid: Operator ID

USE CASES:

  • Find which crew positions can be assigned to flights using a specific aircraft type
  • Determine default crew positions for an aircraft type
  • Validate crew assignments against aircraft type configuration

FILTERING:

  • Use onlyDefault=true to get only default positions
  • Use onlyDefault=false or omit to get all configured positions
ParameterTypeRequiredDescription
aircraftTypeIdstringyesAircraft type ID (acft_type_id) to fetch configured crew positions for. You can get this ID from the aircraft profile.
onlyDefaultunknownyes(optional) If true, returns only default positions configured for this aircraft type. If false or not provided, returns all positions.

get-airport-by-code

Find a specific airport by exact code match.

SEARCH METHOD: ✓ Exact code matching - searches for precise airport code ✓ Single result - returns maximum 1 airport (the matching one) ✓ Multiple code types supported: ICAO, IATA, FAA, CUSTOM

RETURNED DATA: Single airport object containing:

  • Basic info: name, city, country
  • All codes: ICAO, IATA, FAA, custom codes

USAGE EXAMPLES:

  • ICAO codes: "EPWA" (Warsaw), "EGLL" (London Heathrow)
  • IATA codes: "WAW" (Warsaw), "LHR" (London Heathrow)
  • FAA codes: "JFK" (John F Kennedy), "LAX" (Los Angeles)
  • CUSTOM codes: "MY_CUSTOM_CODE" (organization-specific codes).
ParameterTypeRequiredDescription
codestringyesAirport code to search for (examples: "EPWA" for ICAO, "WAW" for IATA, "JFK" for FAA, "MY_CODE" for CUSTOM)
codeTypeCUSTOM | FAA | IATA | ICAOyesType of airport code to search by. Options: ICAO (international standard), IATA (airline codes), FAA (US codes), CUSTOM (custom codes)

get-airport-categories-by-codes

Retrieve airport categories for multiple airports by their codes in a single batch request.

RETURNED DATA: A list of objects containing for each airport:

  • code: Airport code object with icao, iata, and mostDescriptive fields
  • name: Airport name
  • locationNid: Location identifier
  • categories: Array of category objects, each containing:
    • acftType: ICAO aircraft type code (String, non-null)
    • category: Category classification (String, nullable)
    • variant: Aircraft variant (String, nullable)

USE CASES:

  • Example 1: "Get airport categories for EPWA, LEMD, KJFK"
  • Example 2: "Check what aircraft categories are allowed at multiple airports"
  • Example 3: "Batch retrieve airport restrictions for flight planning"
ParameterTypeRequiredDescription
codesobject[]yesArray of airport code objects to retrieve categories for (examples: [{"code": "EPWA", "codeType": "ICAO"}, {"code": "JFK", "codeType": "IATA"}])

get-airport-handling-agents

Returns a list of handling agents for a specific airport.

SEARCH METHOD: ✓ Search by airport code with code type specification ✓ Supports ICAO, IATA, FAA, CUSTOM codes ✓ Returns all handling agents for the airport

RETURNED DATA: List of handling agent objects, each containing:

  • Basic info: handlerNid, name, type
  • Contact: email, telephone, telephoneAfterHours, fax
  • Communication: sita, aftn, frequency
  • Location: city, country, address1, address2, postcode, state
  • Services: fuelSupply, fuelBrand1, fuelBrand2, hours, isH24CallOut
  • Status flags: isApproved, isFavorite, isRecommended
  • Additional: website, locationOnField, tollFee, notes
  • Tags: aptdirTags array with tagNid and name

USE CASES:

  • "Find handling agents at EPWA airport"
  • "Get fuel suppliers for JFK (IATA code)"
  • "List all ground services at Warsaw airport"
  • "Find 24/7 handling agents at London Heathrow"
ParameterTypeRequiredDescription
airportCodestringyesAirport code - e.g. "EPWA" for Warsaw (ICAO), "WAW" for Warsaw (IATA)
codeTypeCUSTOM | FAA | IATA | ICAOyesType of airport code. Default is ICAO (4-letter code). IATA is 3-letter code.

get-airport-opening-hours

Returns iCalendar RRULE-based operating-hours rules for airport.

When to use:

  • User asks about general schedule patterns or opening hours without a specific date/time.
  • If the user provides a specific moment, use check-is-airport-open-at-date-time.

Important rules:

  • If results include SUNRISE/SUNSET or LT (local time), state that hours depend on a specific date (sunrise/sunset vary daily and local rules like DST may shift times). When the user provides a date, use check-is-airport-open-at-date-time to return exact times.
  • Main Availability logic (deciding for a moment t):
    • Scope rules by context: for departures use DEPARTURES and BOTH; for arrivals use ARRIVALS and BOTH.
    • Evaluate all CLOSED windows first. If t falls in any CLOSED → airport is closed.
    • If no CLOSED matches, check OPEN. Any matching OPEN → airport is open.
    • A CLOSED inside an OPEN trims the OPEN; only non-closed fragments remain available.
    • By default, the airport is closed (absence of any RRULE = closed).

Data returned

  • 'airport': basic info

  • 'hoursRecurrenceListData.hoursRecurrenceList[]' with fields:

    • 'rule': RRULE string (e.g. 'FREQ=WEEKLY;BYDAY=MO,TU,WE')
    • 'state': OPEN | CLOSED (OPEN adds availability; CLOSED removes it).
    • 'timezone': LT (local) or UTC
    • 'applyToDepartureArrival': DEPARTURES | ARRIVALS | BOTH
    • 'startOffsetReference' / 'endOffsetReference': MIDNIGHT | SUNRISE | SUNSET
    • 'startOffset' / 'endOffset': duration ('PT6H', 'PT30M', or 'HH:MM')
    • 'isStartOffsetPositive' / 'isEndOffsetPositive': add/subtract offset
  • Interpreting references and offsets (behavior)

    • Reference instant for occurrence day D:
      • MIDNIGHT: D at 00:00 in the rule’s timezone.
      • SUNRISE / SUNSET: astronomical time for the airport’s location on D.
    • Applying offsets:
      • start = reference(startOffsetReference, D) ± startOffset (sign via isStartOffsetPositive)
      • endCandidate = reference(endOffsetReference, D) ± endOffset (sign via isEndOffsetPositive)
      • endNextDay = reference(endOffsetReference, D+1) ± endOffset (same sign)
      • Overnight: end = (endCandidate < start) ? endNextDay : endCandidate
    • Membership test (used by date-time checker): a moment t is inside an occurrence if start <= t <= end.
  • Minimal examples (conceptual windows)

    • Fixed hours (LT): startRef=MIDNIGHT + 08:00, endRef=MIDNIGHT + 20:00 → window [08:00, 20:00].
    • Overnight (LT): startRef=MIDNIGHT + 22:00, endRef=MIDNIGHT + 06:00 → endCandidate < start → [22:00, next-day 06:00].
    • Sun-based closure (LT): startRef=SUNSET + 00:30, endRef=SUNRISE − 00:30 → [SUNSET+30m, next SUNRISE−30m].
    • Negative start (LT): startRef=MIDNIGHT − 00:15, endRef=MIDNIGHT + 02:00 → [prev-day 23:45, 02:00].
  • Durations

    • Accept ISO 8601 durations (PT6H, PT30M) or HH:MM; the sign comes from is*Positive.
ParameterTypeRequiredDescription
airportCodeListstring[]yesList of airport codes to query. Supports ICAO, IATA, FAA or custom codes. Example: ["EPWA", "EGLL"]
hoursTypeCUSTOMS | OPENING | TOWERyesType of operating hours to check. One of string: [OPENING

get-airport-timezone-details

Returns timezone information and sunrise/sunset times for one or more airports.

INPUT: ✓ Airport codes (required): List of airport codes (ICAO, IATA, FAA, or CUSTOM) ✓ Dates (required): List of dates in YYYY-MM-DD format. You decide which dates to use based on context.

RETURNED DATA: For each airport, returns:

  • Airport code details: icao, iata, faa, cust

  • Timezone information: • name: Timezone name (e.g., "Europe/Warsaw", "America/New_York") • abbreviation: Timezone abbreviation (e.g., "CET", "EST", "PST") • currentOffset: Current UTC offset in seconds (e.g., 3600 for +01:00) • standardOffset: Standard time offset in seconds (without DST) • dstOffset: Daylight Saving Time offset in seconds • nextDstChangeTimestamp: Unix timestamp of next DST change

  • Sunrise/Sunset data (for each requested date): • date: Date in YYYY-MM-DD format • sunrise: Sunrise time in ISO 8601 format (e.g., "2025-11-18T07:13:00+01:00") • sunset: Sunset time in ISO 8601 format (e.g., "2025-11-18T16:42:00+01:00")

    IMPORTANT NOTE:

  • Present timestamps and data based on seconds in human friendly way

USE CASES:

  • "Get timezone details for Warsaw airport"
  • "Find sunrise and sunset times for EPWA on December 25, 2025"
  • "Get UTC offset for multiple airports: WAW, LHR, JFK"
  • "Check DST change dates for Paris CDG airport"
  • "Get sunrise/sunset times for next week at London Heathrow"
ParameterTypeRequiredDescription
codesstring[]yesList of airport codes - e.g. ["EPWA", "WAW", "LHR"]. Supports ICAO, IATA, FAA, and CUSTOM codes.
datesstring[]yesList of dates in ISO format (YYYY-MM-DD) - e.g. ["2025-11-18", "2025-12-25"]. If user doesn`t provide any date, use today.

get-aoc-list

Fetches AOC data for current user (operator).

Air Operator's Certificate (AOC) – A permit issued by a national aviation authority allowing an airline to operate aircraft commercially. It confirms the operator has the required staff, infrastructure, and safety systems. The certificate lists approved aircraft (with registration numbers) and defines the allowed operational area, which may be limited to specific airports or regions.

RETURNED DATA: On success returns created contact with:

  • aocList, with: name, defaultAircraftList (list of the Aircraft, that operate under the AOC)
  • defaultAircraftList with: aircraftNid, registration, acftType (An Object, describing a type of the aircraft)
  • acftType with: acftTypeId, icao (standardized, code given be ICAO), typeName, defRestFacility (an Object describing the default facility, the Aircraft staff can rest in), homeBase (an Object describing airport, where the Aircraft bases on)
  • defRestFacility with: value, label (Enum with description)
  • homeBase with: locationNid, airportCodeString.
  • All properties, suffixed with "Nid" are just numerical ID references, that can be used with the API.

USE CASES:

  • Get a list of AOCs.
  • Check out what aircraft are operating under the AOCs, the operator has defined.
  • Check out if some conditions of the aircraft for specific AOCs are met (eg. defRestFacility)

No parameters.

get-available-checklist-definitions

Returns all available checklist item definitions that can be added to flights or trips.

WHEN TO USE:

  • User asks "what checklist items can I add to a flight?"
  • Before adding checklist items, you need to find valid cdNid values
  • Need to see available statuses for checklist items
  • Planning to add OPS, SALES, or FLIGHT_CARE items to a flight

IMPORTANT:

  • cdNid from this tool MUST be used in add-or-update-checklist-items
  • Each definition includes available statuses (QSM, completed, etc.)
  • Definitions are grouped: OPS (operational), SALES, FLIGHT_CARE
  • Items can be FLIGHT-level or TRIP-level

INPUT REQUIREMENTS:

  • groupId parameter is OPTIONAL
  • If not specified, returns definitions from ALL groups
  • Valid groupId values: OPS, SALES, FLIGHT_CARE, ALL

RETURNED DATA: Array of checklist definition objects, each containing:

  • cdNid: Checklist definition identifier (MUST be used as cdNid parameter in add-or-update-checklist-items tool)
  • label: Full display label (e.g., "Fuel planning completed")
  • shortLabel: Abbreviated label for compact display
  • groupId: Checklist group (OPS, SALES, or FLIGHT_CARE)
  • typeId: Scope (FLIGHT or TRIP level)
  • section: Section name for UI organization
  • sectionId: Numerical section identifier
  • order: Display order within the section
  • statuses: Array of available status objects:
    • status: Status identifier string
    • checklistStatusId: Status ID (MUST be used as checklistStatusId parameter in add-or-update-checklist-items tool)
    • caption: Human-readable label for the status
    • abbreviation: Short version of caption

USE CASES:

  • "Show me all OPS checklist items I can add" → groupId: OPS
  • "What checklist items are available?" → no groupId parameter
  • "Get available statuses for checklist items" → inspect statuses array in results

RELATED TOOLS:

  • Use "add-or-update-checklist-items" to actually add/update items using cdNid from this tool
  • Use "search-flights" to find flights to add checklist items to
ParameterTypeRequiredDescription
groupIdunknownyes[OPTIONAL] Filter by checklist group (OPS, SALES, FLIGHT_CARE, ALL). If not specified, returns all groups, same as using groupId: ALL. AVAILABLE VALUES: - OPS: Operational checklist items - SALES: Sales-related items - FLIGHT_CARE: Flight care items - ALL: All groups items

get-contact-duplicates-by-contact-nid

Find duplicate contacts based on contact NID in Leon aviation operations system.

RETURNED DATA: Returns a list of contact NIDs (numerical identifiers) that are duplicates of the provided contact:

  • contactNids: Array of integers representing duplicate contact IDs
  • Empty array if no duplicates found
  • To get details about returned contacts get-contact-profiles-by-nid-list tool may be used

USE CASES:

  • Data quality: "Find all duplicate records for contact 12345"
  • Contact merging: "Identify duplicate contacts before merging profiles"
  • Cleanup operations: "Detect duplicate contacts for data cleanup"

USAGE EXAMPLE:

  • Input: contactNid: 12345
  • Output: [12346, 12347] (list of duplicate contact NIDs)
ParameterTypeRequiredDescription
contactNidnumberyesContact NID (numerical identifier) to find duplicates for. Example: 12345

get-contact-profiles-by-nid-list

Retrieve contact profiles by their NIDs (numerical identifiers) from the Leon aviation operations phonebook.

RETURNED DATA: For each contact returns comprehensive profile information:

  • Basic info: name, surname, personCode, knownAs
  • login.loginNid: Available if the contact is a system user (e.g. crew, operator user, aircraft owner)
  • Contact details: emailWork, emailPrivate, phoneWork, phonePrivate
  • Demographics: genderEnum (MALE/FEMALE/UNKNOWN)

USAGE EXAMPLES:

  • Retrieve passenger contact details: contactsNids: [11111]
  • Bulk contact data export: contactsNids: [1001, 1002, 1003]
ParameterTypeRequiredDescription
contactsNidsnumber[]yesList of contact NIDs (numerical identifiers) to retrieve profiles for. Example: [12345, 67890, 11111]

get-crew-by-wildcard

Search for crew members using wildcard text search across multiple fields in Leon aviation operations system.

SEARCH CAPABILITIES:

  • Searches across crew member personal information (names, codes, emails and addresses)
  • Supports partial matching for crew member identification
  • Case-insensitive search
  • Returns crew members with their contact details and position information

RETURNED DATA: For each matching crew member returns:

  • crewMemberNid: Unique identifier for the crew member
  • login: Login information including loginNid, code, name, surname, knownAs, email and phone contacts
  • contact: Contact details including contactNid, personal info, person code, gender, and contact information
  • primaryPosition: Primary crew position including position ID, name, type, and occupation

USAGE EXAMPLES:

  • Names: "John", "Smith" → matches crew member names and surnames
  • Codes: "CAPT123", "FO456" → matches crew member codes
  • Emails: "tdelta.leon@gmail.com" → matches crew member emails
  • Partial names: "Smi" → matches surnames starting with "Smi"

USE CASES:

  • Find crew members by name or surname for flight assignment
  • Search crew by code to quickly identify specific personnel
  • Locate crew members for scheduling and duty assignments
  • Retrieve crew contact information for operational communication
ParameterTypeRequiredDescription
wildcardstringyesSearch term - minimum 1 character required. Searches across crew member names, codes, emails and addresses

get-crew-ftl-sheet

Fetches the full FTL (Flight Time Limitations) sheet data for a crew member over a given time interval. The primary use case is generating an FTL Sheet report or retrieving all data needed for that report. The time interval MUST NOT exceed 2 months.

INPUT:

  • crewMember: Crew member code (string, e.g. "JKO") or login_nid (positive integer).
  • timeInterval: Object with start and end ISO8601 DateTime strings (UTC). Maximum span: 2 months.

RETURNED DATA: On success returns an object with:

  • pdfLink: URL to a pre-generated FTL Sheet PDF for the given crew member and period.
  • calculations: Array of per-day FTL data entries, each containing:
    • date: The calendar date (Date scalar).
    • dayOffStatus: Whether the day is counted as a day off for FTL purposes. Values: NONE (no day-off), VALID (day off counted towards FTL limits), INVALID (day off not counted).
    • cumulativeLimits: Day-level cumulative FTL limits snapshot (FtlCumulativeLimits):
      • fdpLimits: FDP (Flight Duty Period) limits — list of FtlLimitedValue.
      • legalOffences: List of limit violations — list of FtlLimitedValue.
      • fdpExtensionDuration: FDP extension duration limit — FtlLimitedValue.
      • splitDutyLimits: Split duty limits — list of FtlLimitedValue.
      • last36hRest: 36-hour rest limit with date references.
      • cumulativeBlock: Cumulative block time limits — list of FtlLimitedValue.
      • cumulativeDuty: Cumulative duty time limits — list of FtlLimitedValue.
      • nocturnalLimits: Nocturnal (night) duty limits — list of FtlLimitedValue.
      • nocturnalRestAfterLimits: Rest required after nocturnal duty — list of FtlLimitedValue.
      • cumulativeDaysOff: Cumulative days-off limits — list of FtlLimitedValue.
      • augmentedFDPLimits: Augmented FDP limits — list of FtlLimitedValue.
    • rosterDuties: Roster duties on this day — list of Duty objects:
      • dutyNid: Numeric duty ID.
      • trNid: Numeric transaction (sector) ID.
      • type: Duty type enum (e.g. FLIGHT, POSITIONING, STANDBY, etc.).
      • startTimeIso: Duty start time (ISO DateTime).
      • endTimeIso: Duty end time (ISO DateTime).
      • duration: Duty duration in minutes.
      • startAirport: Airport where the duty starts (locationNid, name).
      • endAirport: Airport where the duty ends (locationNid, name).
    • ftlCalculations: FTL calculation entries for duties on this day — list of FtlCalculations:
      • trNid: Sector/activity transaction ID (nullable, null if duty has no operating sector).
      • dutyLength: Total duty length in minutes.
      • fdpExtension: Whether FDP was extended (Boolean).
      • fdpExtensionCaution: Whether FDP extension triggers a caution (Boolean).
      • restReduction: Whether rest was reduced (Boolean).
      • restReductionAuto: Whether rest reduction was applied automatically.
      • restReductionModeBefore: Rest reduction mode applied before the duty (RestReduction enum).
      • restReductionModeAfter: Rest reduction mode applied after the duty (RestReduction enum).
      • restFacility: Rest facility type available during duty (NONE, SEAT, SEMI, BUNK).
      • fdpLength: FDP length with limit (FtlLimitedValue: actual, limit, limitType, label, offence).
      • dutyLimitedLength: Duty length with limit (FtlLimitedValue).
      • totalBlockTime: Total block time with limit (FtlLimitedValue).
      • sectorBlockTime: Individual sector block time with limit (FtlLimitedValue, nullable).
      • restAfterDuty: Minimum rest required after duty (FtlLimitedValue, nullable).
      • restBeforeDuty: Minimum rest required before duty (FtlLimitedValue, nullable).
      • fdpComment: Comment explaining the FDP calculation.
      • restAfterComment: Comment explaining rest after duty.
      • restBeforeComment: Comment explaining rest before duty.
      • EOBTComment: Comment about the next EOBT (estimated off-block time), nullable.
      • isRestBeforeForced: Whether rest before was manually forced.
      • isRestAfterForced: Whether rest after was manually forced.
      • isHotelProvidedAfter: Whether hotel accommodation is provided after the duty.
      • isHotelProvidedDuringBreak: Whether hotel is provided during a break.
      • isFdpExtensionDisabled: Whether FDP extension is disabled for this duty.
      • isFdpModeAuto: Whether FDP mode is calculated automatically.
      • acclimatisation: Acclimatisation status string.
      • acclimatisationDetails: Detailed acclimatisation information string.
      • nextEOBT: Next estimated off-block time (DateTime, nullable).
      • nextEobtWithCompensation: EOBT with compensation in minutes (nullable).
      • nextEobtWithCompensationComment: Comment for the compensated EOBT (nullable).
      • isViolationApproved: Whether any FTL violation is approved (nullable).
      • violationApprovedNote: Note explaining an approved violation (nullable).
      • useFlightTimeForCumulativeLimits: Whether flight time is used instead of block time for cumulative limits.
      • canEditReportingTimes: Whether reporting times can be edited.
      • break: Split-duty break details (nullable), containing:
        • length: Break length in minutes.
        • startTrNid: Sector ID where break starts.
        • endTrNid: Sector ID where break ends.
        • startTime: Break start time (AutoTime: isAuto, time).
        • endTime: Break end time (AutoTime: isAuto, time).
      • fdpSectors: Sectors within the FDP — list of FtlLeg:
        • nid: Leg numeric ID.
        • trActivityType: Activity type enum (FLIGHT, POSITIONING, etc.).
        • isInFdp: Whether this sector is inside the FDP.
        • isReportingEditable: Whether reporting times can be manually edited.
        • isCommanderDiscretionRest: Whether commander discretion was used for rest.
        • possibleBreakAfter: Whether a split-duty break can be placed after this sector.
        • isBreakAfterDisabled: Whether a break after this sector is disabled.
        • isHotelProvidedAfterSector: Whether hotel is provided after this sector.
        • ferry: Whether the sector is a ferry flight (nullable).
        • cockpitCount: Number of cockpit crew (nullable).
        • cabinCount: Number of cabin crew (nullable).
        • reportOff: Report-off time (AutoTime: isAuto, time).
        • reportOn: Report-on time (AutoTime: isAuto, time).
        • schedule: Sector schedule containing:
          • startTime: Scheduled departure time.
          • endTime: Scheduled arrival time.
          • date: Date of the sector (DateTime).
          • cnl: Whether the sector is cancelled (Boolean).
          • sectorName: Sector name/flight number.
          • adep: Departure airport (locationNid, name). Requires GRAPHQL_AIRPORT permission.
          • ades: Arrival airport (locationNid, name). Requires GRAPHQL_AIRPORT permission.
      • ftlCumulativeLimits: Duty-level cumulative FTL limits snapshot (same structure as day-level cumulativeLimits, nullable).

FtlLimitedValue structure (used throughout):

  • actual: Actual value in minutes (Int).
  • limit: Regulatory limit value in minutes (Int).
  • limitType: MAX or MIN — whether the limit is a maximum or minimum threshold.
  • label: Human-readable label identifying the limit rule.
  • offence: true if the actual value violates the limit, null if not applicable.

USE CASES:

  • Generate or preview an FTL Sheet for a specific crew member over a given period.
  • Check FTL compliance (violations, offences) for a crew member's duties.
  • Retrieve the PDF link to a pre-generated FTL Sheet report.
  • Analyze cumulative FTL limits (block time, duty time, days off) per day.
  • Inspect FDP lengths, rest periods, and acclimatisation status per duty.
  • Verify split-duty breaks, hotel provisions, and rest reductions.
  • Audit approved FTL violations with their notes.

REQUIRES:

  • GRAPHQL_FTL (aka FTL_SEE) permission on API Key — required for all FTL data.
  • GRAPHQL_AIRPORT permission — required for airport data in fdpSectors.schedule (adep, ades).

RELATED TOOLS:

  • get-crew-by-wildcard: Use this first to resolve a crew member's code or loginNid from a name or partial search string.
  • get-duty-list: Fetches the crew roster/calendar (duty blocks and availability) for a crew member over a time interval. Use it to discover which duties exist before drilling into FTL details.
  • get-ftl-duty-details: Fetches deep FTL data for a single duty identified by a trNid. Use it when you need detailed analysis of one specific duty rather than the full time-range view.
  • get-duty-definition-list / get-duty-definition-all: Fetch duty type definitions, useful for interpreting the type enum values returned in rosterDuties.
  • create-crew-duty: Creates a duty for a crew member. Use alongside this tool to schedule duties and then verify FTL compliance.

RECOMMENDED AGENT WORKFLOW:

  1. get-crew-by-wildcard — resolve the crew member identifier (code or loginNid).
  2. get-crew-ftl-sheet — retrieve the full FTL sheet and check for violations..

On failure returns an error message. If access is denied, inform the user and suggest checking API Key permissions or contacting the administrator.

ParameterTypeRequiredDescription
crewMemberunknownyesIdentifies the crew member. MUST be either a crew member code (string, min 3 chars) or a login_nid (positive integer).
timeIntervalobjectyesTime interval for which the FTL sheet data is fetched. MUST be at most 2 months.

get-crew-ftl-violations

Fetches FTL (Flight Time Limitations) violation data for a crew member over a given time interval. This tool uses the same underlying calculations as get-crew-ftl-sheet, but returns only the days that contain at least one FTL violation. The time interval MUST NOT exceed 2 months.

INPUT:

  • crewMember: Crew member code (string, e.g. "JKO") or login_nid (positive integer).
  • timeInterval: Object with start and end ISO8601 DateTime strings (UTC). Maximum span: 2 months.

RETURNED DATA: On success returns an object with:

  • pdfLink: URL to the basic version of the pre-generated FTL Violations PDF report for the given crew member and period.
  • calculations: Array of per-day FTL data entries for violation days only. Structure is identical to get-crew-ftl-sheet's calculations field:
    • date: The calendar date (Date scalar).
    • dayOffStatus: Whether the day is counted as a day off for FTL purposes. Values: NONE (no day-off), VALID (day off counted towards FTL limits), INVALID (day off not counted).
    • cumulativeLimits: Day-level cumulative FTL limits snapshot (FtlCumulativeLimits):
      • fdpLimits: FDP (Flight Duty Period) limits — list of FtlLimitedValue.
      • legalOffences: List of limit violations — list of FtlLimitedValue.
      • fdpExtensionDuration: FDP extension duration limit — FtlLimitedValue.
      • splitDutyLimits: Split duty limits — list of FtlLimitedValue.
      • last36hRest: 36-hour rest limit with date references.
      • cumulativeBlock: Cumulative block time limits — list of FtlLimitedValue.
      • cumulativeDuty: Cumulative duty time limits — list of FtlLimitedValue.
      • nocturnalLimits: Nocturnal (night) duty limits — list of FtlLimitedValue.
      • nocturnalRestAfterLimits: Rest required after nocturnal duty — list of FtlLimitedValue.
      • cumulativeDaysOff: Cumulative days-off limits — list of FtlLimitedValue.
      • augmentedFDPLimits: Augmented FDP limits — list of FtlLimitedValue.
    • rosterDuties: Roster duties on this day — list of Duty objects:
      • dutyNid: Numeric duty ID.
      • trNid: Numeric transaction (sector) ID.
      • type: Duty type enum (e.g. FLIGHT, POSITIONING, STANDBY, etc.).
      • startTimeIso: Duty start time (ISO DateTime).
      • endTimeIso: Duty end time (ISO DateTime).
      • duration: Duty duration in minutes.
      • startAirport: Airport where the duty starts (locationNid, name).
      • endAirport: Airport where the duty ends (locationNid, name).
    • ftlCalculations: FTL calculation entries for duties on this day — list of FtlCalculations:
      • trNid: Sector/activity transaction ID (nullable, null if duty has no operating sector).
      • dutyLength: Total duty length in minutes.
      • fdpExtension: Whether FDP was extended (Boolean).
      • fdpExtensionCaution: Whether FDP extension triggers a caution (Boolean).
      • restReduction: Whether rest was reduced (Boolean).
      • restReductionAuto: Whether rest reduction was applied automatically.
      • restReductionModeBefore: Rest reduction mode applied before the duty (RestReduction enum).
      • restReductionModeAfter: Rest reduction mode applied after the duty (RestReduction enum).
      • restFacility: Rest facility type available during duty (NONE, SEAT, SEMI, BUNK).
      • fdpLength: FDP length with limit (FtlLimitedValue: actual, limit, limitType, label, offence).
      • dutyLimitedLength: Duty length with limit (FtlLimitedValue).
      • totalBlockTime: Total block time with limit (FtlLimitedValue).
      • sectorBlockTime: Individual sector block time with limit (FtlLimitedValue, nullable).
      • restAfterDuty: Minimum rest required after duty (FtlLimitedValue, nullable).
      • restBeforeDuty: Minimum rest required before duty (FtlLimitedValue, nullable).
      • fdpComment: Comment explaining the FDP calculation.
      • restAfterComment: Comment explaining rest after duty.
      • restBeforeComment: Comment explaining rest before duty.
      • EOBTComment: Comment about the next EOBT (estimated off-block time), nullable.
      • isRestBeforeForced: Whether rest before was manually forced.
      • isRestAfterForced: Whether rest after was manually forced.
      • isHotelProvidedAfter: Whether hotel accommodation is provided after the duty.
      • isHotelProvidedDuringBreak: Whether hotel is provided during a break.
      • isFdpExtensionDisabled: Whether FDP extension is disabled for this duty.
      • isFdpModeAuto: Whether FDP mode is calculated automatically.
      • acclimatisation: Acclimatisation status string.
      • acclimatisationDetails: Detailed acclimatisation information string.
      • nextEOBT: Next estimated off-block time (DateTime, nullable).
      • nextEobtWithCompensation: EOBT with compensation in minutes (nullable).
      • nextEobtWithCompensationComment: Comment for the compensated EOBT (nullable).
      • isViolationApproved: Whether any FTL violation is approved (nullable).
      • violationApprovedNote: Note explaining an approved violation (nullable).
      • useFlightTimeForCumulativeLimits: Whether flight time is used instead of block time for cumulative limits.
      • canEditReportingTimes: Whether reporting times can be edited.
      • break: Split-duty break details (nullable), containing:
        • length: Break length in minutes.
        • startTrNid: Sector ID where break starts.
        • endTrNid: Sector ID where break ends.
        • startTime: Break start time (AutoTime: isAuto, time).
        • endTime: Break end time (AutoTime: isAuto, time).
      • fdpSectors: Sectors within the FDP — list of FtlLeg:
        • nid: Leg numeric ID.
        • trActivityType: Activity type enum (FLIGHT, POSITIONING, etc.).
        • isInFdp: Whether this sector is inside the FDP.
        • isReportingEditable: Whether reporting times can be manually edited.
        • isCommanderDiscretionRest: Whether commander discretion was used for rest.
        • possibleBreakAfter: Whether a split-duty break can be placed after this sector.
        • isBreakAfterDisabled: Whether a break after this sector is disabled.
        • isHotelProvidedAfterSector: Whether hotel is provided after this sector.
        • ferry: Whether the sector is a ferry flight (nullable).
        • cockpitCount: Number of cockpit crew (nullable).
        • cabinCount: Number of cabin crew (nullable).
        • reportOff: Report-off time (AutoTime: isAuto, time).
        • reportOn: Report-on time (AutoTime: isAuto, time).
        • schedule: Sector schedule containing:
          • startTime: Scheduled departure time.
          • endTime: Scheduled arrival time.
          • date: Date of the sector (DateTime).
          • cnl: Whether the sector is cancelled (Boolean).
          • sectorName: Sector name/flight number.
          • adep: Departure airport (locationNid, name). Requires GRAPHQL_AIRPORT permission.
          • ades: Arrival airport (locationNid, name). Requires GRAPHQL_AIRPORT permission.
      • ftlCumulativeLimits: Duty-level cumulative FTL limits snapshot (same structure as day-level cumulativeLimits, nullable).

FtlLimitedValue structure (used throughout):

  • actual: Actual value in minutes (Int).
  • limit: Regulatory limit value in minutes (Int).
  • limitType: MAX or MIN — whether the limit is a maximum or minimum threshold.
  • label: Human-readable label identifying the limit rule.
  • offence: true if the actual value violates the limit, null if not applicable.

USE CASES:

  • Retrieve the PDF link to the basic version of a pre-generated FTL Violations report.
  • Quickly review only the days where a crew member breached an FTL limit, without wading through the full unfiltered FTL sheet.
  • Audit approved and unapproved FTL violations with their notes.

REQUIRES:

  • GRAPHQL_FTL (aka FTL_SEE) permission on API Key — required for all FTL data.
  • GRAPHQL_AIRPORT permission — required for airport data in fdpSectors.schedule (adep, ades).

RELATED TOOLS:

  • get-crew-by-wildcard: Use this first to resolve a crew member's code or loginNid from a name or partial search string.
  • get-crew-ftl-sheet: Use this for the full, unfiltered FTL sheet covering every day in the interval, not just violation days.
  • get-duty-list: Fetches the crew roster/calendar (duty blocks and availability) for a crew member over a time interval.
  • get-ftl-duty-details: Fetches deep FTL data for a single duty identified by a trNid.

RECOMMENDED AGENT WORKFLOW:

  1. get-crew-by-wildcard — resolve the crew member identifier (code or loginNid).
  2. get-crew-ftl-violations — retrieve only the days with FTL violations and the violations report PDF link.

On failure returns an error message. If access is denied, inform the user and suggest checking API Key permissions or contacting the administrator.

ParameterTypeRequiredDescription
crewMemberunknownyesIdentifies the crew member. MUST be either a crew member code (string, min 3 chars) or a login_nid (positive integer).
timeIntervalobjectyesTime interval for which the FTL violations data is fetched. MUST be at most 2 months.

get-crew-member-list

Retrieve a list of crew members (identified by loginNid) who have at least one rating of any type on any aircraft type.

RETURNED DATA: A list of loginNid values (numerical identifiers) for matching crew members.

FILTERING:

  • aircraftTypeList is OPTIONAL. When provided, only crew members with at least one rating on any of the listed aircraft types SHALL be returned.
  • When aircraftTypeList is omitted, crew members with at least one rating on any aircraft type SHALL be returned.

USE CASES:

  • Find all crew members qualified on one or more specific aircraft types
  • Retrieve the full list of crew members who hold any aircraft rating
ParameterTypeRequiredDescription
aircraftTypeListstring[]no(optional) List of aircraft type identifiers (acft_type_id, e.g. ["B738", "A320"]). When provided, only crew members with at least one rating on any of these aircraft types MUST be returned. When omitted, crew members with at least one rating on any aircraft type MUST be returned.

get-crew-member-ratings-list

Retrieve crew member ratings and qualifications for multiple crew members by their login NIDs. RETURNED DATA: For each crew member returns their complete ratings list including:

  • Aircraft type details: name, category, ICAO code, IATA code
  • Position details: name, category, code (e.g., CPT, FO, CABIN)
  • Qualification flags: isExperienced, isPositionDefault
  • Aircraft position list: all available positions for each aircraft type with default position indicators
ParameterTypeRequiredDescription
loginNidListnumber[]yesList of crew member numerical identifiers

get-crew-suggestions-for-flight

Get crew member suggestions for a specific flight and position, using the same logic as the Crew assignment tab in the flight details.

WHAT IT DOES: Returns a comprehensive list of crew members who can be assigned to a specific flight for a given position. This tool uses the same business logic as the crew assignment functionality in the Crew tab when assigning crew members to a flight.

RETURNED DATA: Returns an array of crew member objects with the following fields:

  • groupHeader: string - Group header for categorizing suggestions
  • loginNid: number - Crew member login identifier (required for assignment with assign-crew-by-position-name tool)
  • contactNid: number - Contact identifier
  • code: string - Crew member code/badge number
  • name: string - First name
  • surname: string - Last name
  • knownAs: string - Preferred name or nickname
  • dateOfBirth: string - Date of birth in ISO 8601 format (e.g., "1990-05-15")
  • dutyName: string - Duty/position name
  • requestName: string - Request name (if this is a requested crew member)
  • location: string - Current airport location (ICAO/IATA code)
  • yearBlock: string - Year block hours (formatted as HH:MM)
  • monthBlock: string - Month block hours (formatted as HH:MM)
  • excluded: boolean - Whether excluded from planning
  • inexperienced: boolean - Whether crew member is inexperienced
  • inAdep: boolean - Whether at departure airport
  • notes: string - Additional notes
  • departurePassport: object - Passport for departure (with country details, visa list, expiry dates)
  • arrivalPassport: object - Passport for arrival (with country details, visa list, expiry dates)
  • labelList: array - List of labels/tags assigned to crew member (with labelNid, title, colorRgb)

USE CASES:

  • Find available crew members to assign to a flight for a specific position
  • Get crew suggestions with full details including passport information
  • Check crew location and availability
  • View crew block hours and qualifications
  • Identify the loginNid needed to assign crew using assign-crew-by-position-name tool

REQUIREMENTS:

  • flightNid MUST be provided and MUST be a valid flight identifier
  • positionNid MUST be provided and MUST be a valid position identifier for the aircraft type
  • The user MUST have appropriate permissions to view crew information

WORKFLOW:

  1. Use get-aircraft-type-positions to find available positions for the flight's aircraft type
  2. Use this tool with the desired position to get crew suggestions
  3. Use the loginNid from the response with assign-crew-by-position-name to assign selected crew members to the flight

IMPORTANT NOTES:

  • This tool returns suggestions only; it does NOT assign crew members
  • The suggestions reflect real-time crew availability, location, and passport data
  • Passport information includes visa requirements for departure and arrival countries
  • Crew members without required data (loginNid, code, or name) are filtered out by the backend
ParameterTypeRequiredDescription
flightNidintegeryesFlight numerical identifier (flight_nid/tr_nid) for which crew suggestions should be retrieved. This is the unique identifier of the flight leg.
positionNidintegeryesPosition numerical identifier (pos_nid) for the crew role. This specifies which crew position (e.g., CPT for Captain, FO for First Officer, FA for Flight Attendant) you want to find available crew members for. Use get-aircraft-type-positions tool to get available positions for a specific aircraft type.

get-duty-definition-all

Returns all duty definition list

No parameters.

get-duty-definition-list

Returns a list of duty definition

ParameterTypeRequiredDescription
dutyDefinitionNidListnumber[]yesList of duty definition IDs to filter duties by

get-duty-list

Retrieves the crew roster and duty schedule (Crew Calendar/Timeline) for specified crew members within a given time interval. IMPORTANT: This tool returns duty blocks (time ranges) and availability status. It does NOT return specific flight itinerary details (e.g., flight numbers, ADEP/ADES, flight times). Use this tool to find out WHEN a crew member is working, training, or off, not WHICH flights they are operating.

RETURNED DATA: The tool returns roster entries categorized as:

  • Aircraft Shifts/ON Days: Blocks of time where crew is assigned to an aircraft or on duty (without specific flight leg details).
  • Off-duty periods (OFFs): Vacation, rest days, sick leave, guaranteed days off.
  • Standby duties: Periods where crew is available for call-up.
  • Training duties: Simulator sessions, ground courses, briefings.

TYPICAL WORKFLOW:

  1. MUST obtain crew member login NIDs first.
  2. Call this tool to visualize the roster/calendar structure (e.g., "Is John available?", "When is the next training?").
  3. If specific flight details (legs, flight numbers) are needed, use a dedicated flight-search tool instead.

USE CASES:

  • "Check if pilot John Smith is on standby or off next Monday"
  • "List all training sessions for the cabin crew in January"
  • "Show the roster schedule for a specific crew member"
  • "Identify days where the crew is assigned to an aircraft (ON days)"

FILTERING:

  • By crew members: using loginNidList (REQUIRED)
  • By duty definitions: using dutyDefinitionNidList (OPTIONAL - use get-duty-definition-all to find IDs)
  • By time period: using timeInterval (REQUIRED, max 3 months)
ParameterTypeRequiredDescription
timeIntervalobjectyesTime interval, max length typically up to 1 month; extended limits (2–3 months)
loginNidListnumber[]yesList of login NIDs (numeric identifiers) for crew members whose duties MUST be retrieved. Login NIDs can be obtained using contact search tools (e.g., search-contacts-by-wildcard). Example: [12345, 67890]
dutyDefinitionNidListunknownyes(OPTIONAL) List of duty definition NIDs to filter results by specific duty definitions. Duty definition NIDs SHOULD be retrieved using the get-duty-definition-all tool first. Each duty definition has a type (duty, training, or off), but this parameter filters by specific definitions, not by type. If not provided, duties of all definitions will be returned. Example: [101, 202, 303] to retrieve duties only for these specific duty definitions.

get-fleet

Get the complete list of active aircraft in the fleet with detailed profile information.

RETURNED DATA: A list of aircraft objects containing comprehensive profile data:

IDENTIFICATION:

  • aircraftNid: Unique aircraft identifier
  • registration: Aircraft registration marks (e.g., "A-BCDE")
  • registrationWithoutSpecialChars: Sanitized registration
  • serialNo: Aircraft serial number
  • externalId: External system identifier
  • acftType: Aircraft type with ICAO, IATA, and EASA codes
  • acftTypeName: Full aircraft type name
  • category: Aircraft category classification
  • countryFromRegistration, countryCodeFromRegistration: Country data from registration

PRODUCTION:

  • yearOfProduction: Manufacturing year
  • yearOfRefurbishment: Refurbishment year (if applicable)

TECHNICAL SPECIFICATIONS:

  • mtow: Maximum Takeoff Weight
  • mlw: Maximum Landing Weight
  • mzfw: Maximum Zero Fuel Weight
  • basicOperatingWeight: Empty aircraft weight
  • paxCapacity: Maximum passenger capacity
  • maxCargo: Maximum cargo capacity
  • maxFuel: Maximum fuel capacity
  • fuelUnit: Unit of measurement for fuel
  • weightUnit: Unit of measurement for weights
  • defaultCargoUnit: Default cargo measurement unit
  • fuelType: Fuel type (e.g., JETA1)
  • engineList: Complete engine specifications with serial numbers and maintenance data
  • noiseCategory: Aircraft noise classification
  • rescueAndFireFightingCategory: Emergency response category
  • performanceSchema: Performance calculation schema
  • runwayLength: Minimum runway length (meters)

PERFORMANCE:

  • maxRangeWithNoPax: Maximum range without passengers (NM - Nautical Miles)
  • maxRangeWithMaxPax: Maximum range with full passenger load (NM - Nautical Miles)
  • climbRate: Rate of climb (ft / min)
  • descentRate: Rate of descent (ft / min)

EQUIPMENT & CAPABILITIES:

  • equipmentCodes: ICAO equipment codes
  • sELCAL: Selective-Calling radio system code
  • amenities: Cabin amenities (WiFi, smoking policy, dimensions, baggage capacity, etc.)

No parameters.

get-flight-list-flight-care-checklist-items

Get FLIGHT CARE checklist items on flight.

BUSINESS LOGIC: In Leon the FLIGHT CARE CHECKLIST is the passenger‑and‑service focused checklist used by trip coordinators, cabin crew, guest services and handlers to manage the client experience and ground/arrival services for a flight. It sits alongside Ops and Sales checklists but concentrates on passenger service, handling and commercial fulfilment rather than technical or pricing tasks.

RETURNED DATA: A list of FLIGHT CARE checklist item objects

IDENTIFICATION:

  • flightNid: unique flight identifier in Leon system
  • cdNid: unique checklist definition numerical identifier specifying what kind of checklist item it is.
  • label: checklist item name
  • typeId: checklist item type: FLIGHT or TRIP
  • comment: note to checklist item, introduced in Leon
  • status: Array of objects containing the following checklist item status fields
    • checklistStatusId: checklist item status identifier in Leon system
    • caption: checklist item status caption displayed in Leon
    • color: color: color (HEX code, ex. FF0000) format of displayed checklist item status in Leon
  • files: url addresses list of files attached to checklist item (expiring in 30 minutes)
ParameterTypeRequiredDescription
flightNidListinteger[]yesList of flight NIDs for which you want to obtain information. Must be greater than 0 and be a valid flight identifier.

get-flight-list-ops-checklist-items

Get OPS checklist items on flight.

BUSINESS LOGIC: In Leon the OPS CHECKLIST is the operational pre-/post-flight checklist used by dispatch, flight crew and ground teams to confirm a flight is ready and compliant. It’s an activity-focused list of tasks and documents that must be completed, verified or signed off before departure, during turnaround, and after arrival.

RETURNED DATA: A list of OPS checklist item objects

IDENTIFICATION:

  • flightNid: unique flight identifier in Leon system
  • cdNid: unique checklist definition numerical identifier specifying what kind of checklist item it is.
  • label: checklist item name
  • typeId: checklist item type: FLIGHT or TRIP
  • comment: note to checklist item, introduced in Leon
  • status: Array of objects containing the following checklist item status fields
    • checklistStatusId: checklist item status identifier in Leon system
    • caption: checklist item status caption displayed in Leon
    • color: color (HEX code, ex. FF0000) format of displayed checklist item status in Leon
  • files: url addresses list of files attached to checklist item (expiring in 30 minutes)
  • parkingStand: parking stand identifier, available only in parking stand checklist items. Parking stand id may contain a maximum of 10 characters. Allowed characters are letters, numbers, and the following signs: "/", "-", "."
  • scheduleRevisionReason: Reason of schedule revision, available only in schedule revision reason checklist item. Object containing the following fields
    • reasonNid: Schedule revision reason numerical identifier in Leon system
    • label: Schedule revision reason name
ParameterTypeRequiredDescription
flightNidListinteger[]yesList of flight NIDs for which you want to obtain information. Must be greater than 0 and be a valid flight identifier.

get-flight-list-sales-checklist-items

Get SALES checklist items on flight.

BUSINESS LOGIC: In Leon the SALES CHECKLIST is the commercial counterpart to the ops checklist — a structured list of tasks and verifications used by sales, account managers and commercial teams to make sure a quote, order or opportunity is complete, compliant and ready to convert to a booking.

RETURNED DATA: A list of SALES checklist item objects:

IDENTIFICATION:

  • flightNid: unique flight identifier in Leon system
  • cdNid: unique checklist definition numerical identifier specifying what kind of checklist item it is.
  • label: checklist item name
  • typeId: checklist item type: FLIGHT or TRIP
  • comment: note to checklist item, introduced in Leon
  • status: Array of objects containing the following checklist item status fields
    • checklistStatusId: checklist item status identifier in Leon system
    • caption: checklist item status caption displayed in Leon
    • color: color: color (HEX code, ex. FF0000) format of displayed checklist item status in Leon
  • files: url addresses list of files attached to checklist item (expiring in 30 minutes)
ParameterTypeRequiredDescription
flightNidListinteger[]yesList of flight NIDs for which you want to obtain information. Must be greater than 0 and be a valid flight identifier.

get-flight-schedule-history-by-flight-nids

Returns the schedule change history for a list of flights identified by their flight NIDs.

MAIN PURPOSE: Retrieves every recorded change of a flight's schedule/trip data over time, so callers MUST use this tool when they need to see how a flight's schedule looked at each point in time it was modified, not just its current state. Supports up to 20 flights per request.

RETURNED DATA: A flat list of schedule change entries, ordered chronologically (oldest first), each containing:

  • changedBy: Name/login of the user who made the change
  • changeTimeUtc: Date and time (UTC) when the change was recorded
  • flightNid: Unique flight identifier in Leon system
  • aircraft: Registration of the aircraft assigned to the flight at that point in time, or null if none was assigned
  • flightNumber: Flight number at that point in time
  • isCancelled: Whether the flight was cancelled at that point in time
  • paxNumber: Number of passengers at that point in time
  • ferry: Whether the flight was a ferry flight at that point in time
  • startTimeUtc: Scheduled departure time (UTC) at that point in time
  • endTimeUtc: Scheduled arrival time (UTC) at that point in time
  • startAirportCodes: Departure airport codes
  • endAirportCodes: Arrival airport codes
  • toAirportCodes: Alternate airport to departure codes, or null if none was set
  • altnAirportCodes: Alternate airport codes, or null if none was set
  • altn2AirportCodes: Second alternate airport codes, or null if none was set
  • flightRules: Flight rules at that point in time
  • icaoType: ICAO flight type at that point in time
  • tripStatus: Flight status at that point in time
  • commercial: Whether the flight was commercial at that point in time
  • tripType: Flight type at that point in time
  • flightTime: Flight time at that point in time

IMPORTANT NOTES:

  • Maximum 20 flight NIDs per request
  • Entries belonging to other flights of the same trip are filtered out; only entries for the requested flightNidList are returned
  • If a requested flightNid has no recorded schedule history, it is silently omitted from the result
ParameterTypeRequiredDescription
flightNidListinteger[]yesList of flight NIDs (1-20) for which you want to obtain the flight schedule change history. Each flightNid must be greater than 0 and be a valid flight identifier. Examples: - [48932349] - single flight - [48932349, 48932350, 48932351] - multiple flights

get-flight-watch-by-flight-nids

Returns complete list of flight watch information based on given list with flight numerical identifiers. RETURNED DATA (all times in UTC): Core Flight Identification:

  • flightNid - Unique flight identifier Flight Watch information (flightWatch):
  • ctotIso - Assigned departure time of the flight
  • totIso - Target take-off time of the flight
  • etdIso - Estimated time of departure
  • nextInformation - Next information used instead of ETD when flight is delayed
  • bloffIso - Off-blocks time
  • toIso - Actual take off time
  • eetIso - Estimated elapsed time from takeoff to touchdown
  • etaIso - Estimated time of arrival of the aircraft
  • ldgIso - Actual time of landing
  • blonIso - Blocks on time
  • ttof - Time of target time over fix
  • tobt - Target off-block time
  • tsat - Target start-up approval time
  • taxi - Duration the aircraft spends on ground before departure and after arrival
  • mpr - Most penalised regulation
  • regCause - Most penalised regulation cause
  • paxCount - Number of passengers on the aircraft
  • divAirport - Alternative airport the aircraft can land at if the primary is unavailable
  • cargo - Cargo weight
  • defaultCargoUnit - Unit for cargo (can be either lbs or kg) as returned by tool get-aircraft-profile in field defaultCargoUnit
  • delayCode - Delay code that refers to the reason of the delay
  • bloffFuel - How much fuel is in the moment of the off-block
  • toFuel - How much fuel is in the moment of the take off
  • ldgFuel - How much fuel is in the moment of landing
  • blonFuel - How much fuel is in the moment of the block on
  • notes - Notes for the flight
  • internalNotes - Internal notes for the flight
ParameterTypeRequiredDescription
flightNidsnumber[]yesList of flight NIDs for which you want to obtain information. Must be greater than 0 and be a valid flight identifier.

get-flights-by-flight-nids

Returns a list of flights with given flight numerical identifiers.

Comprehensive Field Description:

Core Flight Identification:

  • flightNid - Unique flight identifier in Leon system (scalar type)
  • status - Flight confirmation status: CONFIRMED, OPTION, or OPPORTUNITY
  • startTimeUTC/endTimeUTC - Flight start/end times in UTC (DateTime scalars)
  • startTimeLocal/endTimeLocal - Flight times in local timezone with timezone info (local in respect to applicable airport)

Airport Information (startAirport/endAirport):

  • code.icao - 4-character ICAO airport code (e.g., EPWA)
  • code.iata - 3-character IATA airport code (e.g., WAW)
  • code.mostDescriptive - Best available code (prefers ICAO over IATA)
  • longitudeDec/latitudeDec - Airport GPS coordinates in decimal format
  • name/city/country - Airport name, city, and country

Aircraft Details (acft):

  • registration - Aircraft registration marks (e.g., SP-ABC)
  • acftType.icao/iata - Aircraft type codes per ICAO/IATA standards

Flight Parameters:

  • dist - Flight distance (in nautical miles, integer)
  • flightRules - Flight rules enum: I (IFR), V (VFR), Y (IFR/), Z (VFR/)
  • icaoType - ICAO flight type: S (Scheduled), N (Non-scheduled), G (General aviation), M (Military), X (Other)
  • isCommercial - Whether flight is commercial (boolean from trip data)
  • isCnl - Whether flight is cancelled (boolean)

Journey Log - Post-Flight Report Data:

  • Fuel Management:
    • blockFuel - Fuel loaded for flight start
    • usedFuel - Fuel consumed during flight
    • remainingFuel - Fuel remaining after flight
    • taxiFuel - Fuel used for taxiing
    • refuel - Fuel added prior to the flight
    • fuelUnit - Unit of fuel measurement
  • Weight & Cargo:
    • weightUnit - Unit for weight measurements
    • bag - Baggage weight
    • cargo - Cargo weight
  • Actual Flight Times:
    • atd - Actual Time of Departure (Take-off time, integer timestamp)
    • ata - Actual Time of Arrival (Landing time, integer timestamp)
    • nightTime - Night flying time duration
    • startTime/endTime - Actual flight start/end times (Block times)
  • Passenger Counts:
    • paxCount - Total passenger count
    • paxMaleCount/paxFemaleCount - Gender-specific counts
    • paxChildCount/paxInfantCount - Age-specific counts
  • Flight Operations:
    • distance - Actual flight distance
    • flightLog - Detailed flight log text
    • landingCount - Number of landings performed
  • Journey Log Airports:
    • Simplified airport data (ICAO/IATA codes, name, country) for actual departure/arrival

Key Distinction: Main fields contain planned/scheduled data, while journeyLog contains actual post-flight data from the completed flight.

ParameterTypeRequiredDescription
flightNidsnumber[]yesList of flight NIDs for which you want to obtain information. Must be greater than 0 and be a valid flight identifier.

get-flights-crew

Returns a list of flights with crew

ParameterTypeRequiredDescription
flightNidListnumber[]yesList of flight nid

get-flights-fuel

Returns fuel data for flights based on their flight NIDs (tr_nid).

RETURNED DATA (for each flight - flattened object):

  • flightNid: Unique flight identifier in Leon system
  • blockFuel: Block fuel
  • fuelUnit: Fuel unit (KG, LB, L, USGAL) - null means no tail (aircraft) is assigned to this flight
  • minReqFuel: Minimum required fuel
  • fuelBurnPlan: Planned fuel burn
  • tripFuel: Trip fuel
  • taxiFuel: Taxi fuel
  • contingencyFuel: Contingency fuel
  • alternateFuel: Alternate fuel
  • finalReserveFuel: Final reserve fuel
  • discretionaryFuel: Discretionary fuel
  • extraFuel: Extra fuel
  • additionalFuel: Additional fuel
  • requestedFuel: Requested fuel
  • safUsed: Whether Sustainable Aviation Fuel was used
  • safFuelBlend: SAF blend percentage

USE CASES:

  • "Get all fuel fields for flight 12345"
  • "Retrieve fuel data for multiple flights: [12345, 12346, 12347]"
  • "Check fuel planning from checklist for flights with tr_nid list"
ParameterTypeRequiredDescription
flightNidsnumber[]yesList of flight NIDs (tr_nid) for which you want to obtain fuel data. Must be greater than 0 and be a valid flight identifier in Leon system.

get-ftl-duty-details

Input:

  • trNid of a sector, either a flight or a relocation
  • crewMemberIdentifier: crew member code or loginNid of the crew member Response structure: On success returns an array, for each crew member id, with FTL duty information with: -root:
    • trNid - numerical ID reference to the sector, from lookup (input argument)
    • crewMemberNid - numerical ID reference to the crew member, from lookup (input argument) -apiFtlDuty:
    • crewMember: An Object describing the crew member:
      • knownAs - a default field to use to present the crew member, if empty, use name and surname
      • name
      • surname
      • code - crew member code
      • loginNid - crew member login ID
    • firstTrNid: Numerical ID reference to the first sector of the duty
    • sectorList: List of sectors belonging to given duty. Contains activityType (type of activity for the sector) and trNid (numerical ID reference for the sector)
    • lastTrNid: Numerical ID reference to the last sector of the duty
    • dutyStartTime: Start time of the duty
    • dutyEndTime: End time of the duty
    • dutyLength: Duration of the duty
    • fdpStartTime: FDP start time, for the duty
    • fdpEndTime: FDP end time, for the duty
    • fdpLength: FDP length, for the duty
    • fdpExtension: FDP extended time, for the duty
    • hasViolation: Boolean indicating whether the duty violates any of the rules
    • homeAirport: An Object describing the airport where crew member's home base is located, with locationNid - numerical ID reference, name - airport name
    • startAirport: An Object describing the airport where duty starts, with locationNid - numerical ID reference, name - airport name
    • endAirport: An Object describing the airport where duty ends, with locationNid - numerical ID reference, name - airport name
    • startsInHomeBase: Boolean indicating whether duty starts at home base of the crew member
    • endsInHomeBase: Boolean indicating whether duty ends at home base of the crew member
    • sectorCount: Integer count of sectors in the duty
    • previousDutyEndTime: DateTime when the previous duty ended
    • nextDutyStartTime: DateTime when the next duty starts
    • breakStartTime: DateTime when the break starts
    • breakEndTime: DateTime when the break ends
    • splitDutyTime: Duration of the break in the split duty
    • breakFdpExtension: FDP extension gained from the break
    • breakMaxFdpExtension: Maximum FDP extension possible from the break
    • breakMaxFdpLength: Maximum FDP length with the break applied
    • breakNextRestReduction: Rest reduction for next rest period after the break
    • blockStartTime: DateTime of the first block-off time
    • blockEndTime: DateTime of the last block-on time
    • crewAugmentation: Enum indicating crew augmentation level: NORMAL, AUGMENTED, DOUBLED, or TRIPLED
    • isCabinCrew: Boolean indicating whether this is cabin crew
    • isSinglePilot: Boolean indicating whether this is single pilot operation
    • discretionLength: Duration of commander's discretion used
    • restFacility: Enum describing available rest facility type (NONE, SEAT, SEMI, BUNK)
    • flyingTime: Can be either block time, or the flying time on the duty, in hours and minutes
    • longestSectorTime: Duration of the longest sector in the duty
    • sectorTimeViolation: Duration by which the longest sector exceeds the limit
    • sectorTimeLimit: Maximum allowed sector time limit
    • nightDutyType: Enum indicating type of night duty
    • consecutiveWoclDuties: Integer count of consecutive WOCL (Window of Circadian Low) duties
    • consecutiveNightDuties: Integer count of consecutive night duties
    • consecutiveEarlyStarts: Integer count of consecutive early start duties
    • firstDayOffAfter: DateTime of the first day off after this duty
    • lastDayOffAfter: DateTime of the last day off after this duty
    • localNightsBefore: Integer count of local nights before the duty
    • minLocalNightsBefore: Integer minimum required local nights before the duty
    • consecutiveNightsBefore: Integer count of consecutive nights before the duty
    • isWeeklyRestAfter: Boolean indicating whether weekly rest follows this duty
    • isAcclimated: Whether the crew member is acclimated at the beginning of the duty
    • consecutiveNonAcclimatedFdp: Integer count of consecutive non-acclimated FDPs
    • localTimeOffset: Duration offset of local time zone
    • lastAcclimatisationOffset: The time offset of the last acclimatisation
    • lastAcclimatisationTime: The time of the last acclimatisation
    • arrivalAtCurrentTimezone: DateTime when crew member arrived at current timezone
    • warningFdpLength: How much the flying duty period extends the warning threshold (fdp_warning_threshold)
    • maxFdpLength: Duration of maximum allowed FDP length
    • maxDutyLength: Duration of maximum allowed duty length
    • maxFlyingTime: Duration of maximum allowed flying time
    • minRestBeforeTotal: Duration of minimum required rest before duty
    • minRestAfterTotal: Duration of minimum required rest after duty
    • rotationStartTime: DateTime when the rotation starts
    • maxOffsetDiff: Duration of maximum timezone difference in the current rotation
    • commentDuty: String comment about the duty
    • commentFdp: String comment about the FDP
    • commentRestAfter: String comment about rest after duty
    • commentRestBefore: String comment about rest before duty
    • commentLocalNightsBefore: String comment about local nights before duty
    • mealDiscretionTime: Duration of meal break discretion time
    • nextEobt: Next estimated block off time

Use cases:

  • Get FTL duty details for a specific crew member
  • Check if there's any violation in the FTL duty
  • Get all sectors belonging to a specific duty
  • Get the FDP details for a specific duty
  • Check out crew members acclimation status
  • Get the rest facility details for a specific duty
  • Check the augment level for a flight (if the sector activityType is FLIGHT)
  • Get violation / warning comments on specific duty, for a specific crew member

Requires:

  • GRAPHQL_FTL (aka FTL_SEE) permissions on API Key for the whole node.
  • GRAPHQL_LOGIN (aka LOGIN) permissions on API Key to access the crewMember node.

On failure returns an error message.

If access is denied, give the user a clear error message, and ask to contact the administrator, or to check the API Key permissions.

ParameterTypeRequiredDescription
crewMemberIdentifierunknownyes
trNidnumberyestrNid of a sector (flight, or relocation) in the duty.

get-fuel-prices-for-flight-or-route

Get all possible fuel prices for flight route locations (departure and destination airports). Optionally returns assigned fuel prices if flightNid is provided. Display prices to the user based on fuelPriceType: for "base", prioritize negotiatedBasePrice over basePrice; for "total", prioritize negotiatedTotalPrice over totalPrice. Sort the output by the resulting prices for both airports.

RETURNED DATA: A FuelFlightPricesOutput object containing:

  • departure: List of fuel price options at departure airport with details:
    • nid, cardName, supplierName
    • basePrice, basePriceCurrency, totalPrice, totalPriceCurrency
    • negotiatedBasePrice, negotiatedTotalPrice (if applicable)
    • airport info (icao, iata, faa, name)
    • isSelected, isExpired, isFavouriteCard
    • minimumFuel, priceIndex
  • destination: List of fuel price options at destination airport (same structure as departure)
  • fuelPriceType: Type of price (base or total)
  • uplift: Fuel uplift amount
  • tripFuelAmount: Trip fuel amount
  • referenceFuelPrice: Reference fuel price
  • If flightNid provided: includes currently assigned fuel prices for that flight

RELATED TOOLS:

  • Use "search-flights" or "get-flights-by-flight-nids" to obtain flightNid
  • Use "get-aircraft-by-registration" or "get-fleet" to obtain aircraftNid
  • Use "search-airports-by-wildcard" or "get-airport-by-code" to find airport codes

USE CASES:

  • "Get fuel prices for a route from KJFK to KLAX with base pricing"
  • "Find total fuel prices between EGLL and LFPG for a commercial flight"
  • "Get fuel prices for flight 12345"
  • "Get fuel prices for flight 12345 with aircraft ABCDE"
  • "Check available fuel pricing options at departure and destination airports"
ParameterTypeRequiredDescription
departurestringyesDeparture airport code (ICAO, IATA, FAA or custom code format). Example: "KJFK", "JFK", "EGLL", "LAX". Use "search-airports-by-wildcard" or "get-airport-by-code" tools to find airport codes. When not specified by the user and using Flight NID, fill this field with startAirport code assigned to that flight
destinationstringyesDestination airport code (ICAO, IATA, FAA or custom code format). Example: "KLAX", "LAX", "LFPG", "JFK". Use "search-airports-by-wildcard" or "get-airport-by-code" tools to find airport codes. When not specified by the user and using Flight NID, fill this field with endAirport code assigned to that flight
fuelPriceTypebase | totalyesType of fuel price to retrieve: "base" for base price or "total" for total price including all fees
isCommercialunknownyesOptional: Filter for commercial flights. Set to true for commercial, false for non-commercial; when omitted, non-commercial will be shown. When not specified by the user and using Flight NID, fill this field with isCommercial value assigned to that flight
flightNidunknownyesOptional: Flight NID. If provided, the tool will also return all assigned fuel prices for this specific flight. Use "search-flights" or "get-flights-by-flight-nids" tools to find flight NIDs.
aircraftNidunknownyesOptional: Aircraft NID to apply fuel prices specific to the base of this aircraft. Use "get-aircraft-by-registration" or "get-fleet" tools to find aircraft NIDs. When not specified by the user and using Flight NID, fill this field by finding the aircraft assigned to that flight

get-fuel-prices-per-airport

Get fuel prices for a list of airports. Fetches data from both fuel files and external integrations.

RETURNED DATA: A list of objects, one per airport, each containing:

  • airport: Airport details (locationNid, ICAO/IATA/FAA codes, name, country, city)
  • prices: List of available fuel cards/prices with:
    • nid, cardName, supplierName
    • basePrice, basePriceCurrency, totalPrice, totalPriceCurrency
    • negotiatedBasePrice, negotiatedTotalPrice (if applicable)
    • isExpired, isFavouriteCard, isDeletable, isFromExternalApi
    • minimumFuel, fuelType, orderEmails
  • warnings: Any warnings about the prices at this airport

RELATED TOOLS:

  • Use "search-airports-by-wildcard" or "get-airport-by-code" to find airport codes

USE CASES:

  • "Get fuel prices for EPWA"
  • "Show available fuel cards at EGLL and KJFK"
  • "What are the commercial fuel prices at LFPG?"
ParameterTypeRequiredDescription
airportCodeListstring[]yesList of airport codes (ICAO, IATA, FAA or custom format). Example: ["EPWA", "EGLL", "KJFK"]. Use "search-airports-by-wildcard" or "get-airport-by-code" tools to find airport codes.
isCommercialunknownyesOptional: Filter for commercial flights. Set to true for commercial, false for non-commercial. When omitted, non-commercial prices will be shown.

get-hotels-by-location

Returns a list of hotels available at a specific airport, as configured in the operator's Airport Directory.

SEARCH METHOD: ✓ Search by airport code (ICAO, IATA, FAA or custom) ✓ Returns hotels defined in the operator's Airport Directory for that location ✓ Includes favourite flags and tags for each hotel

RETURNED DATA: List of hotel objects, each containing:

  • hotelNid: Unique hotel identifier (use when creating hotel reservations)
  • name: Hotel name
  • isFavourite: Whether the hotel is marked as favourite by the operator
  • tagList: Array of tags assigned to the hotel, each with:
    • tagNid: Tag identifier
    • name: Tag name
    • color: Tag color (hex or named)

USE CASES:

  • "Show available hotels at Warsaw Chopin airport (EPWA)"
  • "Find hotels near JFK airport before creating a reservation"
  • "List favourite hotels at EGLL for crew accommodation"
  • "Get hotelNid for a specific hotel to use in create-hotel-reservation"

REQUIREMENTS:

  • airportCode MUST be a valid airport code (ICAO, IATA, FAA or custom)
  • Returns only hotels configured in the operator's Airport Directory
ParameterTypeRequiredDescription
airportCodestringyes[Required] Airport code used to search for hotels. Supports ICAO (4-letter, e.g. "EPWA"), IATA (3-letter, e.g. "WAW"), FAA or custom codes.

get-journey-log-data-by-flight-nids

Returns Journey Log data for a list of flights identified by their flight NIDs.

MAIN PURPOSE: Retrieves Journey Log field data for multiple flights in a single request. Supports up to 50 flights per request.

RETURNED DATA: A list of objects, one per flight, each containing:

  • flightNid: Unique flight identifier in Leon system
  • journeyLog: Journey Log status and data, which can be one of three types:
    • STRING - Contains cancellation note (journeyLogCancelledNote) when Journey Log was cancelled
    • NULL - When Journey Log doesn't exist or was deleted
    • ARRAY of objects - List of Journey Log fields when Journey Log is active, where each object contains:
      • label: Field label (string) - human-readable field name
      • value: Field value (string) - human-readable value for the field

USE CASES:

  • "Get Journey Log data for flights [12345, 12346, 12347]"
  • "Check Journey Log status for a list of completed flights"
  • "Verify which flights have cancelled or missing Journey Logs"

IMPORTANT NOTES:

  • Maximum 50 flight NIDs per request
  • journeyLog can have different types depending on the flight's Journey Log status
  • When journeyLog is a string, it contains the cancellation note
  • When journeyLog is null, the Journey Log doesn't exist or was removed
  • When journeyLog is an array, it contains all enabled Journey Log fields
ParameterTypeRequiredDescription
flightNidListnumber[]yesList of flight NIDs (1-50) for which you want to obtain Journey Log data. Each flightNid must be greater than 0 and be a valid flight identifier. Examples: - [48932349] - single flight - [48932349, 48932350, 48932351] - multiple flights

get-landing-permits

Must return a list of landing permits and their status for the provided flight NID (flight numerical identifier from the Leon aviation system) or an empty list if no landing permits are assigned to this flight. BUSINESS LOGIC: ✓ flight NID: Flight numerical identifier. FlightNid must be greater than 0 (e.g. 48932349).

RETURNED DATA: On success must return an array of objects containing comprehensive landing permits:

  • flightPermitNid - unique identifier of the landing permit.
  • country - information about country for which this permit is issued that consists of:
    • name - full country name (e.g., "Poland", "United States").
    • code - three-letter country code (e.g., "POL", "DNK").
  • supplier - name of the supplier or agency that requests or manages the landing permit (e.g., handling agent, permit service provider).
  • number - landing permit reference number assigned by the authorities or the responsible agency.
  • validity - validity period of the permit in days. A value of 0 indicates no specific validity period or a single-flight permit. For example, 365 means the permit is valid for one year from the issue date.
  • entryPoint - the exact waypoint or navigation fix at which the flight first enters the controlled or monitored airspace covered by the permit.
  • exitPoint - the exact waypoint or navigation fix at which the flight leaves the controlled or monitored airspace covered by the permit.
  • revalidation - number of updates to the landing permit whether due to a change in schedule or other flight details that required an updated permit.
  • shortNotice - a permit request or operation submitted less than 72 hours before the planned departure.
  • permitStatus - status of the landing permit that consists of:
    • statusId - three-letter code (e.g "REJ", "UNT").
    • statusLabel - human readable permit status, possible values "?", "Untouched", "Rejected", "Requested", "Confirmed", "Not Applicable".
  • notes - notes for the landing permit.
  • files - array of attached documents that consists of:
    • signedUrl - signed URL to download the permit file.
  • required - indicates whether the country requires this landing permit, returns one of the three possible enum values YES, NO or UNDEFINED.

IMPORTANT: Returns an empty array [] if no landing permits are assigned to the provided flight NID.

USAGE EXAMPLES:

  • Check which landing permits are required/obtained for a given flight.
  • Information about landing requirements and designated/alternative airports for countries that require landing permits.
ParameterTypeRequiredDescription
flightNidnumberyesFlight numerical identifier

get-maintenance

This tool returns single aircraft maintenance identified by supplied aircraftMaintenanceNid.

INPUT PARAMETERS:

  • aircraftMaintenanceNid: [MANDATORY] Aircraft maintenance numerical identifier (aircraftMaintenanceNid). The value of this parameter can be obtained from such tools as "search-maintenances,

RETURNED DATA - Comprehensive Field Description:

  • aircraftMaintenanceNid: aircraft maintenance numerical identifier
  • name: A name or title given by the operator for this very maintenance. May be the same as given to other maintenances in case of scheduled maintenances - eg. "500FH inspection"
  • aircraft: Aircraft Details:
    • registration - Aircraft registration marks (e.g., SP-ABC)
    • acftType.icao/iata - Aircraft type codes per ICAO/IATA standards
    • aircraftNid - Aircraft numerical identifier
  • airport Airport Information:
    • code.icao - 4-character ICAO airport code (e.g., EPWA)
    • code.iata - 3-character IATA airport code (e.g., WAW)
    • code.mostDescriptive - Most informative code (prefers ICAO over IATA)
    • longitudeDec/latitudeDec - Airport GPS coordinates in decimal format
    • name/city/country - Airport name, city, and country
    • locationNid - Airport numerical identifier
  • startTimeUTC: date and time of the maintenance start in UTC
  • endTimeUTC: date and time of the maintenance end in UTC
  • tahLimitTime - TAH (Total Accumulated Hours) for airframe before which this maintenance must be performed. After reaching this limit, and when this maintenance is not performed, the aircraft is not airworthy and it should be grounded. Applicable only to scheduled maintenances. Hours means here Flight Hours of the airframe. Usually in long time format, ex: "12453:32" Reason - some aircraft components may have imposed on them an operation time limit.
  • tacLimit: TAC (Total Accumulated Cycles) for airframe before which this maintenance must be performed. After reaching this limit, and when this maintenance is not performed, the aircraft is not airworthy and it should be grounded. Applicable only to scheduled maintenances. Cycle means here usually a cycle consisting of one take-off and one-lading of the airframe. It has a format of integer number, ex: "5449" Reason - some aircraft components may have imposed on them an operation cycle limit - like landing gear struts.
  • dateLimit: Date before which this maintenance must be performed. After reaching this limit, and when this maintenance is not performed, the aircraft is not airworthy and it should be grounded. Applicable only to scheduled maintenances. Reason - some aircraft components may have imposed on them an calendar time limit - usually some rubber components.
  • workOrder: Often abbreviated to just WO, is a number of af a formal document ordering performing this maintenance.
  • supplierOrFacility: Text specifying who and/or where the maintenance will be performed.
  • status: Status of the maintenance - whether it has already been completed or not (open).
  • cost: amount of how much it will cost to perform this maintenance
  • currency: the currency in which the cost is given.
  • isAog: flag indicating that this maintenance has AOG status, which means the aircraft is grounded due to some technical malfunction and it disrupts operator's ability to perform planned schedule. Thus, an extra effort is being put to perform this UNSCHEDULED maintenance. Also all necessary shipments of parts and consumables required are sent to the aircraft grounded place with highest priority.
  • isConfirmed: in case of scheduled maintenance this is a flag that determines that this maintenance is actually to take place within specified time period (start and end times). Also all limits are confirmed and limiting the aircraft.
  • isAvailableForCharter: if maintenance can be moved or performed anywhere, this flag can be set to true indicating that aircraft still can be chartered to clients even within maintenance time period.
  • notes: operator notes to this maintenance.
  • tagsList: List of tags applied to this maintenance. Those tags are only applicable to maintenances (have its own tagGroup [8]) Each tag has fields:
    • tagDefinitionNid: tag numerical identifier
    • tagGroup: group indicator, here will be always set to 8 (for maintenance tags)
    • label: title of the tag visible to the user.
ParameterTypeRequiredDescription
aircraftMaintenanceNidnumberyes[MANDATORY] Aircraft maintenance numerical identifier (aircraftMaintenanceNid). The value of this parameter can be obtained from such tools as "search-maintenances"

get-missing-hotel-reservations

Find missing hotel reservations for specified crew members within a time period.

SEARCH METHOD: ✓ Filters by crew member login NIDs - returns only missing hotels for specified crew ✓ Time-based filtering - searches within specified date range (UTC) ✓ Identifies required hotels - detects duties that require hotel accommodation but lack reservations

RETURNED DATA: List of missing hotel reservations containing:

  • Time information: startTimeUTC, endTimeUTC, startTimeLocal, endTimeLocal, startTimeBaseTime, endTimeBaseTime
  • Airport details: locationNid, IATA/ICAO codes, city name
  • Crew member info: contactNid, name, surname, code
  • Aircraft registration (if applicable)
  • Status: always "Missing" for unreserved hotels
  • Note: description of the missing reservation

USE CASES:

  • "Find all crew members missing hotel reservations for next week"
  • "Check which pilots need hotel bookings for login IDs 123, 456"
  • "Identify missing hotel reservations between January 1-15, 2024"
  • "List all crew duties requiring hotels but without reservations"

REQUIREMENTS:

  • loginNids MUST contain at least one valid crew member login NID
  • timeInterval.start MUST be before timeInterval.end
  • Time range MUST NOT exceed 3 months
  • Date/DateTime format MUST be ISO 8601 (e.g., "2024-01-01" or "2024-01-01T00:00:00Z")
ParameterTypeRequiredDescription
loginNidsinteger[]yesList of crew member login NIDs to check for missing hotel reservations. MUST contain at least one login NID. Example: [123, 456, 789]
timeIntervalobjectyes

get-modified-flight-nid-list

Returns Flights NIDs lists created, modified or deleted, within a maximum of one week from the given date to today’s date in UTC format.

RETURNED DATA: Single FlightsChanges object containing:

  • created - flightNid list for flights created between the given dateTime and now
  • changed - flightNid list for flights changed between the given dateTime and now
  • deleted - flightNid list for flights deleted between the given dateTime and now
ParameterTypeRequiredDescription
dateTimestringyes

get-modified-journey-log-nid-list

Returns flights NIDs lists, for which flight Journey Logs were: created, modified or deleted, within a maximum of one week from the given date to today’s date in UTC format.

RETURNED DATA:
Single Journey Log changes object containing:
- created - flightNid list for Journey Logs created between the given dateTime and now
- changed - flightNid list for Journey Logs changed between the given dateTime and now
- deleted - flightNid list for Journey Logs deleted between the given dateTime and now
ParameterTypeRequiredDescription
dateTimestringyes

get-modified-trip-nid-list

Returns trip NIDs lists created, modified or deleted in selected time range (max 7 days between dates given in UTC format). RETURNED DATA: Single TripChanges object containing:

  • created - tripNid list for trips created in given time range
  • changed - tripNid list for trips changed in given time range
  • deleted - tripNid list for trips deleted in given time range
ParameterTypeRequiredDescription
timeRangeobjectyes

get-overflight-permits

Must return a list of overflight permits and their status for the provided flight NID (flight numerical identifier from the Leon aviation system) or an empty list if no overflight permits are assigned to this flight. BUSINESS LOGIC: ✓ flight NID: Flight numerical identifier. FlightNid must be greater than 0 (e.g. 48932349).

RETURNED DATA: On success must return an array of objects containing comprehensive overflight permits:

  • flightPermitNid - unique identifier of the overflight permit.
  • country - information about country for which this permit is issued that consists of:
    • name - full country name (e.g., "Poland", "United States").
    • code - three-letter country code (e.g., "POL", "DNK").
  • supplier - name of the supplier or agency that requests or manages the overflight permit (e.g., handling agent, permit service provider).
  • number - overflight permit reference number assigned by the authorities or the responsible agency.
  • validity - validity period of the permit in days. A value of 0 indicates no specific validity period or a single-flight permit. For example, 365 means the permit is valid for one year from the issue date.
  • entryPoint - the exact waypoint or navigation fix at which the flight first enters the controlled or monitored airspace covered by the permit.
  • exitPoint - the exact waypoint or navigation fix at which the flight leaves the controlled or monitored airspace covered by the permit.
  • revalidation - number of updates to the overflight permit whether due to a change in schedule or other flight details that required an updated permit.
  • shortNotice - a permit request or operation submitted less than 72 hours before the planned departure.
  • permitStatus - status of the overflight permit that consists of:
    • statusId - three-letter code (e.g "REJ", "UNT").
    • statusLabel - human readable permit status, possible values "?", "Untouched", "Rejected", "Requested", "Confirmed", "Not Applicable".
  • notes - notes for the overflight permit.
  • files - array of attached documents that consists of:
    • signedUrl - signed URL to download the permit file.
  • required - indicates whether the country requires this overflight permit, returns one of the three possible enum values YES, NO or UNDEFINED.

IMPORTANT: Returns an empty array [] if no overflight permits are assigned to the provided flight NID.

USAGE EXAMPLES:

  • Check which overflight permits are required/obtained for a given flight.
  • Information about countries on the flight route requiring permits.
ParameterTypeRequiredDescription
flightNidnumberyesFlight numerical identifier

get-passenger-list-by-flights

Retrieve comprehensive passenger lists for specified flights with full contact details and travel documents.

MAIN PURPOSE: Returns detailed passenger information for given flight NIDs, including personal data, contact details, and travel documentation used for each flight.

RETURNED DATA: For each flight, returns a list of passengers with:

PERSONAL INFORMATION:

  • contactNid: Unique contact identifier in Leon system
  • name: First name of passenger
  • surname: Last name of passenger
  • gender/genderEnum: Gender information (MALE/FEMALE/UNKNOWN)
  • dateOfBirth: Date of birth (Date scalar)
  • placeOfBirth: Place of birth (string)
  • nationality: Country of citizenship with code and name

TRAVEL DOCUMENTS:

  • departureTravelDocument: Document used for departure (country, number)
  • arrivalTravelDocument: Document used for arrival (country, number)
  • departurePassport: Full passport details (name, surname, middleName, countryCode, number, issue/expiry dates, notes)
  • arrivalPassport: Full passport details for arrival (name, surname, middleName, countryCode, number, issue/expiry dates, notes)
  • departureNationalId: National ID for departure (contact info with name/surname/middleName, country, countryCode, number, issue/expiry dates, documentType)
  • arrivalNationalId: National ID for arrival (contact info with name/surname/middleName, country, countryCode, number, issue/expiry dates, documentType)

FLIGHT CONTEXT:

  • flightNid: Flight identifier for which passenger is listed
  • passengerContactNid: Unique passenger-flight relationship identifier

USE CASES:

  • Generate passenger manifests: "Get all passengers for flight 12345"
  • Export passenger data: "Retrieve passenger lists for flights [11111, 22222, 33333]"
  • Document compliance checks: "Get travel document details for flight passengers"
  • Customer service: "Find passenger contact information for specific flights"

RESOURCE REQUIREMENTS: Requires access to GRAPHQL_PASSENGER and GRAPHQL_CONTACT resources.

ParameterTypeRequiredDescription
flightNidsnumber[]yesList of flight NIDs (numerical identifiers) for which you want to retrieve passenger lists. Each flightNid must be a positive integer representing a valid flight in the Leon system. Example: [12345, 67890, 11111] - Use single flight: [12345] - Use multiple flights: [12345, 67890, 11111]

get-positioning-list

Returns repositioning data for selected crew members between two dates.

MAIN PURPOSE: Retrieves repositioning (positioning flights) data for crew members within a specified time interval.

RETURNED DATA: A list of Positioning objects, each containing:

  • trNid: Transaction NID (unique identifier)
  • name: Positioning name
  • type: Type of positioning
  • positioningNid: Positioning unique identifier
  • sta/std: Scheduled time of arrival/departure
  • startDateTime/endDateTime: Start and end date times in UTC
  • startDateTimeLocal/endDateTimeLocal: Start and end date times in local timezone
  • startTime/endTime: Start and end times
  • startTimeBase/endTimeBase: Base times
  • startAirport/endAirport: Airport details (code, name, location, etc.)
  • aircraft: Aircraft details (registration, type)
  • note: Additional notes
  • isCanceled: Cancellation status
  • isRebook: Rebook status
  • fileList: List of attached files

NOTE: This data DOES NOT include the following fields that are present in the full Positioning type:

  • checklist
  • crewList
  • trip
  • historyList

USE CASES:

  • "Get all repositioning flights between 2024-01-01 and 2024-01-31"
  • "Get repositioning data for crew members [12345, 67890] between two dates"
  • "Check repositioning schedules for specific pilots in a given time period"

IMPORTANT NOTES:

  • Time interval should not exceed 3 months (90 days) as per API restrictions
  • loginNidList is optional - if not provided, all repositioning data in the time interval will be returned
  • Dates must be in format: yyyy-MM-dd (e.g., 2024-01-15)
ParameterTypeRequiredDescription
dateFromstringyesStart date for the time interval in UTC. Allowed format is: yyyy-MM-dd
dateTostringyesEnd date for the time interval in UTC. Allowed format is: yyyy-MM-dd
loginNidListunknownyesOptional list of crew member login NIDs to filter repositioning data. If not provided, all repositioning entries in the time interval will be returned. Examples: - [12345] - single crew member - [12345, 67890, 11111] - multiple crew members

get-quote-request-list-by-provider-friendly-id

Get detailed information for multiple Quote Requests by their Provider Friendly ID list, including comprehensive subcharter data and complete pricing breakdown.

RETURNED DATA: A list of Quote Request objects containing:

  • nid: Numerical identifier of the Quote Request
  • id: Provider friendly identifier (string) - the same ID used in the input
  • buyerContact: Primary contact information including name, surname, emailWork, phoneWork, address, city, postalCode, and countryCodeIso
  • buyer: Buyer organization information with representative details (name, surname, emailWork, phoneWork)
  • legs: Flight route details (departure/arrival airports, times, passenger count)
  • status: Current Quote Request status with name
  • realizations: All quote realizations with:
    • price: Quote price and currency
    • acft: Aircraft details (registration, type) - for regular realizations. Is null for subcharter realizations
    • isSubcharter: Flag indicating if this is a subcharter realization
    • pricing: COMPREHENSIVE pricing breakdown for all realizations:
      • currency: Pricing currency
      • quoteRoundedTo: Rounding precision setting
      • quoteRoundedPrice: Final rounded quote price
      • quotationMethod: Pricing methodology (cost-based vs price-based)
      • cost: Base cost calculation
      • pricingMargin: Applied margin percentage
      • priceWithoutCommission: Price before third-party commissions
      • thirdPartyCommission: Commission amounts for subcharter providers
      • totalPrice: Final total price including all fees
      • VATRate: VAT percentage rate
      • VATAmount: Calculated VAT amount
      • fees: Detailed fee breakdown by category:
        • aircraft: Aircraft-related fees (fuel, crew, positioning) with quantities and totals
        • airport: Airport fees (handling, landing, parking) with quantities and totals
        • tax: Tax fees with quantities and totals
        • other: Additional miscellaneous fees with totals
    • subcharter: COMPREHENSIVE subcharter data (only for subcharter realizations):
      • Aircraft: registration, acftTypeLabel, manufactureYear, refurbishment years, paxCapacity
      • Operator: operator name, owner, icaoDesignator, email, phone
      • Pricing: price, currency, thirdPartyCommission, margin
      • Crew: captain, captain2, firstOfficer, firstOfficer2, flightAttendant, doctor, paramedic
      • Amenities: wifi, smoking, cabin dimensions, baggage capacity, toilet type
      • Safety: safety ratings with standards and codes
      • Operations: cancellationPolicy, crewPhone, tripNumber, subcharterTripType
    • legs: Detailed flight legs with times and passenger lists
    • status: Realization status
  • trip: Trip information if booked (tripNid, tripNumber)
  • createdDate: When the Quote Request was created
  • lastExternalUpdate: Last external system update timestamp
  • isArchived: Archive status flag

SUMMARY:

  • Counts of found vs requested Quote Requests
  • Counts of subcharter vs regular realizations
  • Basic statistics about found Quote Requests

KEY DIFFERENCE FROM get-quote-requests-by-nid-list: This tool uses Provider Friendly IDs (string identifiers like "RFQ-2024-001") instead of numerical NIDs. Provider Friendly IDs are more user-friendly and often used in external integrations and customer communications.

USE CASES:

  • "Get comprehensive details for Quote Requests RFQ-2024-001, QUOTE-ABC-123"
  • "Analyze subcharter providers and their aircraft offerings using friendly IDs"
  • "Compare subcharter vs operator fleet pricing using customer-facing identifiers"
  • "Extract detailed crew and amenities information for customer quote references"
  • "Generate compliance reports with subcharter safety ratings using external IDs"
  • "Analyze subcharter margin and commission structures by friendly identifiers"
  • "Compare aircraft capabilities using customer quote references"
  • "Track subcharter trip numbers using external quote identifiers"
  • "Analyze detailed pricing breakdowns for customer quotes by friendly IDs"
  • "Generate detailed cost analysis reports using customer-facing quote identifiers"
  • "API integrations using customer-provided quote reference numbers"
ParameterTypeRequiredDescription
quoteRequestIdsstring[]yesList of Quote Request Provider Friendly IDs (string identifiers) to retrieve detailed information for. Each ID must be: - A non-empty string - A valid Quote Request provider friendly identifier belonging to your operator Examples: ["RFQ-2024-001", "QR-ABC-123", "QUOTE-XYZ-456"] Maximum 50 Quote Requests per request for performance reasons.

get-quote-requests-by-nid-list

Get detailed information for multiple Quote Requests by their NID list, including comprehensive subcharter data and complete pricing breakdown.

RETURNED DATA: A list of Quote Request objects containing:

  • nid: Numerical identifier of the Quote Request
  • id: Provider friendly identifier (string)
  • buyer: Complete buyer information (name, email, phone, address, representative)
  • legs: Flight route details (departure/arrival airports, times, passenger count)
  • status: Current Quote Request status with name
  • realizations: All quote realizations with:
    • price: Quote price and currency
    • acft: Aircraft details (registration, type) - for regular realizations. Is null for subcharter realizations
    • isSubcharter: Flag indicating if this is a subcharter realization
    • pricing: COMPREHENSIVE pricing breakdown for all realizations:
      • currency: Pricing currency
      • quoteRoundedTo: Rounding precision setting
      • quoteRoundedPrice: Final rounded quote price
      • quotationMethod: Pricing methodology (cost-based vs price-based)
      • cost: Base cost calculation
      • pricingMargin: Applied margin percentage
      • priceWithoutCommission: Price before third-party commissions
      • thirdPartyCommission: Commission amounts for subcharter providers
      • totalPrice: Final total price including all fees
      • VATRate: VAT percentage rate
      • VATAmount: Calculated VAT amount
      • fees: Detailed fee breakdown by category:
        • aircraft: Aircraft-related fees (fuel, crew, positioning) with quantities and totals
        • airport: Airport fees (handling, landing, parking) with quantities and totals
        • tax: Tax fees with quantities and totals
        • other: Additional miscellaneous fees with totals
    • subcharter: COMPREHENSIVE subcharter data (only for subcharter realizations):
      • Aircraft: registration, acftTypeLabel, manufactureYear, refurbishment years, paxCapacity
      • Operator: operator name, owner, icaoDesignator, email, phone
      • Pricing: price, currency, thirdPartyCommission, margin
      • Crew: captain, captain2, firstOfficer, firstOfficer2, flightAttendant, doctor, paramedic
      • Amenities: wifi, smoking, cabin dimensions, baggage capacity, toilet type
      • Safety: safety ratings with standards and codes
      • Operations: cancellationPolicy, crewPhone, tripNumber, subcharterTripType
    • legs: Detailed flight legs with:
      • Flight details: times, airports, passenger lists, fuel stops
      • quoteRequestLeg.id: Link to original RFQ leg (if connected). Use this for edit-quote-itinerary's quoteRequestLegId field
    • status: Realization status
  • trip: Trip information if booked (tripNid, tripNumber)
  • createdDate: When the Quote Request was created
  • lastExternalUpdate: Last external system update timestamp
  • isArchived: Archive status flag
  • marketplace: Marketplace nid

SUMMARY:

  • Counts of subcharter vs regular realizations
  • Basic statistics about found Quote Requests

USE CASES:

  • "Get comprehensive details for Quote Requests 13486107, 13486108"
  • "Analyze subcharter providers and their aircraft offerings"
  • "Compare subcharter vs operator fleet pricing and capabilities"
  • "Extract detailed crew and amenities information for subcharter quotes"
  • "Generate compliance reports with subcharter safety ratings"
  • "Analyze subcharter margin and commission structures"
  • "Compare aircraft capabilities: cabin size, wifi, amenities"
  • "Track subcharter trip numbers and operational details"
  • "Analyze detailed pricing breakdowns and fee structures for cost optimization"
  • "Compare pricing methodologies between different realizations"
  • "Extract fee breakdowns for accounting and invoicing purposes"
  • "Understand VAT calculations and third-party commissions"
  • "Generate detailed cost analysis reports with comprehensive fee categorization"
ParameterTypeRequiredDescription
quoteRequestNidsnumber[]yesList of Quote Request NIDs (numerical identifiers) to retrieve detailed information for. Each NID must be: - Greater than 0 - A valid Quote Request identifier belonging to your operator Examples: [13486107, 13486108, 13486109] Maximum 50 Quote Requests per request for performance reasons.

get-quote-requests-list

Retrieve a paginated list of quote requests with comprehensive filtering options.

MAIN PURPOSE: Returns a list of quote requests matching specified criteria, with flexible filtering by date range, booking status, archive status, and text search.

RETURNED DATA: For each quote request, returns:

BASIC INFORMATION:

  • nid: Unique quote request identifier in Leon system
  • id: Provider-friendly ID for customer use
  • createdDate: When the quote request was created
  • lastExternalUpdate: Last modification timestamp
  • isArchived: Whether the request is archived

BUYER INFORMATION:

  • name: Buyer's name
  • email: Contact email address
  • phone, mobilePhone: Contact phone numbers
  • address: street, city, postalCode, countryCode
  • representative: Contact person details (name, surname, emailWork, phoneWork)

TRIP DETAILS:

  • legs: Flight segments with departure/arrival airports, times, passenger count
  • trip: Associated trip information (tripNid, tripNumber)
  • status: Current quote request status

REALIZATIONS:

  • acft: Aircraft details (registration, type)
  • price, currency: Pricing information
  • status: Realization status

FILTERING OPTIONS:

  • limit: Maximum number of results (1-100)
  • from: Start date filter (ISO 8601)
  • includeArchived: Include/exclude archived requests
  • isBooked: Filter by booking status
  • wildcard: Multi-field text search across: • Quote request IDs/numbers • Buyer names and aliases • Airport codes (ICAO, IATA, FAA, custom) • Aircraft registrations/tail numbers

USE CASES:

  • Daily quote request review: "Get last 50 active quote requests"
  • Customer search: "Find quote requests by buyer 'Smith'"
  • Route search: "Find requests for flights to/from 'EGLL' or 'LHR'"
  • Aircraft search: "Find requests for aircraft 'G-ABCD'"
  • ID lookup: "Find quote request containing 'LH123'"
  • Status reporting: "Get all booked requests from last month"
  • Archive management: "Show archived requests for cleanup"

RESOURCE REQUIREMENTS: Requires access to GRAPHQL_SALES resource for quote request data.

ParameterTypeRequiredDescription
limitintegeryesMaximum number of quote requests to retrieve. Must be a positive integer between 1 and 100. Default: 20 Example: 50
fromunknownyesOptional start date filter for quote requests (ISO 8601 format). Only quote requests created on or after this date will be returned. If not specified, defaults to current timestamp. Example: "2024-01-01T00:00:00Z"
includeArchivedbooleanyesWhether to include archived quote requests in results. - true: Include both active and archived requests (default) - false: Only include active requests Default: true
isBookedunknownyesOptional filter by booking status. - true: Only booked quote requests - false: Only unbooked quote requests - undefined: Include both booked and unbooked requests Default: undefined (all requests)
wildcardunknownyesOptional wildcard filter for searching quote requests across multiple fields. SEARCH FIELDS: - provider_friendly_id: Quote request customer ID/number - contact.known_as: Buyer's known name/alias - contact.name: Buyer's actual name - adep airports: Departure airport codes (ICAO, IATA, FAA, custom) - ades airports: Arrival airport codes (ICAO, IATA, FAA, custom) - aircrafts.tail: Aircraft registration/tail number MATCHING: - Case-insensitive partial matching with SQL LIKE '%wildcard%' - Searches across buyer information, airport codes, and aircraft details - OR logic - matches any of the above fields EXAMPLES: - "LH123" - finds quote with ID containing "LH123" - "Smith" - finds requests by buyers named Smith - "EGLL" - finds flights from/to London Heathrow (ICAO) - "LHR" - finds flights from/to London Heathrow (IATA) - "G-ABCD" - finds requests for aircraft G-ABCD

For given flightNid and contacts, returns recommended travel documents (including defaults) based on flight route (adep/ades).

ParameterTypeRequiredDescription
flightNidnumberyesFlight NID for which to resolve recommended travel documents.
contactNidListnumber[]yesList of ContactNid values for passengers to evaluate.

get-report-wizard-flight-scope-columns-list

Retrieves the complete list of available columns for flight reports in Report Wizard Flight Scope. This tool provides metadata about all columns that can be used in the 'get-report-wizard-flight-scope-report' tool.

RETURNED DATA: A list of column definition objects, where each object contains:

  • id: String (NON-NULL) - Unique column identifier that MUST be used in the 'columnList' parameter of 'get-report-wizard-flight-scope-report' tool
  • label: String (NON-NULL) - Human-readable column label describing the column purpose. You MUST use this field to understand what data the column represents
  • comment: String (NULLABLE) - Optional additional information about the column. You SHOULD use this field for deeper understanding of the column's purpose when available. This field MAY be null or empty for some columns

IMPORTANT REQUIREMENTS:

  • You MUST analyze the 'label' field to understand each column's purpose and data type
  • You SHOULD utilize the 'comment' field (when present) to gain additional context about the column
  • You MUST NOT assume column behavior without reading the label and comment metadata
  • When selecting columns for reports, You MUST use the 'id' field as the column identifier

RELATIONSHIP WITH OTHER TOOLS:

  • This tool MUST be called before using 'get-report-wizard-flight-scope-report' to determine valid column IDs
  • The 'id' values returned by this tool are REQUIRED for the 'columnList' parameter in 'get-report-wizard-flight-scope-report'

USE CASES:

  • "Show me all available columns for flight reports" - List all column options with descriptions
  • "What columns can I use in flight scope reports?" - Display column metadata for report customization
  • "I need to create a flight report with specific data fields" - First retrieve available columns, then select appropriate IDs

No parameters.

get-report-wizard-flight-scope-report

Retrieves flight report data with customizable columns and comprehensive filtering options. This tool queries the reportWizard system to generate flight reports based on specified criteria.

RETURNED DATA: Returns a list of flight records where each record is a Map/Object containing the requested columns. The structure of each record depends on the columns specified in columnList:

  • Each record is a key-value map where keys are column names (based on 'label' field from 'get-report-wizard-flight-scope-columns-list' tool) and values are the corresponding data
  • you MUST use 'get-report-wizard-flight-scope-columns-list' tool to understand what each column label represents
  • Column names in the returned data correspond to the 'label' values from the columns-list tool, NOT the 'id' values
  • If 'unique_id' column is requested, it will contain the flightNid
  • Data types and formats vary by column - refer to column definitions for specifics

IMPORTANT NOTES:

  • The dateFilter MUST NOT exceed 92 days
  • You MUST use the 'get-report-wizard-flight-scope-columns-list' tool to obtain valid column IDs before calling this tool
  • To get flightNid in results, you MUST include 'unique_id' in the columnList
  • All optional filters MAY be combined to narrow down results

RELATED TOOLS FOR OBTAINING FILTER VALUES:

  • 'get-report-wizard-flight-scope-columns-list': Get available column IDs and descriptions (REQUIRED before using this tool)
  • 'get-aircraft-by-registration': Get aircraft NIDs (acftNidList parameter)
  • 'get-fleet': Get aircraft NIDs for fleet (acftNidList parameter)
  • 'get-flights-crew': Get crew member NIDs (crewMemberNidList parameter)
  • 'search-contacts-by-wildcard': Get crew member NIDs via loginNid field (crewMemberNidList parameter)
  • 'search-airports-by-wildcard': Get airport LocationNid via locationNid field (adepLocationNidList, adesLocationNidList, airportLocationNidList parameters)
  • 'get-airport-by-code': Get airport LocationNid via locationNid field (adepLocationNidList, adesLocationNidList, airportLocationNidList parameters)
  • 'get-landing-permits' / 'get-overflight-permits': Get three-letter country codes via the country.code field (permitsCountryList parameter)

USE CASES:

  • "Generate a flight report for January 2025 with columns: date, aircraft, route"
  • "Get cancelled flights for specific aircraft between two dates"
  • "Report all flights for a specific crew member within a date range"
  • "Create a custom report with specific data columns for analysis"
  • "Report flights that have permits added for specific countries"
ParameterTypeRequiredDescription
dateFilterobjectyes
columnListstring[]yes[REQUIRED] List of column identifiers to display in the report. This field MUST be provided with at least one column. To get available column IDs and their descriptions, use the 'get-report-wizard-flight-scope-columns-list' tool. If you need the flightNid in the results, you MUST include the 'unique_id' column in this list.
acftNidListunknownyes
crewMemberNidListunknownyes
adepLocationNidListunknownyes
adesLocationNidListunknownyes
airportLocationNidListunknownyes
isCanceledunknownyes
permitsCountryListunknownyes

get-required-aircraft-documents

Get required documents for dispatch for specified aircraft list.

RETURNED DATA: A flat list of document objects, where each object contains:

  • aircraftNid: Aircraft unique identifier in Leon system
  • name: Document name/title
  • docNid: Document definition NID (unique identifier for the document definition)
  • type: Document type (EMER, OPS, OTHER, TECH)

USE CASES:

  • Example 1: "Get all required documents for aircraft with NID 12345"
  • Example 2: "Check what documents are required for dispatch for multiple aircraft"
  • Example 3: "List required document types (OPS/TECH) for specific aircraft"

NOTES:

  • Returns a flat list where each document includes its associated aircraftNid
  • Only returns documents that are marked as required for dispatch (requiredDocumentForDispatchList)
  • Excludes grounded aircraft (includeGndAircraft=false)
  • Returns document definitions, not actual uploaded documents
ParameterTypeRequiredDescription
aircraftNidListinteger[]yesList of aircraft NIDs to fetch required documents for. Example: [12345, 67890]. Must contain at least one aircraft NID.

get-roster-validation-rules

Returns a list of all roster validation rules configured for the operator.

Roster validation rules define criteria used to automatically validate crew roster schedules. Each rule consists of a name, description, and a rule expression that is evaluated against the roster data.

RETURNED DATA: Returns a list of roster validation configurations, each with:

  • nid: numerical identifier of the rule
  • name: short name of the rule
  • description: detailed description of what the rule validates
  • rule: the rule expression/definition used during validation

USE CASES:

  • List all configured roster validation rules for the operator.
  • Check what validation rules exist before running or configuring a roster validation.
  • Retrieve rule nids for use in other roster validation operations.

No parameters.

get-travel-documents

Returns a list of travel documents (passports, visas, ID cards, etc.). Can be filtered by country code, crew member NIDs, or document type. Use this tool to find all passports, visas, or other travel documents.

ParameterTypeRequiredDescription
offsetnumberyesPagination offset - start from this record number
lengthnumberyesMaximum number of records to return (default 60)
filterunknownyes

get-trips-by-trip-nids

Returns a list of trips with detailed information for given trip numerical identifiers.

RETURNED DATA: A list of trip objects containing:

  • tripNid: Unique trip identifier in Leon system
  • tripNumber: Human-readable trip number (e.g., "10-2025/28")
  • tripType: Type of trip. Possible values: OWNER, PAX, TRAINING, TECHNICAL, AMBULANCE, CARGO, MISSION, AIRCRAFT_REPOSITIONING, OWNER_CHARTER, FREQUENT_FLYER, REGULAR_PAX_TRANSPORT, HEAD, STATE, SIMULATOR, OTHER
  • tripStatus: Trip status string value (e.g., confirmed, option, opportunity)
  • flightList: Array of flights belonging to this trip with:
    • flightNid: Unique flight identifier in Leon system
    • startTimeUTC: Scheduled Time of Departure (STD) in UTC (ISO 8601), e.g., "2025-06-05T08:30:00"
    • endTimeUTC: Scheduled Time of Arrival (STA) in UTC (ISO 8601), e.g., "2025-06-05T12:45:00"
    • startAirport: Departure airport (ADEP) with:
      • locationNid: Airport numerical identifier in Leon system
      • code.icao/iata/faa/cust: Airport codes (e.g., icao: "EPWA", iata: "WAW")
      • name: Airport name
      • city: Airport city
      • country: Airport country
    • endAirport: Destination airport (ADES) with:
      • locationNid: Airport numerical identifier in Leon system
      • code.icao/iata/faa/cust: Airport codes (e.g., icao: "EPWA", iata: "WAW")
      • name: Airport name
      • city: Airport city
      • country: Airport country
    • acftNid: Aircraft numerical identifier in Leon system assigned to this flight

USE CASES:

  • "Get trip details for trips 5813574, 5813564"
  • "Retrieve flight schedules and routes for specific trips"
  • "Analyze trip itineraries with departure/arrival airport information"
  • "Track aircraft assignments across multiple trips"
ParameterTypeRequiredDescription
tripNidListnumber[]yesList of trip NIDs (numerical identifiers) to retrieve detailed information for.

get-user-certificates

Returns a list of certificates for user. Can be filtered by many fileds that are optional and can be appiles if necessary

ParameterTypeRequiredDescription
offsetnumberyesPagination offset (starting record number)
lengthnumberyesMaximum number of records to return (default: 60)
sortByunknownyesField used for sorting results
sortDirectionunknownyesSorting direction ASC/DESC
filterunknownyesFilter criteria for crew member certificates

get-virtual-aircraft

Returns a complete list of virtual aircraft available for the operator. Real aircraft (aircraftNid) and virtual aircraft (virtualAircraftNid) are SEPARATE entities in the system - they are NOT interchangeable and should never be mixed or confused. Virtual aircraft require no formal registration or maintenance logs.

RETURNED DATA: A list of virtual aircraft objects for the operator. Each virtual aircraft contains:

  • name - Display name of the virtual aircraft (e.g., "ABCDE (V)", "V-ADER")
  • aircraftVirtualNid - Unique numerical identifier of the virtual aircraft in the Leon aviation system.
  • acftType - Aircraft type specification object containing:
    • icao - Aircraft type codes per ICAO standards. International standard 4-character code used in flight plans and ATC communications
    • iata - Aircraft type codes per IATA standards. 3-character airline industry standard code, may be empty for some aircraft
    • acftTypeId - Aircraft type identifier

No parameters.

get-weather-for-airport-list

Returns current weather conditions (METAR) and forecasts (TAF) for specified airports by their location identifiers.

WHEN TO USE:

  • User asks about weather for specific airports by locationNid
  • Need to check weather conditions at multiple airports simultaneously
  • Airport briefing or planning requires current meteorological data

IMPORTANT:

  • Weather data MAY be unavailable for some airports (returns "N/A")
  • TAF = Terminal Aerodrome Forecast (approximately 24 hour weather forecast)
  • METAR = Meteorological Aerodrome Report (current observed conditions)
  • This tool efficiently handles MULTIPLE airports in a single batch request

INPUT REQUIREMENTS:

  • locationNids parameter MUST contain at least one valid airport location identifier
  • Each locationNid MUST be a positive integer representing an airport in the Leon system
  • To obtain locationNids, you MAY use "search-airports-by-wildcard" or "get-airport-by-code" tools

RETURNED DATA: For each airport, returns an object containing:

  • locationNid: Airport location numerical identifier
  • taf: WeatherTaf object OR string "N/A" if unavailable
  • metar: WeatherMetar object OR string "N/A" if unavailable

WeatherTaf object:

  • rawText: Raw TAF message text
  • validFrom, validTo: ISO 8601 validity period (e.g., 2025-06-05T12:00:00)

WeatherMetar object:

  • rawText: Raw METAR message text
  • observationTime: ISO 8601 observation time (e.g., 2025-06-05T12:00:00)

USE CASES:

  • "Get weather for airports with locationNids 12345 and 67890"
  • "Retrieve TAF/METAR for multiple destination airports"
  • "Check current weather conditions at specific airport locations"

RELATED TOOLS:

  • Use "search-airports-by-wildcard" to find airports by name/code
  • Use "get-airport-by-code" to get airport details including locationNid
  • Use "get-weather-for-flight-list" for flight-based weather retrieval
ParameterTypeRequiredDescription
locationNidsnumber[]yes[REQUIRED] List of airport location numerical identifiers (locationNids) for which weather data SHOULD be retrieved. REQUIREMENTS: - Each locationNid MUST be a positive integer greater than 0 - Array MUST contain at least one locationNid - Each locationNid MUST represent a valid airport location in the Leon system EXAMPLE: [12345, 67890, 11111] The tool will retrieve TAF and METAR weather data for each specified airport.

get-weather-for-flight-list

Returns current weather conditions (METAR) and forecasts (TAF) for departure and arrival airports of specified flights.

WHEN TO USE:

  • User asks about weather for specific flights
  • Flight briefing or planning requires meteorological data
  • Need to check departure/arrival airport weather

IMPORTANT:

  • Weather data MAY be unavailable ("N/A") for some airports
  • TAF = Terminal Aerodrome Forecast (approximately 24 hour weather forecast)
  • METAR = Meteorological Aerodrome Report (current observed conditions)
  • This tool efficiently handles MULTIPLE flights in a single batch request

INPUT REQUIREMENTS:

  • flightNids parameter MUST contain at least one valid flight identifier
  • Each flightNid MUST be a positive integer representing a flight in the Leon system
  • To obtain flightNids, you MAY use "search-flights" tool to find flights by various criteria

RETURNED DATA: For each flight, returns an object containing:

  • flightNid: Flight numerical identifier
  • airportAdep: Departure airport information (Airport object with codes, coordinates, name)
  • airportAdes: Arrival airport information (Airport object with codes, coordinates, name)
  • tafAdep: WeatherTaf object OR string "N/A" if unavailable
  • metarAdep: WeatherMetar object OR string "N/A" if unavailable
  • tafAdes: WeatherTaf object OR string "N/A" if unavailable
  • metarAdes: WeatherMetar object OR string "N/A" if unavailable

Airport object structure:

  • locationNid: Airport numerical identifier in Leon System
  • code.icao: 4-character ICAO airport code (e.g., EPWA)
  • code.iata: 3-character IATA airport code (e.g., WAW)
  • code.mostDescriptive: Best available code (prefers ICAO over IATA)
  • name, city, country: Location details
  • longitudeDec, latitudeDec: GPS coordinates in decimal format

WeatherTaf object:

  • rawText: Raw TAF message text
  • validFrom, validTo: ISO 8601 validity period (e.g., 2025-06-05T12:00:00)

WeatherMetar object:

  • rawText: Raw METAR message text
  • observationTime: ISO 8601 observation time (e.g., 2025-06-05T12:00:00)

USE CASES:

  • "Get weather forecasts and conditions for flights 12345 and 67890"
  • "Retrieve TAF/METAR for all flights departing today" (first use search-flights)
  • "Check current weather at departure and arrival airports for active flights"

RELATED TOOLS:

  • Use "search-flights" to find flightNids by date, route, or status
  • Use "get-flights-by-flight-nids" for comprehensive flight details
ParameterTypeRequiredDescription
flightNidsnumber[]yes[REQUIRED] List of flight numerical identifiers (NIDs) for which weather data SHOULD be retrieved. REQUIREMENTS: - Each flightNid MUST be a positive integer greater than 0 - Array MUST contain at least one flightNid - Each flightNid MUST represent a valid flight in the Leon system EXAMPLE: [12345, 67890, 11111] The tool will retrieve TAF and METAR weather data for both departure (ADEP) and arrival (ADES) airports for each specified flight.

merge-contacts

Merges multiple contacts into a single target contact in the Leon aviation operations system.

OPERATION:

  • Takes a target contact (remains after merge) and a list of contacts to merge into it
  • All data from contacts in the list will be merged into the target contact
  • Contacts from the list will be removed after successful merge
  • This operation is typically used for deduplication and data consolidation

MERGE RESTRICTIONS: ⚠️ Some contacts CANNOT be merged due to system constraints:

  • Contacts with loginNid (associated with system users/login accounts) may not be mergeable
  • Contacts of different types (isCompany: true vs false) CANNOT be merged together
  • Only merge person contacts with person contacts, or company contacts with company contacts
  • The system will return an error if attempting to merge incompatible contact types

PREREQUISITE WORKFLOW:

  1. Use "search-contacts-by-wildcard" to find contacts by name/email/phone
  2. Use "get-contact-duplicates-by-contact-nid" to identify duplicate contacts
  3. Review the contacts to determine which should be the target (main) contact
  4. CHECK if any contacts have loginNid - these may not be mergeable
  5. Execute merge with target contactNid and list of contactNids to merge

RETURNED DATA: On success returns the merged contact with:

  • contactNid: Target contact ID that remains
  • Personal info: name, surname, knownAs, code
  • Company info: companyShort, isCompany
  • Contact info: emailWork, emailPrivate, phoneWork, phonePrivate
  • Login info: loginNid if contact is a system user
  • Account info: account object with related company/account data

ERROR HANDLING:

  • Returns error if target contact doesn't exist
  • Returns error if any contact in merge list doesn't exist
  • Returns error if user doesn't have permission to merge contacts
  • Returns error if merge operation violates data integrity constraints
  • Returns error if trying to merge contacts with different types (person + company)
  • Returns error if trying to merge contacts associated with system users (with loginNid)

USE CASES:

  • Deduplication: "Merge duplicate contacts 12346, 12347 into main contact 12345"
  • Data consolidation: "Combine John Smith's multiple profiles into one"
  • Cleanup: "Merge all duplicate records for contact@example.com"

IMPORTANT NOTES:

  • The operation is irreversible - merged contacts cannot be easily separated
  • Always verify the target contact is correct before merging
  • If multiple contacts found, ASK USER which one should be the target before proceeding
ParameterTypeRequiredDescription
targetContactNidnumberyesTarget contact NID (numerical identifier) to merge other contacts INTO. This contact will remain after merge. Example: 12345. Use "search-contacts-by-wildcard" or "get-contact-duplicates-by-contact-nid" tool to find contactNid if not known.
contactNidListToMergenumber[]yesList of contact NIDs to merge INTO the target contact. These contacts will be merged and removed. Must contain at least 1 contact NID. Example: [12346, 12347, 12348]

remove-passengers-from-flight

Remove selected passengers (by ContactNid list) from a flight passenger list by FlightNid. Returns counts after removal.

ParameterTypeRequiredDescription
flightNidnumberyesFlight NID (numeric identifier) for which the passenger should be removed.
passengerContactNidListnumber[]yesList of ContactNid values for passengers to remove from the flight.

remove-tags-from-flight

Remove existing tags from a flight in Leon aviation operations system.

BUSINESS LOGIC:

  • Removes specified tags from a flight WITHOUT affecting other existing tags
  • Only removes tags that are currently assigned to the flight
  • Tags not assigned to the flight are silently ignored (no error)
  • Requires valid flight NID and at least one tag NID
  • All tag NIDs MUST reference existing tag definitions

RETURNED DATA: Returns an object containing:

  • success: Boolean indicating operation result (true/false)
  • flightNid: The flight identifier that was updated (on success)
  • error: Error message (on failure)

RELATED TOOLS:

  • Use "search-flights" to find flights and get their flight NIDs
  • Use "get-modified-flight-nid-list" to get list of recently modified flight NIDs
  • Use "search-flight-tags-by-name" to find tag NIDs by tag name
  • Use "add-tags-to-flight" to add tags to a flight
  • Use "clear-tags-from-flight" to remove all tags from a flight
  • Use "set-flight-tag-definition" to create new tag definitions

USE CASES:

  • Remove VIP tag from flight: "Remove VIP tag (NID: 122536) from flight 63115639"
  • Remove multiple tags: "Remove Medical and Charter tags from flight"
ParameterTypeRequiredDescription
flightNidnumberyes[REQUIRED] Flight numerical identifier. The flight NID MUST be a valid existing flight identifier in Leon system. Example: 63115639
tagNidsnumber[]yes[REQUIRED] List of tag definition NIDs to REMOVE from the flight. Each tag NID MUST be a valid existing tag definition identifier. Only tags that are currently assigned to the flight will be removed. If a tag is not assigned to the flight, it will be silently ignored. Examples: - [122536] - single tag - [122536, 122537, 122538] - multiple tags To get available tags NIDs, use the "search-flight-tags-by-name" tool.

request-marketplace-aircraft-for-itinerary

Submit a quote request for specific aircraft to fulfill a multi-leg itinerary in Leon's marketplace.

PREREQUISITES: ⚠️ IMPORTANT: This tool requires several preparation steps:

A) AIRCRAFT SELECTION:

  1. Call 'get-aircraft-categories' to get valid category NIDs (only categories with hierarchy field)
  2. Call 'search-marketplace-aircraft-for-itinerary' to find available aircraft
  3. Select specific aircraft from the search results to request quotes for

B) CLIENT IDENTIFICATION: 4. Call 'search-contacts-by-wildcard' to find existing client contact 5. Check result for isClient flag being set to true 6. Instead of listing all contacts, filter those with isClient=false out 7. If no matching client found, use 'create-contact-company' or 'create-contact-person' with input value isClient=true to create new client entry. If user did not specify which type to create (company or person) ask about it. 8. Use the contactNid as requestedBy parameter 9. Refer to requestedBy parameter as requester

REQUEST CAPABILITIES:

  • Create quote requests for multiple specific aircraft
  • Multi-leg itinerary support
  • Required date and time specification for each leg
  • Passenger count requirements per leg
  • Optional message for additional context

RETURNED DATA: On success returns:

  • Quote request NID (identifier for tracking)
  • Quote request ID (user-friendly identifier)

COMPLETE WORKFLOW:

  1. Get aircraft categories with 'get-aircraft-categories'
  2. Search available aircraft with 'search-marketplace-aircraft-for-itinerary'
  3. Select specific aircraftId values from search results
  4. Search for client contact with 'search-contacts-by-wildcard'
  5. If client not found or isClient=false, create client with 'create-contact-company/create-contact-person' (isClient=true).
  6. Use this tool to request quotes for selected aircraft with client contactNid
  7. Track the created quote request using the returned NID and output returned ID

USE CASES:

  • Request quotes from multiple operators for specific aircraft
  • Create formal quote requests after preliminary aircraft search
  • Submit detailed trip requirements to marketplace providers
  • Track and manage quote request status
ParameterTypeRequiredDescription
itineraryDataobjectyesComplete itinerary data including legs and aircraft requirements
requestedByintegeryesClient NID making the request (integer identifier) - must be obtained from search-contacts-by-wildcard tool with isClient=true, or create new client using create-contact-company/create-contact-person
aircraftIdListstring[]yesArray of specific aircraft IDs to request quotes for (obtained from search-marketplace-aircraft-for-itinerary)
messageunknownyesOptional message or additional notes for the quote request

restore-flights

Restores flights after they were cancelled using flight numerical identifiers from Leon system.

BUSINESS LOGIC: ✓ flightNidList - Array of flight NIDs (flight numerical identifiers in Leon system). Each NID must be greater than 0 and be a valid flight identifier.

RETURNED DATA:

  • Returns object with following fields:
    • flightsSuccessfullyRestored: array of flight NIDs which have been restored successfully (if there are any).
    • flightsFailedToRestore: array of flight NIDs which have failed to be restored (if there are any).
    • errors: array of strings, containing occuring errors (if there are any).

IMPORTANT NOTES:

  • Maximum 10 flight NIDs per request
ParameterTypeRequiredDescription
flightNidListnumber[]yesList of flight NIDs (1-10) which you want to restore. Each flightNid must be greater than 0 and be a valid flight identifier. Examples: - [48932349] - single flight - [48932349, 48932350, 48932351] - multiple flights

save-fuel-prices-on-flight

Save fuel prices for a flight at departure (ADEP) and/or destination (ADES) airports. This tool uses the setFlightFuelPrices GraphQL mutation to save fuel prices with full unit/currency conversions.

IMPORTANT NOTE: You MUST NOT set up new prices by yourself without asking a user

WORKFLOW:

  1. Use "get-fuel-prices-for-flight-or-route" to get available fuel prices for the flight route
  2. Before saving any prices you MUST ask user about his preferences (airport, prices, supplier, other )
  3. If locationNid is not available, use "search-airports-by-wildcard" to find airport locationNids
  4. Call this tool with the selected prices (can include both existing prices by NID and new prices with NID=null or NID=0)

VALIDATIONS: ✓ At least one fuel price must be provided (adep or ades) ✓ Currency codes must be exactly 3 letters ✓ LocationNid is required for each fuel price

RELATED TOOLS:

  • "get-fuel-prices-for-flight-or-route" - Get available fuel prices to choose from
  • "search-airports-by-wildcard" - Find airport locationNids (REQUIRED if not available)
  • "search-flights" or "get-flights-by-flight-nids" - Find flight NIDs

USE CASES:

  • "Save fuel prices for flight 12345 at departure and destination"
  • "Update fuel pricing for flight with new negotiated rates"
  • "Add new fuel supplier price to existing flight"

IMPORTANT NOTES:

  • Set fuelPriceNid to null (or 0 for backwards compatibility) when creating a new fuel price entry
  • Use existing fuelPriceNid (from "get-fuel-prices-for-flight-or-route") when updating existing prices
  • LocationNid is REQUIRED - use "search-airports-by-wildcard" to find it if not available
ParameterTypeRequiredDescription
flightNidintegeryesFlight NID for which to save fuel prices. Use "search-flights" or "get-flights-by-flight-nids" to find flight NIDs.
adepobject[]yesArray of fuel prices for departure airport (ADEP). Can be empty if no changes needed.
adesobject[]yesArray of fuel prices for destination airport (ADES). Can be empty if no changes needed.

search-aircraft-reservations

This tool returns list of aircraft reservations matching given search criteria.

ALWAYS MUST NOT fill an optional parameter with any value if this field is not required to be set in your task - omit this input parameter altogether.

FILTER PARAMETERS:

  • timeRange: [Required] Date/time range for aircraft reservation search (maximum span: 90 days),
  • aircraftNidList: [Optional] filter by aircraft list. This is list of aircraft numerical identifiers. This can be obtained for example from tool "get-aircraft-by-registration". Omit altogether if no specific aircraft is set here.

RETURNED DATA - Comprehensive Field Description:

  • aircraftReservationNid: aircraft reservation numerical identifier
  • name: A name or title given by the operator for this very reservation.
  • aircraft: Aircraft Details:
    • registration - Aircraft registration marks (e.g., SP-ABC)
    • acftType.icao/iata - Aircraft type codes per ICAO/IATA standards
    • aircraftNid - Aircraft numerical identifier
  • Airport Information (startAirport and endAirport) Note: endAirport is the same as startAirport unless status of the reservation is OPPORTUNITY, then they may be different. Airport details have following data:
    • code.icao - 4-character ICAO airport code (e.g., EPWA)
    • code.iata - 3-character IATA airport code (e.g., WAW)
    • code.mostDescriptive - Most informative code (prefers ICAO over IATA)
    • longitudeDec/latitudeDec - Airport GPS coordinates in decimal format
    • name/city/country - Airport name, city, and country
    • locationNid - Airport numerical identifier
  • startTimeUTC: date and time of the reservation start in UTC
  • endTimeUTC: date and time of the reservation end in UTC
  • status: Status of the reservation. Can have following values:
    • CONFIRMED: reservation is confirmed and aircraft time will be held free for this reservation
    • OPTION: reservation was requested but not yet confirmed.
    • OPPORTUNITY: a special kind of reservation where operator is keen to have the aircraft perform flight between two specified airports (only this kind of reservation may have two different airports on start and end)
  • client.clientNid: client numerical identifier for whom this reservation is made (sometimes known as client contactNid). You can find which clientNid is which by query tool search-contacts-by-wildcard
  • isChangingPosition: flag, if set to true and reservation has CONFIRMED status, the airport set on this reservation will be treated as aircraft location just at the end of reservation period.
  • isAllowOverlapping: flag, when set to true, this reservation is legal to overlap other activities.
  • isAvailableForCharter: flag, if set to true, aircraft can still be chartered to other clients within period of this reservation.
  • availableForCharterOffset: Time field, also known as Prior Notice - if aircraft is to be chartered for flight to other client within period of this reservation, this charter decision cannot be made in a shorter time than the period specified in this field before charter flight STD.
  • notes: operator notes to this reservation.
ParameterTypeRequiredDescription
timeRangeobjectyes
aircraftNidListunknownyes

search-airports-by-wildcard

Search for airports using wildcard text search across multiple fields.

SEARCH CAPABILITIES:

  • Supports partial matching for airport names and cities
  • Exact and partial matching for airport codes
  • Case-insensitive search

RETURNED DATA: For each matching airport returns:

  • Basic info: name, city, country
  • Airport codes: ICAO, IATA, FAA, custom codes

USAGE EXAMPLES:

  • City names: "Warsaw", "London" → matches airports in these cities
  • Airport names: "Chopin", "Heathrow" → matches by airport name
  • Codes: "WAW", "EPWA", "LHR" → matches IATA/ICAO codes
ParameterTypeRequiredDescription
wildcardstringyesSearch term - airport name, city, or airport codes (ICAO/IATA/FAA/CUSTOM)
maxResultsnumberyesMaximum number of airports to return (default: 10)

search-contacts-by-created-date

Returns a list of contacts that were created after the specified date.

RETURNED DATA: A list of Contact objects containing:

  • contactNid: Unique contact identifier in Leon system
  • name: First name of the contact
  • surname: Last name of the contact
  • code: Contact code
  • personCode: Personal identification code
  • knownAs: Preferred name or alias
  • genderEnum: Gender enumeration value (MALE/FEMALE/UNKNOWN)
  • emailWork: Work email address
  • emailPrivate: Private email address
  • phoneWork: Work phone number
  • phonePrivate: Private phone number
  • login: Object containing loginNid (null if contact is not a system user)
  • account: Account information object with contactNid, name, surname, companyShort, isCompany (null if no account)

USE CASES:

  • Find all contacts created after a specific date: "Show me contacts created after 2025-01-01T00:00:00Z"
  • Retrieve recently added contacts: "Get contacts added in the last week"
  • Track new contact registrations: "List contacts created after 2025-11-01T00:00:00Z"
ParameterTypeRequiredDescription
fromDateTimeUTCstringyes

search-contacts-by-wildcard

Search for contacts using advanced wildcard text search across multiple fields in Leon aviation operations system.

SEARCH FIELDS - Wildcard searches across: ✓ Personal Info: name, middle_name, surname, known_as, person_code ✓ Company Info: company_short (company names) ✓ Document Numbers: passport numbers, national ID numbers, visa numbers ✓ Business Data: debitor_number, project_number, cost_centre ✓ Contact Info: email addresses (work emails with partial match)

SEARCH CAPABILITIES:

  • MySQL fulltext search with relevance scoring (sorted by best matches first)
  • Supports partial matching (3+ chars get advanced matching, shorter get basic wildcard)
  • Case-insensitive search with special character handling
  • Finds exact matches in document/business numbers and partial matches in text fields

RETURNED DATA: For each matching contact returns:

  • Basic info: contactNid, name, surname, personCode, knownAs
  • loginNid: Available if the contact is a system user (e.g. crew, operator user, aircraft owner)
  • Contact details: emailWork, emailPrivate, phoneWork, phonePrivate
  • Demographics: genderEnum (MALE/FEMALE/UNKNOWN)
  • Business classification: isClient (boolean) - indicates if contact can be RFQ requester
  • accounts: Array of account relationships (primary account + additional accounts)

USAGE EXAMPLES:

  • Names: "John", "Smith" → matches name, surname, known_as, middle_name
  • Companies: "Airways", "Aviation" → matches company_short
  • Codes: "EMP001", "CAPT123" → matches person_code
  • Documents: "P1234567" → matches passport/visa/national ID numbers
  • Business: "PROJ001" → matches project_number, debitor_number, cost_centre
  • Emails: "john@company" → partial match in work email addresses
ParameterTypeRequiredDescription
wildcardstringyesSearch term - minimum 1 character required
showTypeALL | ANIMALS | CONTACT | SCHEDULED_FOR_DELETEyesType of contacts to show (default: ALL)
limitnumberyesMaximum number of contacts to return (default: 10)
offsetnumberyesPagination offset - start from this record number (default: 0)

search-flight-tags-by-name

Search for flight and trip tags by name in Leon aviation operations system.

SEARCH BEHAVIOR:

  • Searches both flight tags and trip tags simultaneously using wildcard prefix matching
  • Returns merged results from both tag types
  • Minimum 1 character required for search

RETURNED DATA: Each tag object contains:

  • tagDefinitionNid: Unique identifier for the tag definition
  • tagGroup: Tag group identifier - determines tag type:
    • tagGroup = 3: Flight tags *
    • tagGroup = 4: Trip tags *
  • label: Display label/name of the tag
  • color: Hexadecimal color code for tag visualization (e.g., FF5733)

USE CASES:

  • Find tags by prefix: "VIP" returns tags starting with "VIP" (e.g., "VIP", "VIP Client", "VIP Service")
  • Get tag metadata: retrieve tagDefinitionNid and color for UI display
  • Filter by tag type: use tagGroup (3=flight, 4=trip) to separate flight tags from trip tags
ParameterTypeRequiredDescription
namestringyesSearch term for tag name - minimum 1 character required. Uses wildcard prefix search to find tags starting with the provided text. Searches both flight tags and trip tags.

search-flights

Returns a list of flights matching the provided search criteria.

You MUST NOT guess results - its number or its content - ALWAYS MUST read ACTUAL results. ALWAYS MUST RERUN this tool with offset when previous run returned number of records (before your own filtration) is equal to given limit. Read IMPORTANT note below. ALWAYS MUST NOT fill an optional parameter with any value if this field is not required to be set in your task.

FILTER PARAMETERS:

  • timeRange (required): [Required] Date/time range for flight search (maximum span: 6 calendar months). Important: MUST read warning in tool description.
  • flightStatus: [OPTIONAL] Filter by status (CONFIRMED, OPTION, OPPORTUNITY)
  • flightNumber: Wildcard search for flight number (e.g., "ABC" finds all flights containing "ABC")
  • tripNumber: Wildcard search for trip number (e.g., "10-2025" finds all trips containing "10-2025")
  • adepLocationNid: [OPTIONAL] Filter by departure airport location NID (can be obtained using 'search-airports-by-wildcard' or 'get-airport-by-code' tools)
  • adesLocationNid: [OPTIONAL] Filter by destination airport location NID (can be obtained using 'search-airports-by-wildcard' or 'get-airport-by-code' tools)
  • icaoType: [OPTIONAL] Filter by ICAO flight type (S, N, G, M, X)
  • flightType: [OPTIONAL] Filter by flight type(s) (OWNER, TRAINING, CARGO, PAX, AMBULANCE, etc.)
  • journeyLogCompletionStatus: [Optional] If one of the predefined value is given the following flights will be returned:
    • if NO_JOURNEY_LOG is given - then only flights with no journey log will be returned
    • if INCOMPLETE is given - then all flights returned will have journey log added, but with not all mandatory fields filled out
    • if COMPLETE is given - then returned flights will have journey log with all mandatory fields filled.
  • requestedByNid: [OPTIONAL] Filter by client NID (contact NID of the client who requested the flight; can be obtained using 'search-contacts-by-wildcard' tool)
  • aocNidList: [OPTIONAL] Filter by Air Operator Certificate NIDs (can be obtained using 'get-aoc-list' tool)
  • tagNidList: [OPTIONAL] Filter by tag definition NIDs (filters on both flight tags and trip tags; can be obtained using 'search-flight-tags-by-name' tool)
  • aircraftNidList: [Optional] filter by aircraft list. This is list of aircraft numerical identifiers. This can be obtained for example from tool "get-aircraft-by-registration"
  • crewNidList: [Optional] filter by list of crew members on flight. This is list of login numerical identifiers (loginNid). Flight will be returned if at least one of the given crew members is on flight. The loginNid list (a.k.a. crewMemberNid list) can be obtained for example from tool "get-flights-crew" or "search-contacts-by-wildcard" (loginNid if available)
  • ferry: [Optional] filter by ferry flag - if true - only ferry flights will be returned (flights with no cargo and no PAX). If set to false - only non-ferry flights will be returned.
  • cancelled: [Optional] filter by cancelled flag (a.k.a. CNL) - if true - only cancelled flights will be returned. If set to false - only non-cancelled flights will be returned. If not set at all, then all flights will be returned.
  • departureCountry: [Optional] filter by country of departure (by supplied country code in ISO 3166-1 alpha-3 format). If set, only flights departing in this country will be returned.
  • arrivalCountry: [Optional] filter by country of arrival (by supplied country code in ISO 3166-1 alpha-3 format). If set, only flights arriving in this country will be returned.
  • offset: [Optional] Offset skips the given number of results. If you received a number of results equal to what limit allowed in the first query, then you can set this to the number of results you previously received in order to receive consecutive set of results. Repeat this operation up to the point when received results number is smaller than limit. Important: MUST read warning in tool description.
  • limit: Maximum number of results to return (default: 10, max: 50). Important: MUST read warning in tool description..

WARNING: If you received a number of results equal to what limit allowed (what limit argument was set to) in the first query, then you MUST query again for the same dateRange period and set the offset argument value on consecutive calls to the number of results you previously received - this is in order to receive consecutive set of results within this dateRange period. Repeat this operation up to the point when received results number is smaller than limit.

RETURNED DATA - Comprehensive Field Description: Main result contains of three values:

  • flightsCount: number of flights returned in this query
  • shouldRerunRequestForNextPageWithOffset: flag, if true you MUST rerun this query for the same timeRange but with offset parameters filled in order to get consecutive flights
  • flightsList: list of flight data obtained in this query

FlightList data consist of the following:

Core Flight Identification:

  • flightNid - Unique flight identifier in Leon system (scalar type)
  • flightNo - Flight number
  • trip.tripNumber - Trip number associated with the flight
  • trip.tripNid - Unique trip identifier in Leon system
  • status - Flight confirmation status: CONFIRMED, OPTION, or OPPORTUNITY
  • startTimeUTC/endTimeUTC - Flight start/end times in UTC (DateTime scalars)
  • startTimeLocal/endTimeLocal - Flight times in local timezone with timezone info (local in respect to applicable airport)

Airport Information (startAirport/endAirport):

  • code.icao - 4-character ICAO airport code (e.g., EPWA)
  • code.iata - 3-character IATA airport code (e.g., WAW)
  • code.mostDescriptive - Best available code (prefers ICAO over IATA)
  • longitudeDec/latitudeDec - Airport GPS coordinates in decimal format
  • name/city/country - Airport name, city, and country
  • locationNid - Airport numerical identifier

Aircraft Details (acft):

  • registration - Aircraft registration marks (e.g., SP-ABC)
  • acftType.icao/iata - Aircraft type codes per ICAO/IATA standards
  • aircraftNid - Aircraft numerical identifier

Flight Parameters:

  • dist - Flight distance (in nautical miles, integer)
  • flightRules - Flight rules enum: I (IFR), V (VFR), Y (IFR/), Z (VFR/)
  • icaoType - ICAO flight type: S (Scheduled), N (Non-scheduled), G (General aviation), M (Military), X (Other)
  • isCommercial - Whether flight is commercial (boolean from trip data)
  • isCnl - Whether flight is cancelled (boolean)

Journey Log - Post-Flight Report Data:

  • Fuel Management:
    • blockFuel - Fuel loaded for flight start
    • usedFuel - Fuel consumed during flight
    • remainingFuel - Fuel remaining after flight
    • taxiFuel - Fuel used for taxiing
    • refuel - Fuel added prior to the flight
    • fuelUnit - Unit of fuel measurement
  • Weight & Cargo:
    • weightUnit - Unit for weight measurements
    • bag - Baggage weight
    • cargo - Cargo weight
  • Actual Flight Times:
    • atd - Actual Time of Departure (Take-off time, integer timestamp)
    • ata - Actual Time of Arrival (Landing time, integer timestamp)
    • nightTime - Night flying time duration
    • startTime/endTime - Actual flight start/end times (Block times)
  • Passenger Counts:
    • paxCount - Total passenger count
    • paxMaleCount/paxFemaleCount - Gender-specific counts
    • paxChildCount/paxInfantCount - Age-specific counts
  • Flight Operations:
    • distance - Actual flight distance
    • flightLog - Detailed flight log text
    • landingCount - Number of landings performed
  • Journey Log Airports:
    • Simplified airport data (ICAO/IATA codes, name, country) for actual departure/arrival

Key Distinction: Main fields contain planned/scheduled data, while journeyLog contains actual post-flight data from the completed flight.

ParameterTypeRequiredDescription
timeRangeobjectyes
flightStatusunknownyes
flightNumberunknownyes
tripNumberunknownyes
adepLocationNidunknownyes
adesLocationNidunknownyes
icaoTypeunknownyes
flightTypeunknownyes
journeyLogCompletionStatusunknownyes
requestedByNidunknownyes
aocNidListunknownyes
tagNidListunknownyes
aircraftNidListunknownyes
crewNidListunknownyes
ferryunknownyes
cancelledunknownyes
departureCountryunknownyes
arrivalCountryunknownyes
offsetunknownyes
limitintegeryesLimit the number of results returned (default: 10, max: 50). Important: MUST read warning in tool description.

search-maintenances

This tool returns list of aircraft maintenances matching given search criteria.

ALWAYS MUST NOT fill an optional parameter with any value if this field is not required to be set in your task - omit this input parameter altogether.

FILTER PARAMETERS:

  • timeRange: [Required] Date/time range for aircraft maintenance search (maximum span: 12 calendar months),

  • aircraftNidList: [Optional] filter by aircraft list. This is list of aircraft numerical identifiers. This can be obtained for example from tool "get-aircraft-by-registration". Omit altogether if no specific aircraft is set here.

  • aog: [OPTIONAL] You can specify AOG (Aircraft On Ground) filter. Maintenance with AOG (isAog) flag is set to true, it means the aircraft is grounded due to some technical malfunction and it disrupts operator's ability to perform planned schedule. Thus, an extra effort is being put to perform this unscheduled maintenance. Also all necessary shipments of parts and consumables required are sent to the aircraft grounded place with highest priority.

    When:

    • ONLY_AOG - maintenances which are AOG (isAog == true) will only be returned,
    • ONLY_NON_AOG - maintenances which are not AOG (isAog == false) will only be returned,
    • ALL - all maintenances will be returned, regardless of their AOG status.

RETURNED DATA - Comprehensive Field Description:

  • aircraftMaintenanceNid: aircraft maintenance numerical identifier
  • name: A name or title given by the operator for this very maintenance. May be the same as given to other maintenances in case of scheduled maintenances - eg. "500FH inspection"
  • aircraft: Aircraft Details:
    • registration - Aircraft registration marks (e.g., SP-ABC)
    • acftType.icao/iata - Aircraft type codes per ICAO/IATA standards
    • aircraftNid - Aircraft numerical identifier
  • airport Airport Information:
    • code.icao - 4-character ICAO airport code (e.g., EPWA)
    • code.iata - 3-character IATA airport code (e.g., WAW)
    • code.mostDescriptive - Most informative code (prefers ICAO over IATA)
    • longitudeDec/latitudeDec - Airport GPS coordinates in decimal format
    • name/city/country - Airport name, city, and country
    • locationNid - Airport numerical identifier
  • startTimeUTC: date and time of the maintenance start in UTC
  • endTimeUTC: date and time of the maintenance end in UTC
  • tahLimitTime - TAH (Total Accumulated Hours) for airframe before which this maintenance must be performed. After reaching this limit, and when this maintenance is not performed, the aircraft is not airworthy and it should be grounded. Applicable only to scheduled maintenances. Hours means here Flight Hours of the airframe. Usually in long time format, ex: "12453:32" Reason - some aircraft components may have imposed on them an operation time limit.
  • tacLimit: TAC (Total Accumulated Cycles) for airframe before which this maintenance must be performed. After reaching this limit, and when this maintenance is not performed, the aircraft is not airworthy and it should be grounded. Applicable only to scheduled maintenances. Cycle means here usually a cycle consisting of one take-off and one-lading of the airframe. It has a format of integer number, ex: "5449" Reason - some aircraft components may have imposed on them an operation cycle limit - like landing gear struts.
  • dateLimit: Date before which this maintenance must be performed. After reaching this limit, and when this maintenance is not performed, the aircraft is not airworthy and it should be grounded. Applicable only to scheduled maintenances. Reason - some aircraft components may have imposed on them an calendar time limit - usually some rubber components.
  • workOrder: Often abbreviated to just WO, is a number of af a formal document ordering performing this maintenance.
  • supplierOrFacility: Text specifying who and/or where the maintenance will be performed.
  • status: Status of the maintenance - whether it has already been completed or not (open).
  • cost: amount of how much it will cost to perform this maintenance
  • currency: the currency in which the cost is given.
  • isAog: flag indicating that this maintenance has AOG status, which means the aircraft is grounded due to some technical malfunction and it disrupts operator's ability to perform planned schedule. Thus, an extra effort is being put to perform this UNSCHEDULED maintenance. Also all necessary shipments of parts and consumables required are sent to the aircraft grounded place with highest priority.
  • isConfirmed: in case of scheduled maintenance this is a flag that determines that this maintenance is actually to take place within specified time period (start and end times). Also all limits are confirmed and limiting the aircraft.
  • isAvailableForCharter: if maintenance can be moved or performed anywhere, this flag can be set to true indicating that aircraft still can be chartered to clients even within maintenance time period.
  • notes: operator notes to this maintenance.
  • tagsList: List of tags applied to this maintenance. Those tags are only applicable to maintenances (have its own tagGroup [8]) Each tag has fields:
    • tagDefinitionNid: tag numerical identifier
    • tagGroup: group indicator, here will be always set to 8 (for maintenance tags)
    • label: title of the tag visible to the user.
ParameterTypeRequiredDescription
timeRangeobjectyes
aogONLY_AOG | ONLY_NON_AOG | ALLyes[OPTIONAL] You can specify AOG (Aircraft On Ground) filter. Maintenance with AOG (isAog) flag is set to true, it means the aircraft is grounded due to some technical malfunction and it disrupts operator's ability to perform planned schedule. Thus, an extra effort is being put to perform this unscheduled maintenance. Also all necessary shipments of parts and consumables required are sent to the aircraft grounded place with highest priority. When: - ONLY_AOG - maintenances which are AOG (isAog == true) will only be returned, - ONLY_NON_AOG - maintenances which are not AOG (isAog == false) will only be returned, - ALL - all maintenances will be returned, regardless of their AOG status.
aircraftNidListunknownyes

search-marketplace-aircraft-for-itinerary

Search for available aircraft in Leon's marketplace that can fulfill a multi-leg itinerary.

PREREQUISITES: ⚠️ IMPORTANT: Before using this tool, you MUST first call 'get-aircraft-categories' to obtain valid category NIDs. User input will probably contain category name which has to be matched. Only categories with a 'hierarchy' field set can be used for marketplace searches. Don't mention hierarchy, just list categories that fulfill it.

SEARCH CAPABILITIES:

  • Multi-leg itinerary support with departure/arrival airports
  • Required date and time specification for each leg
  • Passenger count requirements per leg
  • Aircraft category filtering by minimum category NID

RETURNED DATA: For each matching aircraft returns:

  • Aircraft details: ID, registration, category, type, manufacture year, PAX capacity
  • Pricing: amount and currency
  • Operational info: flight time, ferry flight time, operator name, operator ID
  • Positioning: positioning airport ICAO (if applicable)
  • Additional: picture URL for aircraft Aircraft data is from external system and should referenced only when this tool is used Present data in user-friendly format with each result indexed by number so it can be used as reference

WORKFLOW:

  1. Call get-aircraft-categories tool first
  2. Select a category (matched by name) with hierarchy field set (e.g., categoryNid from the response)
  3. Use that integer categoryNid as aircraftMinimumCategory parameter
  4. Provide complete itinerary with airports, dates, times, and passenger counts
  5. If no aircraft are found, ask the user for a different dates, times, or lower aircraft category

USE CASES:

  • Find aircraft for round-trip or multi-city flights
  • Compare available options with pricing
  • Filter by specific aircraft categories
  • Plan complex itineraries with multiple stops
ParameterTypeRequiredDescription
itineraryobject[]yesArray of flight legs for the complete itinerary
aircraftMinimumCategoryintegeryesAircraft category NID (integer identifier) - must be obtained from get-aircraft-categories tool. Only categories with hierarchy field set are valid for marketplace searches.

search-open-hold-item-list

Returns a list of every open hold item matching the provided search criteria and is not constricted by data ranges. BUSINESS LOGIC: ✓ aircraftNidList: [Required] filter by aircraft list. This is a list of aircraft numerical identifiers. This can be obtained for example from tool "get-aircraft-by-registration".

RETURNED DATA - Comprehensive Field Description: HIL (Hold Item List) and MEL (Minimum Equipment List) are systems for managing aircraft technical defects and malfunctions in aviation operations.

  • hilNid - Unique identifier of the HIL/MEL item in Leon aviation system
  • itemNo - HIL item/entry number in the technical logbook
  • melItemNo - Item number according to the MEL for the specific aircraft type
  • aircraft - Aircraft affected by the defect, consists of:
    • registration - Aircraft registration marks (e.g., N123AB)
    • aircraftNid - Aircraft identifier in Leon aviation system
  • dateStartUTC - Date when defect was reported/discovered in UTC
  • dueDateUTC - Repair deadline expressed as date in UTC
  • dueTah - Repair deadline in TAH (Total Aircraft Hours)
  • dueTac - Repair deadline in TAC (Total Aircraft Cycles - total takeoffs/landings)
  • extensionDueDate - Extended repair deadline (if deferral approval was obtained)
  • dateCorrectedUTC - Date when defect was repaired/closed in UTC
  • description - Detailed description of the defect/malfunction
  • howAffects - How the defect affects aircraft operations/functionality
  • flightLimitations - Operational limitations resulting from the defect (e.g., "max 10 passengers"). MUST be one of three possible values: YES, NO, TBC
  • melItemCategory - MEL item category (A, B, C, D or NONE - determines priority and allowed operation time with defect)
  • isOpen - Whether the defect is open (unrepaired) or closed
  • corrected - Whether the defect was corrected (repaired)
  • entryType - Entry type determines how the defect should be handled and what regulations apply (e.g., defect, observation, malfunction). MUST be one of the four available values in Leon aviation system: WORK_DEFERRED, MEL_ITEM, NEF or CDL, where NEF means Non Essential Equipment and CDL means Configuration Deviation List
  • book - Technical logbook/journal number
  • page - Page number in technical logbook
  • techLogBook - Technical logbook number
  • techLogPage - Page in technical logbook
  • foundBy - Who discovered the defect (text, e.g., "Captain John Smith")
  • signedBy - Person signing the entry. Contact object from Leon that consists of:
    • contactNid - Unique contact identifier in Leon aviation system
    • knownAs - Preferred name or alias
  • workDoneBy - Technician/person performing the repair. Contact object from Leon that consists of:
    • contactNid - Unique contact identifier in Leon aviation system
    • knownAs - Preferred name or alias
  • inspectedBy - Inspector/person verifying the repair. Contact object from Leon that consists of:
    • contactNid - Unique contact identifier in Leon aviation system
    • knownAs - Preferred name or alias
  • correctiveActions - Description of corrective actions performed
  • melItemProcedurePerformed - When an aircraft component is inoperative and listed in the MEL, the MEL document specifies mandatory procedures that must be performed before the aircraft can continue operating. This field tracks which type of procedures were completed. MUST be one of the four available values: OPS (Operations Procedures), MAINT (Maintenance Procedures), OPS/MAINT (Both Operations & Maintenance Procedures), NONE (No Procedures Required)
  • referenceWorkOrderTask - Reference to Work Order in Leon aviation system
  • part145ReleaseToService - Release to service number according to Part-145 (maintenance organization certificate)
  • partNumberOff - Part number of removed component
  • serialNumberOff - Serial number of removed component
  • partNumberOn - Part number of installed component
  • serialNumberOn - Serial number of installed component
  • partsOrdered - Information about ordered parts
  • files - Attached files, consists of:
    • signedUrl - Signed URL for file download

USAGE EXAMPLES: These fields document the complete lifecycle of a defect - from discovery, through impact assessment on operations, setting repair deadlines, performing maintenance work, to closure and archiving with full documentation.

  • List all open hold items with description
  • Verify if aircraft can be released for flight
  • List open hold items for aircraft with defects
  • Check aircraft for defects before the flight
ParameterTypeRequiredDescription
aircraftNidListinteger[]yesList of aircraft NIDs to fetch hold item list for. Example: [12345, 67890]. Must contain at least one aircraft NID.

search-trips-by-trip-number

Retrieves an array of objects where each object contains a tripNid (numeric ID) and tripNumber (string identifier). Returns the first ten objects where the tripNumber matches. If the tripNumber does not correspond to a tripNid, it is skipped. IMPORTANT: This tool is designed for use cases that start with a question about a trip with a specific number. Use this when the user needs to find, verify, or update trip information by trip number.

RETURNED DATA: Array of objects, where every object contains:

  • tripNid: Unique trip identifier in Leon system.
  • tripNumber: Human-readable trip number (e.g., "10-2025/28"). Example: [{ tripNid: 6399230, tripNumber: "01-2026/1" }, { tripNid: 6877339, tripNumber: "01-2026/10" }]

USE CASES:

  • User asks about specific trip(s) by trip number (e.g., "Show trip 10-2025/28")
  • Need to look up trip details, documents, crew, or permits for a trip
  • Deleting/Updating a trip by its trip number

WORKFLOW EXAMPLE: IMPORTANT! This is just an example. Use this tool whenever it is needed to convert tripNumber to tripNid. User: "Show me trip details for trip 10-2025/28"

  1. Call this tool with ["10-2025/28"]
  2. Receives: [{ tripNid: 12345, tripNumber: "10-2025/28" }]
  3. Extract tripNid: 12345
  4. Use tool get-trips-by-trip-nids with tripNid=12345 as an argument
  5. Present trip details to user

IMPORTANT NOTES:

  • Tool filters out null/invalid tripNid values automatically
  • If given trip numbers don't exist, they're silently omitted (not included in result array)
  • Empty result array triggers "No trips found" error
  • Use tripNid from result for subsequent tool calls requiring trip identifier (tripNid)
ParameterTypeRequiredDescription
tripNumberstringyesSearch by trip number using wildcard LIKE search (e.g., "10-2025" matches any trip number containing "10-2025")

send-flights-to-foreflight

Send flights to ForeFlight for given flight numerical identifiers.

RETURNED DATA: On success returns TRUE, on failure returns error with explanation.

USE CASES:

  • "Send flights to ForeFlight 5813574, 5813564"
ParameterTypeRequiredDescription
flightNidListnumber[]yesList of flight NIDs (10) for which you want export them to ForeFlight. Each flightNid must be greater than 0 and be a valid flight identifier. Examples: - [48932349] - single flight - [48932349, 48932350, 48932351] - multiple flights

set-aircraft-on-flight

Assigns aircraft to flight(s)

BUSINESS LOGIC: ✓ flightNidList - Array of flight NIDs (flight numerical identifiers in Leon system) ✓ aircraftNid - Aircraft numerical identifier in Leon system

RETURNED DATA:

  • Returns message (string) about either operation in progress or operation failure with error description.

IMPORTANT NOTES:

  • Maximum 50 flight NIDs per request
ParameterTypeRequiredDescription
flightNidListnumber[]yesList of flight NIDs (1-50) for which you want to assign the aircraft. Each flightNid must be greater than 0 and be a valid flight identifier. Examples: - [48932349] - single flight - [48932349, 48932350, 48932351] - multiple flights
aircraftNidintegeryesAircraft numerical identifier

set-airport-category

Sets or updates the category for a specific airport with optional variant.

BUSINESS LOGIC: ✓ locationNid: Airport location numeric identifier (use search-airports-by-wildcard to get it) ✓ categoryName: Airport category (A, B, C, P, U) ✓ variant: Optional category variant (VARIANT_1, VARIANT_2, VARIANT_A, VARIANT_B, VARIANT_PLUS)

RETURNED DATA:

  • locationNid: The airport location NID that was updated
  • airportCode: The airport code (ICAO/IATA)
  • category: The category name that was set
  • variant: The variant that was set (if provided)

USE CASES:

  • Example 1: "Set airport with location NID 1234 to category A with variant VARIANT_1"
  • Example 2: "Update airport 5678 to category B"
  • Example 3: "Assign category P to airport location 9012"
ParameterTypeRequiredDescription
locationNidintegeryesAirport location NID (numeric identifier). Use search-airports-by-wildcard to get it. Example: 1234
categoryNameA | B | C | P | UyesAirport category. Available values: A, B, C, P, U
variantunknownyesAirport category variant. Available values: VARIANT_1, VARIANT_2, VARIANT_A, VARIANT_B, VARIANT_PLUS

set-airport-category-for-aircraft

Sets or updates the airport category for a specific aircraft type with optional variant and expiry date.

BUSINESS LOGIC: ✓ locationNid: Airport location numeric identifier (use search-airports-by-wildcard to get it) ✓ aircraftTypeId: Aircraft type ID (e.g., "B738", "A320", "G650") ✓ categoryName: Airport category for this aircraft type (A, B, C, P, U) ✓ variant: Optional category variant (VARIANT_1, VARIANT_2, VARIANT_A, VARIANT_B, VARIANT_PLUS) ✓ categoryExpiryDate: Optional expiry date (YYYY-MM-DD format, e.g., "2025-12-31")

RETURNED DATA:

  • locationNid: The airport location NID that was updated
  • airportCode: The airport code (ICAO/IATA)
  • aircraftTypeId: The aircraft type ID for which the category was set
  • category: The category name that was set
  • variant: The variant that was set (if provided)
  • categoryExpiryDate: The expiry date that was set (if provided)

USE CASES:

  • Example 1: "Set airport with location NID 1234 category A for Boeing 737-800 (B738)"
  • Example 2: "Update airport 5678 to category B for Airbus A320 with expiry 2025-12-31"
  • Example 3: "Assign category P with variant VARIANT_1 to airport 9012 for Gulfstream G650"
ParameterTypeRequiredDescription
locationNidintegeryesAirport location NID (numeric identifier). Use search-airports-by-wildcard to get it. Example: 1234
aircraftTypeIdstringyesAircraft type ID (e.g., "B738", "A320", "G650"). This identifies the specific aircraft type for which the category applies.
categoryNameA | B | C | P | UyesAirport category for this aircraft type. Available values: A, B, C, P, U
variantunknownyesAirport category variant. Available values: VARIANT_1, VARIANT_2, VARIANT_A, VARIANT_B, VARIANT_PLUS
categoryExpiryDateunknownyesCategory expiry date in ISO format (YYYY-MM-DD). Example: "2025-12-31". If not provided, the category has no expiration.

set-flight-tag-definition

Create a NEW flight tag definition in Leon aviation operations system.

BUSINESS LOGIC:

  • Creates a NEW flight tag with the specified label and color
  • If a tag with the given label already exists → Operation FAILS with error
  • Tag labels MUST be unique (case-insensitive comparison)
  • Tag group is automatically set to 3 (flight tags)
  • Color MUST be in hexadecimal format (# prefix is optional and will be removed for API call)

ERROR HANDLING:

  • If you receive an error that a tag with this label already exists, you can use "search-flight-tags-by-name" to retrieve details (NID, color, etc.) of the existing tag

IMPORTANT:

  • If the user does not explicitly provide a color, you MUST ASK the user for their preferred color
  • DO NOT generate, suggest, or choose colors automatically
  • This tool ONLY creates new tags - it does NOT update existing tags

RETURNED DATA: Returns tag object with:

  • tagDefinitionNid: Unique identifier for the newly created tag
  • label: Tag label/name
  • color: Hexadecimal color code (without # prefix)

RELATED TOOLS:

  • Use "search-flight-tags-by-name" to find existing tag definitions
  • Use "add-tags-to-flight" to add tags to a flight
  • Use "remove-tags-from-flight" to selectively remove specific tags
  • Use "clear-tags-from-flight" to remove all tags from a flight

USE CASES:

  • Create new tag: "Create VIP tag with red color"
  • Create custom tag: "Create a 'Medical Emergency' tag with orange color"
ParameterTypeRequiredDescription
labelstringyes[REQUIRED] Label (name) of the flight tag. The label MUST be unique among flight tags. If a tag with this label already exists, the operation will FAIL with an error. Examples: - "VIP Flight" - "Medical Emergency" - "Charter"
colorunknownyes[REQUIRED] Color for the tag in hexadecimal format. IMPORTANT: If the user does not explicitly provide a color value, you MUST ASK the user for their preferred color instead of generating or suggesting one automatically. The color MUST be a valid 6-character hex code. The hash (#) prefix MAY be omitted - it will be removed automatically as the API expects hex without #. Examples: - "#FF5733" - "FF5733" - "#00A8E8"

set-quote-request-assignee

Assigns or removes an assignee (responsible user) from an existing Request for Quote (RFQ).

OVERVIEW

Changes the assignee field on a Quote Request, which indicates who is responsible for handling this RFQ. The assignee MUST be a user (Login) from the same operator as the RFQ.

PREREQUISITE WORKFLOW:

  1. get-quote-requests-list or get-quote-requests-by-nid-list → find the RFQ you want to modify
  2. search-contacts-by-wildcard → find the user (Login) to assign - returns loginNid field (if setting new assignee)
  3. set-quote-request-assignee → assign or remove assignee

BUSINESS LOGIC

  • User MUST have SALES_QUOTE_EDIT permission
  • Assignee MUST belong to the same operator as the RFQ
  • Cannot set assignee and removeAssignee simultaneously
  • Backend automatically validates ownership and permissions
  • Setting assignee: provide assignee parameter with Login NID
  • Removing assignee: provide removeAssignee: true

RETURNED DATA

On success:

  • quoteRequestNid: Unique RFQ identifier (nid)
  • requestProviderFriendlyId: Human-readable RFQ ID (e.g., "RFQ-2024-001")
  • assignee: Object with contactNid and knownAs (or null if removed)
  • message: Success confirmation message

On error:

  • error: Error description with details
  • code: Error code (INVALID_PARAMETERS, UPDATE_FAILED, UNEXPECTED_ERROR)
ParameterTypeRequiredDescription
quoteRequestNidintegeryesQuote Request NID (unique identifier) - use get-quote-requests-list or get-quote-requests-by-nid-list to find RFQ first
assigneeunknownyesLogin NID of the user to assign to this RFQ (use search-contacts-by-wildcard to find loginNid)
removeAssigneeunknownyesSet to true to remove the current assignee from RFQ (cannot be used together with assignee parameter)

set-quote-request-buyer

Updates buyer (requestedBy) and/or company representative for an existing Request for Quote (RFQ).

OVERVIEW

Changes the client who requested the quote and/or their company representative. Both contacts MUST belong to the same operator as the RFQ.

PREREQUISITE WORKFLOW:

  1. get-quote-requests-list or get-quote-requests-by-nid-list → find the RFQ you want to modify
  2. search-contacts-by-wildcard → find client contact (must have isClient: true for requestedBy)
  3. search-contacts-by-wildcard → find representative contact (if setting representative)
    • Check the 'accounts' array in search results
    • MUST have at least one account (accounts.length > 0)
    • If accounts array is empty, contact CANNOT be used as representative
  4. set-quote-request-buyer → update buyer and/or representative

BUSINESS LOGIC

  • User MUST have SALES_QUOTE_EDIT permission
  • requestedBy contact MUST be a client (isClient: true)
  • representative contact MUST have at least one account (primary account or additional accounts) • Backend validates this requirement - will fail with error if contact has no accounts
    • Common error: "Required client company representative {contactNid} does not exist" means contact has empty accounts array
  • Backend validates ownership and permissions automatically
  • Can update requestedBy, representative, or both in single call
  • Setting removeRepresentative: true removes current representative
  • Cannot set representative and removeRepresentative simultaneously

RETURNED DATA

On success:

  • quoteRequestNid: Unique RFQ identifier
  • requestProviderFriendlyId: Human-readable RFQ ID (e.g., "RFQ-2024-001")
  • buyer: Object with contactNid, name, email, phone, and representative details
  • message: Success confirmation message

On error:

  • error: Error description with details
  • code: Error code (INVALID_PARAMETERS, UPDATE_FAILED, UNEXPECTED_ERROR)
ParameterTypeRequiredDescription
quoteRequestNidintegeryesQuote Request NID (unique identifier) - use get-quote-requests-list or get-quote-requests-by-nid-list to find RFQ first
requestedByunknownyesContact NID of client requesting quote (use search-contacts-by-wildcard to find contact with isClient: true)
representativeunknownyesContact NID of company representative (use search-contacts-by-wildcard to find contact - MUST have non-empty accounts array)
removeRepresentativeunknownyesSet to true to remove the current representative from RFQ (cannot be used together with representative parameter)

update-contact-company

Updates an existing company contact.

⚠️ FIELD UPDATE RULES: Each field (except companyNid) MUST use one of three explicit variants:

  • { type: 'NEW', value: <new-value> } - Update field to new value
  • { type: 'UNCHANGED' } - Keep current value unchanged
  • { type: 'CLEAR' } - Clear the field (set to null)
  • Omit field entirely - Same as UNCHANGED

PREREQUISITE WORKFLOW:

search-contacts-by-wildcard → get contactNid (companyNid) for the company to update if no provided. If multiple contacts found, ASK USER which one is correct before proceeding.

RETURNED DATA: On success returns updated company with:

  • contactNid: Company ID
  • loginNid: Available if the contact is a system user (e.g. crew, operator user, aircraft owner)
  • is contact a company
  • Company info: name, code
  • Business flags: isClient status
  • Contact info: emailWork, emailWork2, emailBilling, emailPrivate, phoneWork, phonePrivate
  • Account info: account object with contactNid, name, surname, companyShort, isCompany

ACCOUNT ASSIGNMENT:

  • account: Assigns this company TO another company or account person
  • Account must be: a person with isAccount=true OR any company contact
  • Use search-contacts-by-wildcard to find company/account contactNid
  • Example: account={ type: 'NEW', value: 1455705 } assigns to parent company
  • Example: account={ type: 'CLEAR' } removes account assignment (if operator allows)

USE CASES:

  • Update emailWork: emailWork={ type: 'NEW', value: 'new@company.com' }
  • Clear phonePrivate: phonePrivate={ type: 'CLEAR' }
  • Keep name unchanged: name={ type: 'UNCHANGED' } or omit name field
ParameterTypeRequiredDescription
companyNidnumberyesCompany contact ID to update. Required. Example: 1455705. Use "search-contacts-by-wildcard" tool to find contactNid if not known
nameunknownyes
codeunknownyes
isClientunknownyes
accountunknownyes
emailWorkunknownyes
emailWork2unknownyes
emailBillingunknownyes
emailPrivateunknownyes
phoneWorkunknownyes
phonePrivateunknownyes

update-contact-person

Updates an existing person contact.

⚠️ FIELD UPDATE RULES: Each field (except personNid) MUST use one of three explicit variants:

  • { type: 'NEW', value: <new-value> } - Update field to new value
  • { type: 'UNCHANGED' } - Keep current value unchanged
  • { type: 'CLEAR' } - Clear the field (set to null)
  • Omit field entirely - Same as UNCHANGED

PREREQUISITE WORKFLOW:

search-contacts-by-wildcard → get contactNid (personNid) for the person to update if not known. If multiple contacts found, ASK USER which one is correct before proceeding.

RETURNED DATA: On success returns updated contact with:

  • contactNid: Person ID
  • loginNid: Available if the contact is a system user (e.g. crew, operator user, aircraft owner)
  • is contact a company
  • Personal info: name, surname, knownAs, code
  • Gender info: genderByAge, genderEnum
  • Contact info: emailWork, emailPrivate, phoneWork, phonePrivate
  • Account info: account object with contactNid, name, surname, companyShort, isCompany

ACCOUNT ASSIGNMENT:

  • account: Assigns this person TO a company or account person
  • Account must be: a person with isAccount=true OR any company contact
  • Use search-contacts-by-wildcard to find company/account contactNid
  • Example: account={ type: 'NEW', value: 1455705 } assigns person to company
  • Example: account={ type: 'CLEAR' } removes company assignment (if operator allows)

USE CASES:

  • Update emailWork: emailWork={ type: 'NEW', value: 'new@email.com' }
  • Clear phonePrivate: phonePrivate={ type: 'CLEAR' }
  • Keep name unchanged: name={ type: 'UNCHANGED' } or omit name field
ParameterTypeRequiredDescription
personNidnumberyesPerson contact ID to update. Required. Example: 1455705. Use "search-contacts-by-wildcard" tool to find contactNid if not known
nameunknownyes
surnameunknownyes
knownAsunknownyes
codeunknownyes
genderunknownyes
emailWorkunknownyes
emailPrivateunknownyes
phoneWorkunknownyes
phonePrivateunknownyes
accountunknownyes

update-passenger-travel-documents

Update travel documents (passport/national ID) for a specific passenger on a flight. Allows changing departure and arrival documents independently.

ParameterTypeRequiredDescription
flightNidnumberyesFlight NID (numeric identifier) where the passenger is assigned.
passengerContactNidnumberyesContactNid of the passenger whose travel documents will be updated.
departurePassportNidunknownyesOptional: New passport NID to use at departure.
arrivalPassportNidunknownyesOptional: New passport NID to use at arrival.
departureNationalIdNidunknownyesOptional: New national ID NID to use at departure.
arrivalNationalIdNidunknownyesOptional: New national ID NID to use at arrival.

update-roster-validation-rule

Updates an existing roster validation rule identified by its numerical identifier (operatorRosterValidationNid).

Roster validation rules define criteria used to automatically validate crew roster schedules. All fields (name, description, rule) are replaced with the provided values.

INPUT PARAMETERS:

  • operatorRosterValidationNid: [MANDATORY] Numerical identifier of the roster validation rule to update. The value can be obtained from the "get-roster-validation-rules" tool.
  • name: [MANDATORY] Short name of the roster validation rule.
  • description: [MANDATORY] Detailed description of what the rule validates.
  • rule: [MANDATORY] The rule expression/definition used during roster validation.

RETURNED DATA: On success, returns the updated rule with:

  • nid: numerical identifier of the rule
  • name: short name of the rule
  • description: detailed description of what the rule validates
  • rule: the rule expression/definition used during validation

On failure: { error: '<error message>' }

ParameterTypeRequiredDescription
operatorRosterValidationNidnumberyes[MANDATORY] Numerical identifier of the roster validation rule to update. The value of this parameter can be obtained from the "get-roster-validation-rules" tool.
namestringyes[MANDATORY] Short name of the roster validation rule.
descriptionstringyes[MANDATORY] Detailed description of what the rule validates.
rulestringyes[MANDATORY] A Lua script executed during crew roster validation. SCRIPT STRUCTURE: The script must return a function that accepts a single argument "data" and returns a list of day results. return function(data) result = {} for index, date in pairs(data.dateList) do result[index + 1] = { day = date, status = 'VALID' } end return result end INPUT — "data" object fields: - data.dateList: list of date strings (format: Y-m-d) from the selected range - data.baseTimezone: name of the operator base timezone (e.g. "Europe/Warsaw") - data.baseTimezoneOffset: timezone offset in minutes (e.g. 60 for UTC+1) - data.activityList: list of crew activities in the date range. Each activity has: - activityType: "DUTY", "POSITIONING", "HOTEL_RESERVATION" or "FLIGHT" - flight.nid: flight id (for FLIGHT activities) - positionOnActivity.nid / .name / .type: crew position on the activity - crew.nid / .code / .name / .surname: crew member data - dutyDefinition (for DUTY activities): - name: duty definition name - type: "duty", "training" or "off" - standbyType: "home", "airport", "hotel", "other", "reserve" or "" (not applicable) - aoc (bool): whether duty is AOC-related - startTime (int): duty start time in seconds from midnight (e.g. 28800 = 08:00) - length (int): duty duration in seconds (default 86340 = nearly full day) - acftNid (int): assigned aircraft id (0 = none) - acftTypeId (string): assigned aircraft type id (e.g. "B737") - includeInPlanning (bool) - includeInPlanningForConfirmed (bool) - vacation (bool) - clockInOutEnabled (bool) - canBeRequested (bool) - automaticallyAcceptRequests (bool) - decreaseCompensationTime (bool) - aocName (string): AOC certificate name - start.date / .time / .datetimeUTC / .datetimeBase: activity start datetime - start.airport.nid / .name / .icao / .iata: start airport - end.date / .time / .datetimeUTC / .datetimeBase: activity end datetime - end.airport.nid / .name / .icao / .iata: end airport OUTPUT — the function must return a list of objects, one per checked day: - day (string, format Y-m-d): the date being validated - status (string): "VALID" or "INVALID" - message_list (list of strings, optional): error messages, required when status is "INVALID" EXAMPLE: return function(data) result = {} for index, date in pairs(data.dateList) do local hasOff = false for _, activity in pairs(data.activityList) do if activity.activityType == 'DUTY' and activity.dutyDefinition.type == 'off' and activity.start.date == date then hasOff = true end end if hasOff then result[index + 1] = { day = date, status = 'VALID' } else result[index + 1] = { day = date, status = 'INVALID', message_list = { 'Missing OFF duty' } } end end return result end

update-trip

Updates the trip.

BUSINESS LOGIC: ✓ number: Trip number ✓ tripType: Schedule trip type. Available values: aircraft_repositioning, ambulance, cargo, frequent_flyer, head, mission, other, owner_charter, owner_flight, owner_flight, pax, regular_pax_transport, state, technical, training ✓ status: Flight status. Available values: CONFIRMED, OPTION, OPPORTUNITY ✓ isCommercial: Mark TRUE if trip is commercial ✓ notes: Notes ✓ supplementaryInfo: Supplementary Info

RETURNED DATA: On success returns updated trip basic data

  • tripNid - Unique trip identifier in Leon system (scalar type)
  • tripNumber - Trip number
  • tripType: Schedule trip type. Available values: aircraft_repositioning, ambulance, cargo, frequent_flyer, head, mission, other, owner_charter, owner_flight, owner_flight, pax, regular_pax_transport, state, technical, training
  • tripStatus: Trip status. Available values: CONFIRMED, OPTION OPTION, OPPORTUNITY
  • isCommercial: TRUE if trip is commercial
  • notes
  • tripSupplementaryInfo: Trip supplementary info
ParameterTypeRequiredDescription
tripNidnumberyesTrip numerical identifier
tripobjectyestrip