FlightLogger GraphQL API Reference

This is the official FlightLogger GraphQL API reference page. Here you will find documentation for all queries and mutations that can be invoked via the API, along with the structure of the data they return.

For an introduction to using the API, please visit the API section inside FlightLogger’s Help Center, which you can access through your FlightLogger account.

In the Help Center, you will also find a wide array of other useful resources, relevant to both the API and FlightLogger in general.

FlightLogger also hosts an official playground which can be used to interact with the API:

GraphQL Playground

Terms of Service

https://flightlogger.net/tac

API Endpoints
https://api.flightlogger.net/graphql
Headers
Authorization: Bearer <YOUR_API_TOKEN>

Queries

aircraft

Description

Finds active aircraft.

Response

Returns an AircraftConnection!

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
before - String Returns the elements in the list that come before the specified cursor.
callSigns - [String!] If provided, will only find aircraft whose callsign is included in the list.
first - Int Returns the first n elements from the list.
last - Int Returns the last n elements from the list.

Example

Query
query Aircraft(
  $after: String,
  $before: String,
  $callSigns: [String!],
  $first: Int,
  $last: Int
) {
  aircraft(
    after: $after,
    before: $before,
    callSigns: $callSigns,
    first: $first,
    last: $last
  ) {
    edges {
      cursor
      node {
        ...AircraftFragment
      }
    }
    nodes {
      aircraftClass
      aircraftType
      asymmetricTimeEnabled
      audit {
        ...AuditInfoFragment
      }
      availabilities {
        ...AircraftAvailabilityConnectionFragment
      }
      callSign
      currentAirport {
        ...AirportFragment
      }
      defaultEngineType
      defaultPMF
      disabled
      flights {
        ...FlightConnectionFragment
      }
      fuelCoefficient
      fuelCoefficientMeasurement
      fuelCoefficientUnit
      homeAirport {
        ...AirportFragment
      }
      id
      instrumentTimeEnabled
      model
      nextService {
        ...ServiceSummaryFragment
      }
      primaryLog {
        ...FlightLogConfigurationFragment
      }
      secondaryLog {
        ...FlightLogConfigurationFragment
      }
      taxiInTime
      taxiOutTime
      tertiaryLog {
        ...FlightLogConfigurationFragment
      }
      timerSeconds
      totalAirborneMinutes
      totalFuel
      totalLandings
      typeOfTimer
      typeOfTimerMeasurement
      worstWarning {
        ...MaintenanceWarningFragment
      }
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
  }
}
Variables
{
  "after": "abc123",
  "before": "abc123",
  "callSigns": ["xyz789"],
  "first": 123,
  "last": 123
}
Response
{
  "data": {
    "aircraft": {
      "edges": [AircraftEdge],
      "nodes": [Aircraft],
      "pageInfo": PageInfo
    }
  }
}

bookings

Description

Find bookings in a timespan.

Response

Returns a BookingUnionConnection!

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
all - Boolean If true, will also resolve resources that the requesting user is not associated with, provided they have permission.
before - String Returns the elements in the list that come before the specified cursor.
changedAfter - DateTime If provided, finds only entries created or updated after this date. Expects a date-time to be specified in ISO 8610 format.
first - Int Returns the first n elements from the list.
from - DateTime If provided, finds only entries beginning after the date. Expects a date-time to be specified in ISO 8610 format.
last - Int Returns the last n elements from the list.
statuses - [BookingStatusEnum!] If provided, will only return bookings whose lifecycle status matches one in the list.
subtypes - [BookingSubtypeEnum!] If provided, will only return bookings that match one of the provided subtypes.
to - DateTime If provided, finds only entries ending before the date. Expects a date-time to be specified in ISO 8610 format.

Example

Query
query Bookings(
  $after: String,
  $all: Boolean,
  $before: String,
  $changedAfter: DateTime,
  $first: Int,
  $from: DateTime,
  $last: Int,
  $statuses: [BookingStatusEnum!],
  $subtypes: [BookingSubtypeEnum!],
  $to: DateTime
) {
  bookings(
    after: $after,
    all: $all,
    before: $before,
    changedAfter: $changedAfter,
    first: $first,
    from: $from,
    last: $last,
    statuses: $statuses,
    subtypes: $subtypes,
    to: $to
  ) {
    edges {
      cursor
      node {
        ... on ClassTheoryBooking {
          ...ClassTheoryBookingFragment
        }
        ... on ExamBooking {
          ...ExamBookingFragment
        }
        ... on ExtraTheoryBooking {
          ...ExtraTheoryBookingFragment
        }
        ... on MaintenanceBooking {
          ...MaintenanceBookingFragment
        }
        ... on MeetingBooking {
          ...MeetingBookingFragment
        }
        ... on MultiStudentBooking {
          ...MultiStudentBookingFragment
        }
        ... on OperationBooking {
          ...OperationBookingFragment
        }
        ... on ProgressTestBooking {
          ...ProgressTestBookingFragment
        }
        ... on RentalBooking {
          ...RentalBookingFragment
        }
        ... on SingleStudentBooking {
          ...SingleStudentBookingFragment
        }
        ... on TheoryReleaseBooking {
          ...TheoryReleaseBookingFragment
        }
        ... on TypeQuestionnaireBooking {
          ...TypeQuestionnaireBookingFragment
        }
      }
    }
    nodes {
      ... on ClassTheoryBooking {
        ...ClassTheoryBookingFragment
      }
      ... on ExamBooking {
        ...ExamBookingFragment
      }
      ... on ExtraTheoryBooking {
        ...ExtraTheoryBookingFragment
      }
      ... on MaintenanceBooking {
        ...MaintenanceBookingFragment
      }
      ... on MeetingBooking {
        ...MeetingBookingFragment
      }
      ... on MultiStudentBooking {
        ...MultiStudentBookingFragment
      }
      ... on OperationBooking {
        ...OperationBookingFragment
      }
      ... on ProgressTestBooking {
        ...ProgressTestBookingFragment
      }
      ... on RentalBooking {
        ...RentalBookingFragment
      }
      ... on SingleStudentBooking {
        ...SingleStudentBookingFragment
      }
      ... on TheoryReleaseBooking {
        ...TheoryReleaseBookingFragment
      }
      ... on TypeQuestionnaireBooking {
        ...TypeQuestionnaireBookingFragment
      }
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
  }
}
Variables
{
  "after": "xyz789",
  "all": false,
  "before": "xyz789",
  "changedAfter": "2007-12-03T10:15:30Z",
  "first": 123,
  "from": "2007-12-03T10:15:30Z",
  "last": 123,
  "statuses": ["CANCELLED"],
  "subtypes": ["CLASS_THEORY"],
  "to": "2007-12-03T10:15:30Z"
}
Response
{
  "data": {
    "bookings": {
      "edges": [BookingUnionEdge],
      "nodes": [ClassTheoryBooking],
      "pageInfo": PageInfo
    }
  }
}

classTheories

Description

Gets class theory registrations within a time-frame.

Response

Returns a ClassTheoryConnection!

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
all - Boolean If true, will also resolve resources that the requesting user is not associated with, provided they have permission.
before - String Returns the elements in the list that come before the specified cursor.
changedAfter - DateTime If provided, finds only entries created or updated after this date. Expects a date-time to be specified in ISO 8610 format.
first - Int Returns the first n elements from the list.
from - DateTime If provided, finds only entries beginning after the date. Expects a date-time to be specified in ISO 8610 format.
last - Int Returns the last n elements from the list.
to - DateTime If provided, finds only entries ending before the date. Expects a date-time to be specified in ISO 8610 format.

Example

Query
query ClassTheories(
  $after: String,
  $all: Boolean,
  $before: String,
  $changedAfter: DateTime,
  $first: Int,
  $from: DateTime,
  $last: Int,
  $to: DateTime
) {
  classTheories(
    after: $after,
    all: $all,
    before: $before,
    changedAfter: $changedAfter,
    first: $first,
    from: $from,
    last: $last,
    to: $to
  ) {
    edges {
      cursor
      node {
        ...ClassTheoryFragment
      }
    }
    nodes {
      attachments {
        ...AttachmentFragment
      }
      audit {
        ...AuditInfoFragment
      }
      booking {
        ...ClassTheoryBookingFragment
      }
      class {
        ...ClassFragment
      }
      comment
      endsAt
      expensesInvoiceNumber
      groundTrainingSubject {
        ...SubjectCategoryFragment
      }
      id
      instructor {
        ...UserFragment
      }
      participations {
        ...TheoryParticipationFragment
      }
      startsAt
      subject
      subjectCategory {
        ...SubjectCategoryFragment
      }
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
  }
}
Variables
{
  "after": "abc123",
  "all": false,
  "before": "xyz789",
  "changedAfter": "2007-12-03T10:15:30Z",
  "first": 987,
  "from": "2007-12-03T10:15:30Z",
  "last": 123,
  "to": "2007-12-03T10:15:30Z"
}
Response
{
  "data": {
    "classTheories": {
      "edges": [ClassTheoryEdge],
      "nodes": [ClassTheory],
      "pageInfo": PageInfo
    }
  }
}

classes

Description

Gets classes (groups of students).

Response

Returns a ClassConnection!

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
before - String Returns the elements in the list that come before the specified cursor.
changedAfter - DateTime If provided, finds only entries created or updated after this date. Expects a date-time to be specified in ISO 8610 format.
first - Int Returns the first n elements from the list.
last - Int Returns the last n elements from the list.

Example

Query
query Classes(
  $after: String,
  $before: String,
  $changedAfter: DateTime,
  $first: Int,
  $last: Int
) {
  classes(
    after: $after,
    before: $before,
    changedAfter: $changedAfter,
    first: $first,
    last: $last
  ) {
    edges {
      cursor
      node {
        ...ClassFragment
      }
    }
    nodes {
      audit {
        ...AuditInfoFragment
      }
      id
      name
      users {
        ...UserFragment
      }
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
  }
}
Variables
{
  "after": "abc123",
  "before": "xyz789",
  "changedAfter": "2007-12-03T10:15:30Z",
  "first": 987,
  "last": 987
}
Response
{
  "data": {
    "classes": {
      "edges": [ClassEdge],
      "nodes": [Class],
      "pageInfo": PageInfo
    }
  }
}

dutyTimes

Description

The duty times of the user, ordered by end time.

Response

Returns a DutyTimeConnection!

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
all - Boolean If true, will also resolve resources that the requesting user is not associated with, provided they have permission.
before - String Returns the elements in the list that come before the specified cursor.
changedAfter - DateTime If provided, finds only entries created or updated after this date. Expects a date-time to be specified in ISO 8610 format.
first - Int Returns the first n elements from the list.
from - DateTime If provided, finds only entries beginning after the date. Expects a date-time to be specified in ISO 8610 format.
last - Int Returns the last n elements from the list.
to - DateTime If provided, finds only entries ending before the date. Expects a date-time to be specified in ISO 8610 format.

Example

Query
query DutyTimes(
  $after: String,
  $all: Boolean,
  $before: String,
  $changedAfter: DateTime,
  $first: Int,
  $from: DateTime,
  $last: Int,
  $to: DateTime
) {
  dutyTimes(
    after: $after,
    all: $all,
    before: $before,
    changedAfter: $changedAfter,
    first: $first,
    from: $from,
    last: $last,
    to: $to
  ) {
    edges {
      cursor
      node {
        ...DutyTimeFragment
      }
    }
    nodes {
      audit {
        ...AuditInfoFragment
      }
      comment
      endsAt
      expensesInvoiceNumber
      id
      startsAt
      state
      user {
        ...UserFragment
      }
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
  }
}
Variables
{
  "after": "xyz789",
  "all": false,
  "before": "xyz789",
  "changedAfter": "2007-12-03T10:15:30Z",
  "first": 987,
  "from": "2007-12-03T10:15:30Z",
  "last": 987,
  "to": "2007-12-03T10:15:30Z"
}
Response
{
  "data": {
    "dutyTimes": {
      "edges": [DutyTimeEdge],
      "nodes": [DutyTime],
      "pageInfo": PageInfo
    }
  }
}

exams

Response

Returns an ExamConnection!

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
all - Boolean If true, will also resolve resources that the requesting user is not associated with, provided they have permission.
before - String Returns the elements in the list that come before the specified cursor.
changedAfter - DateTime If provided, finds only entries created or updated after this date. Expects a date-time to be specified in ISO 8610 format.
first - Int Returns the first n elements from the list.
from - DateTime If provided, finds only entries beginning after the date. Expects a date-time to be specified in ISO 8610 format.
last - Int Returns the last n elements from the list.
to - DateTime If provided, finds only entries ending before the date. Expects a date-time to be specified in ISO 8610 format.

Example

Query
query Exams(
  $after: String,
  $all: Boolean,
  $before: String,
  $changedAfter: DateTime,
  $first: Int,
  $from: DateTime,
  $last: Int,
  $to: DateTime
) {
  exams(
    after: $after,
    all: $all,
    before: $before,
    changedAfter: $changedAfter,
    first: $first,
    from: $from,
    last: $last,
    to: $to
  ) {
    edges {
      cursor
      node {
        ...ExamFragment
      }
    }
    nodes {
      attachments {
        ...AttachmentFragment
      }
      audit {
        ...AuditInfoFragment
      }
      booking {
        ...ExamBookingFragment
      }
      class {
        ...ClassFragment
      }
      endsAt
      examiner {
        ...UserFragment
      }
      expensesInvoiceNumber
      groundTrainingSubject {
        ...SubjectCategoryFragment
      }
      id
      participations {
        ...ExamParticipationFragment
      }
      startsAt
      subjectCategory {
        ...SubjectCategoryFragment
      }
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
  }
}
Variables
{
  "after": "xyz789",
  "all": false,
  "before": "xyz789",
  "changedAfter": "2007-12-03T10:15:30Z",
  "first": 987,
  "from": "2007-12-03T10:15:30Z",
  "last": 987,
  "to": "2007-12-03T10:15:30Z"
}
Response
{
  "data": {
    "exams": {
      "edges": [ExamEdge],
      "nodes": [Exam],
      "pageInfo": PageInfo
    }
  }
}

extraTheories

Description

Gets extra theory registrations within a time-frame.

Response

Returns an ExtraTheoryConnection!

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
all - Boolean If true, will also resolve resources that the requesting user is not associated with, provided they have permission.
before - String Returns the elements in the list that come before the specified cursor.
changedAfter - DateTime If provided, finds only entries created or updated after this date. Expects a date-time to be specified in ISO 8610 format.
first - Int Returns the first n elements from the list.
from - DateTime If provided, finds only entries beginning after the date. Expects a date-time to be specified in ISO 8610 format.
last - Int Returns the last n elements from the list.
to - DateTime If provided, finds only entries ending before the date. Expects a date-time to be specified in ISO 8610 format.

Example

Query
query ExtraTheories(
  $after: String,
  $all: Boolean,
  $before: String,
  $changedAfter: DateTime,
  $first: Int,
  $from: DateTime,
  $last: Int,
  $to: DateTime
) {
  extraTheories(
    after: $after,
    all: $all,
    before: $before,
    changedAfter: $changedAfter,
    first: $first,
    from: $from,
    last: $last,
    to: $to
  ) {
    edges {
      cursor
      node {
        ...ExtraTheoryFragment
      }
    }
    nodes {
      attachments {
        ...AttachmentFragment
      }
      audit {
        ...AuditInfoFragment
      }
      booking {
        ...ExtraTheoryBookingFragment
      }
      description
      endsAt
      expensesInvoiceNumber
      id
      incomeInvoiceNumber
      instructor {
        ...UserFragment
      }
      startsAt
      user {
        ...UserFragment
      }
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
  }
}
Variables
{
  "after": "abc123",
  "all": true,
  "before": "xyz789",
  "changedAfter": "2007-12-03T10:15:30Z",
  "first": 987,
  "from": "2007-12-03T10:15:30Z",
  "last": 987,
  "to": "2007-12-03T10:15:30Z"
}
Response
{
  "data": {
    "extraTheories": {
      "edges": [ExtraTheoryEdge],
      "nodes": [ExtraTheory],
      "pageInfo": PageInfo
    }
  }
}

fetchJob

Response

Returns a String

Arguments
Name Description
jobId - String! The ID of the job

Example

Query
query FetchJob($jobId: String!) {
  fetchJob(jobId: $jobId)
}
Variables
{"jobId": "xyz789"}
Response
{"data": {"fetchJob": "abc123"}}

flights

Description

Find flights in time-span.

Response

Returns a FlightConnection!

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
all - Boolean If true, will also resolve resources that the requesting user is not associated with, provided they have permission.
before - String Returns the elements in the list that come before the specified cursor.
changedAfter - DateTime If provided, finds only entries created or updated after this date. Expects a date-time to be specified in ISO 8610 format.
first - Int Returns the first n elements from the list.
from - DateTime If provided, finds only entries beginning after the date. Expects a date-time to be specified in ISO 8610 format.
last - Int Returns the last n elements from the list.
to - DateTime If provided, finds only entries ending before the date. Expects a date-time to be specified in ISO 8610 format.

Example

Query
query Flights(
  $after: String,
  $all: Boolean,
  $before: String,
  $changedAfter: DateTime,
  $first: Int,
  $from: DateTime,
  $last: Int,
  $to: DateTime
) {
  flights(
    after: $after,
    all: $all,
    before: $before,
    changedAfter: $changedAfter,
    first: $first,
    from: $from,
    last: $last,
    to: $to
  ) {
    edges {
      cursor
      node {
        ...FlightFragment
      }
    }
    nodes {
      accountingTransactions {
        ...AccountingTransactionFragment
      }
      activityRegistration {
        ...FlightRegistrationFragment
      }
      aircraft {
        ...AircraftFragment
      }
      arrivalAirport {
        ...AirportFragment
      }
      atSeconds
      audit {
        ...AuditInfoFragment
      }
      calculatedFuelUsage
      crossCountrySeconds
      daySeconds
      departureAirport {
        ...AirportFragment
      }
      departureFuel
      departureFuelAdded
      expensesInvoiceNumber
      flightType
      id
      ifSeconds
      ifrSeconds
      incomeInvoiceNumber
      landing
      landings {
        ...LandingFragment
      }
      localSeconds
      nightSeconds
      offBlock
      onBlock
      pilotFlyingSeconds
      pilotMonitoringSeconds
      primaryLog {
        ...FlightLogFragment
      }
      secondaryLog {
        ...FlightLogFragment
      }
      takeoff
      tertiaryLog {
        ...FlightLogFragment
      }
      timerFinishSeconds
      timerStartSeconds
      vfrSeconds
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
  }
}
Variables
{
  "after": "xyz789",
  "all": true,
  "before": "xyz789",
  "changedAfter": "2007-12-03T10:15:30Z",
  "first": 987,
  "from": "2007-12-03T10:15:30Z",
  "last": 987,
  "to": "2007-12-03T10:15:30Z"
}
Response
{
  "data": {
    "flights": {
      "edges": [FlightEdge],
      "nodes": [Flight],
      "pageInfo": PageInfo
    }
  }
}

myFlightLogger

Description

Get my|FlightLogger data, subsequent queries gets data across all accounts.

Response

Returns a MyFlightLogger

Example

Query
query MyFlightLogger {
  myFlightLogger {
    avatarUrl
    callSign
    email
    firstName
    lastName
    logbookEntries {
      edges {
        ...LogbookEdgeFragment
      }
      nodes {
        ...LogbookFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    logbookSummations {
      coPilotSeconds
      daySeconds
      dualSeconds
      flightInstructorSeconds
      ifTimeSeconds
      instructorSyntheticTrainingSeconds
      landingsDay
      landingsNight
      multiEngineIfrSeconds
      multiEngineVfrSeconds
      multiPilotSeconds
      nightSeconds
      pilotInCommandSeconds
      singleEngineIfrSeconds
      singleEngineVfrSeconds
      syntheticTrainingSeconds
      totalSeconds
    }
  }
}
Response
{
  "data": {
    "myFlightLogger": {
      "avatarUrl": "xyz789",
      "callSign": "abc123",
      "email": "xyz789",
      "firstName": "abc123",
      "lastName": "abc123",
      "logbookEntries": LogbookConnection,
      "logbookSummations": LogbookSummation
    }
  }
}

operations

Response

Returns an OperationConnection!

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
all - Boolean If true, will also resolve resources that the requesting user is not associated with, provided they have permission.
before - String Returns the elements in the list that come before the specified cursor.
changedAfter - DateTime If provided, finds only entries created or updated after this date. Expects a date-time to be specified in ISO 8610 format.
first - Int Returns the first n elements from the list.
from - DateTime If provided, finds only entries beginning after the date. Expects a date-time to be specified in ISO 8610 format.
last - Int Returns the last n elements from the list.
to - DateTime If provided, finds only entries ending before the date. Expects a date-time to be specified in ISO 8610 format.

Example

Query
query Operations(
  $after: String,
  $all: Boolean,
  $before: String,
  $changedAfter: DateTime,
  $first: Int,
  $from: DateTime,
  $last: Int,
  $to: DateTime
) {
  operations(
    after: $after,
    all: $all,
    before: $before,
    changedAfter: $changedAfter,
    first: $first,
    from: $from,
    last: $last,
    to: $to
  ) {
    edges {
      cursor
      node {
        ...OperationFragment
      }
    }
    nodes {
      asymmetricSeconds
      audit {
        ...AuditInfoFragment
      }
      booking {
        ...OperationBookingFragment
      }
      comment
      crew {
        ...UserFragment
      }
      crossCountrySeconds
      customer {
        ...CustomerFragment
      }
      expensesInvoiceNumber
      flights {
        ...FlightFragment
      }
      id
      ifrDualSeconds
      ifrSimSeconds
      ifrSpicSeconds
      incomeInvoiceNumber
      instrumentSeconds
      multiSeconds
      nightSeconds
      operationType {
        ...OperationTypeFragment
      }
      pic {
        ...UserFragment
      }
      pilotFlyingSeconds
      pilotMonitoringSeconds
      singleSeconds
      totalSeconds
      vfrDualSeconds
      vfrSimSeconds
      vfrSoloSeconds
      vfrSpicSeconds
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
  }
}
Variables
{
  "after": "xyz789",
  "all": false,
  "before": "abc123",
  "changedAfter": "2007-12-03T10:15:30Z",
  "first": 987,
  "from": "2007-12-03T10:15:30Z",
  "last": 987,
  "to": "2007-12-03T10:15:30Z"
}
Response
{
  "data": {
    "operations": {
      "edges": [OperationEdge],
      "nodes": [Operation],
      "pageInfo": PageInfo
    }
  }
}

presignedUploadUrls

Description

Gets presigned urls for uploading to cache

Response

Returns a PresignedUrls!

Arguments
Name Description
filename - String!

Example

Query
query PresignedUploadUrls($filename: String!) {
  presignedUploadUrls(filename: $filename) {
    signedGetUrl
    signedPutUrl
  }
}
Variables
{"filename": "xyz789"}
Response
{
  "data": {
    "presignedUploadUrls": {
      "signedGetUrl": "xyz789",
      "signedPutUrl": "xyz789"
    }
  }
}

progressTests

Description

Gets progress test registrations within a time-frame.

Response

Returns a ProgressTestConnection!

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
all - Boolean If true, will also resolve resources that the requesting user is not associated with, provided they have permission.
before - String Returns the elements in the list that come before the specified cursor.
changedAfter - DateTime If provided, finds only entries created or updated after this date. Expects a date-time to be specified in ISO 8610 format.
first - Int Returns the first n elements from the list.
from - DateTime If provided, finds only entries beginning after the date. Expects a date-time to be specified in ISO 8610 format.
last - Int Returns the last n elements from the list.
to - DateTime If provided, finds only entries ending before the date. Expects a date-time to be specified in ISO 8610 format.

Example

Query
query ProgressTests(
  $after: String,
  $all: Boolean,
  $before: String,
  $changedAfter: DateTime,
  $first: Int,
  $from: DateTime,
  $last: Int,
  $to: DateTime
) {
  progressTests(
    after: $after,
    all: $all,
    before: $before,
    changedAfter: $changedAfter,
    first: $first,
    from: $from,
    last: $last,
    to: $to
  ) {
    edges {
      cursor
      node {
        ...ProgressTestFragment
      }
    }
    nodes {
      attachments {
        ...AttachmentFragment
      }
      audit {
        ...AuditInfoFragment
      }
      booking {
        ...ProgressTestBookingFragment
      }
      class {
        ...ClassFragment
      }
      comment
      endsAt
      expensesInvoiceNumber
      groundTrainingSubject {
        ...SubjectCategoryFragment
      }
      id
      instructor {
        ...UserFragment
      }
      note
      participations {
        ...TheoryParticipationFragment
      }
      startsAt
      subject
      subjectCategory {
        ...SubjectCategoryFragment
      }
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
  }
}
Variables
{
  "after": "xyz789",
  "all": true,
  "before": "xyz789",
  "changedAfter": "2007-12-03T10:15:30Z",
  "first": 987,
  "from": "2007-12-03T10:15:30Z",
  "last": 987,
  "to": "2007-12-03T10:15:30Z"
}
Response
{
  "data": {
    "progressTests": {
      "edges": [ProgressTestEdge],
      "nodes": [ProgressTest],
      "pageInfo": PageInfo
    }
  }
}

rentals

Response

Returns a RentalConnection!

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
all - Boolean If true, will also resolve resources that the requesting user is not associated with, provided they have permission.
before - String Returns the elements in the list that come before the specified cursor.
changedAfter - DateTime If provided, finds only entries created or updated after this date. Expects a date-time to be specified in ISO 8610 format.
first - Int Returns the first n elements from the list.
from - DateTime If provided, finds only entries beginning after the date. Expects a date-time to be specified in ISO 8610 format.
last - Int Returns the last n elements from the list.
to - DateTime If provided, finds only entries ending before the date. Expects a date-time to be specified in ISO 8610 format.

Example

Query
query Rentals(
  $after: String,
  $all: Boolean,
  $before: String,
  $changedAfter: DateTime,
  $first: Int,
  $from: DateTime,
  $last: Int,
  $to: DateTime
) {
  rentals(
    after: $after,
    all: $all,
    before: $before,
    changedAfter: $changedAfter,
    first: $first,
    from: $from,
    last: $last,
    to: $to
  ) {
    edges {
      cursor
      node {
        ...RentalFragment
      }
    }
    nodes {
      asymmetricSeconds
      audit {
        ...AuditInfoFragment
      }
      booking {
        ...RentalBookingFragment
      }
      comment
      crossCountrySeconds
      flights {
        ...FlightFragment
      }
      id
      ifrDualSeconds
      ifrSimSeconds
      ifrSpicSeconds
      instrumentSeconds
      multiSeconds
      nightSeconds
      pilotFlyingSeconds
      pilotMonitoringSeconds
      renter {
        ...UserFragment
      }
      singleSeconds
      totalSeconds
      vfrDualSeconds
      vfrSimSeconds
      vfrSoloSeconds
      vfrSpicSeconds
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
  }
}
Variables
{
  "after": "xyz789",
  "all": true,
  "before": "abc123",
  "changedAfter": "2007-12-03T10:15:30Z",
  "first": 987,
  "from": "2007-12-03T10:15:30Z",
  "last": 123,
  "to": "2007-12-03T10:15:30Z"
}
Response
{
  "data": {
    "rentals": {
      "edges": [RentalEdge],
      "nodes": [Rental],
      "pageInfo": PageInfo
    }
  }
}

theoryReleases

Description

Gets theory release registrations within a time-frame.

Response

Returns a TheoryReleaseConnection!

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
all - Boolean If true, will also resolve resources that the requesting user is not associated with, provided they have permission.
before - String Returns the elements in the list that come before the specified cursor.
changedAfter - DateTime If provided, finds only entries created or updated after this date. Expects a date-time to be specified in ISO 8610 format.
first - Int Returns the first n elements from the list.
from - DateTime If provided, finds only entries beginning after the date. Expects a date-time to be specified in ISO 8610 format.
last - Int Returns the last n elements from the list.
to - DateTime If provided, finds only entries ending before the date. Expects a date-time to be specified in ISO 8610 format.

Example

Query
query TheoryReleases(
  $after: String,
  $all: Boolean,
  $before: String,
  $changedAfter: DateTime,
  $first: Int,
  $from: DateTime,
  $last: Int,
  $to: DateTime
) {
  theoryReleases(
    after: $after,
    all: $all,
    before: $before,
    changedAfter: $changedAfter,
    first: $first,
    from: $from,
    last: $last,
    to: $to
  ) {
    edges {
      cursor
      node {
        ...TheoryReleaseFragment
      }
    }
    nodes {
      attachments {
        ...AttachmentFragment
      }
      audit {
        ...AuditInfoFragment
      }
      booking {
        ...TheoryReleaseBookingFragment
      }
      class {
        ...ClassFragment
      }
      comment
      endsAt
      expensesInvoiceNumber
      groundTrainingSubject {
        ...SubjectCategoryFragment
      }
      id
      instructor {
        ...UserFragment
      }
      note
      participations {
        ...TheoryParticipationFragment
      }
      startsAt
      subject
      subjectCategory {
        ...SubjectCategoryFragment
      }
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
  }
}
Variables
{
  "after": "xyz789",
  "all": false,
  "before": "abc123",
  "changedAfter": "2007-12-03T10:15:30Z",
  "first": 987,
  "from": "2007-12-03T10:15:30Z",
  "last": 987,
  "to": "2007-12-03T10:15:30Z"
}
Response
{
  "data": {
    "theoryReleases": {
      "edges": [TheoryReleaseEdge],
      "nodes": [TheoryRelease],
      "pageInfo": PageInfo
    }
  }
}

trainings

Description

training ( user lectures )

Response

Returns a TrainingConnection!

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
all - Boolean If true, will also resolve resources that the requesting user is not associated with, provided they have permission.
before - String Returns the elements in the list that come before the specified cursor.
changedAfter - DateTime If provided, finds only entries created or updated after this date. Expects a date-time to be specified in ISO 8610 format.
first - Int Returns the first n elements from the list.
from - DateTime If provided, finds only entries beginning after the date. Expects a date-time to be specified in ISO 8610 format.
last - Int Returns the last n elements from the list.
programIds - [Id!] If provided, will only return trainings for the program with the given ID.
status - [TrainingStatusEnum!] If provided, will only return when the status is set such as Passed, failed or Completed.
to - DateTime If provided, finds only entries ending before the date. Expects a date-time to be specified in ISO 8610 format.
userIds - [Id!] If provided, will only return trainings associated with user ID

Example

Query
query Trainings(
  $after: String,
  $all: Boolean,
  $before: String,
  $changedAfter: DateTime,
  $first: Int,
  $from: DateTime,
  $last: Int,
  $programIds: [Id!],
  $status: [TrainingStatusEnum!],
  $to: DateTime,
  $userIds: [Id!]
) {
  trainings(
    after: $after,
    all: $all,
    before: $before,
    changedAfter: $changedAfter,
    first: $first,
    from: $from,
    last: $last,
    programIds: $programIds,
    status: $status,
    to: $to,
    userIds: $userIds
  ) {
    edges {
      cursor
      node {
        ...TrainingFragment
      }
    }
    nodes {
      approvedByStudent
      approvedByStudentAt
      asymmetricSeconds
      audit {
        ...AuditInfoFragment
      }
      booking {
        ... on MultiStudentBooking {
          ...MultiStudentBookingFragment
        }
        ... on SingleStudentBooking {
          ...SingleStudentBookingFragment
        }
      }
      briefingSeconds
      comment
      crossCountrySeconds
      debriefingSeconds
      flights {
        ...FlightFragment
      }
      id
      ifrDualSeconds
      ifrSimSeconds
      ifrSpicSeconds
      instructor {
        ...UserFragment
      }
      instrumentSeconds
      lecture {
        ...LectureFragment
      }
      multiSeconds
      name
      nightSeconds
      pilotFlyingSeconds
      pilotMonitoringSeconds
      singleSeconds
      status
      student {
        ...UserFragment
      }
      submittedByInstructorAt
      totalSeconds
      userCategories {
        ...UserCategoryFragment
      }
      userProgram {
        ...UserProgramFragment
      }
      vfrDualSeconds
      vfrSimSeconds
      vfrSoloSeconds
      vfrSpicSeconds
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
  }
}
Variables
{
  "after": "abc123",
  "all": true,
  "before": "xyz789",
  "changedAfter": "2007-12-03T10:15:30Z",
  "first": 987,
  "from": "2007-12-03T10:15:30Z",
  "last": 123,
  "programIds": [Id],
  "status": ["CREDITED"],
  "to": "2007-12-03T10:15:30Z",
  "userIds": [Id]
}
Response
{
  "data": {
    "trainings": {
      "edges": [TrainingEdge],
      "nodes": [Training],
      "pageInfo": PageInfo
    }
  }
}

typeQuestionnaires

Description

Gets type questionnaire registrations within a time-frame.

Response

Returns a TypeQuestionnaireConnection!

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
all - Boolean If true, will also resolve resources that the requesting user is not associated with, provided they have permission.
before - String Returns the elements in the list that come before the specified cursor.
changedAfter - DateTime If provided, finds only entries created or updated after this date. Expects a date-time to be specified in ISO 8610 format.
first - Int Returns the first n elements from the list.
from - DateTime If provided, finds only entries beginning after the date. Expects a date-time to be specified in ISO 8610 format.
last - Int Returns the last n elements from the list.
to - DateTime If provided, finds only entries ending before the date. Expects a date-time to be specified in ISO 8610 format.

Example

Query
query TypeQuestionnaires(
  $after: String,
  $all: Boolean,
  $before: String,
  $changedAfter: DateTime,
  $first: Int,
  $from: DateTime,
  $last: Int,
  $to: DateTime
) {
  typeQuestionnaires(
    after: $after,
    all: $all,
    before: $before,
    changedAfter: $changedAfter,
    first: $first,
    from: $from,
    last: $last,
    to: $to
  ) {
    edges {
      cursor
      node {
        ...TypeQuestionnaireFragment
      }
    }
    nodes {
      attachments {
        ...AttachmentFragment
      }
      audit {
        ...AuditInfoFragment
      }
      booking {
        ...TypeQuestionnaireBookingFragment
      }
      class {
        ...ClassFragment
      }
      comment
      endsAt
      expensesInvoiceNumber
      groundTrainingSubject {
        ...SubjectCategoryFragment
      }
      id
      instructor {
        ...UserFragment
      }
      note
      participations {
        ...TheoryParticipationFragment
      }
      startsAt
      subject
      subjectCategory {
        ...SubjectCategoryFragment
      }
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
  }
}
Variables
{
  "after": "abc123",
  "all": false,
  "before": "abc123",
  "changedAfter": "2007-12-03T10:15:30Z",
  "first": 123,
  "from": "2007-12-03T10:15:30Z",
  "last": 987,
  "to": "2007-12-03T10:15:30Z"
}
Response
{
  "data": {
    "typeQuestionnaires": {
      "edges": [TypeQuestionnaireEdge],
      "nodes": [TypeQuestionnaire],
      "pageInfo": PageInfo
    }
  }
}

user

Description

Find a user by ID.

Response

Returns a User

Arguments
Name Description
id - String

Example

Query
query User($id: String) {
  user(id: $id) {
    audit {
      createdAt
      createdById
      updatedAt
      updatedById
    }
    availabilities {
      edges {
        ...UserAvailabilityEdgeFragment
      }
      nodes {
        ...UserAvailabilityFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    callSign
    contact {
      address
      city
      country
      dateOfBirth
      email
      phone
      zipcode
    }
    emergencyContact {
      address
      city
      country
      dateOfBirth
      email
      firstName
      lastName
      phone
      relation
      zipcode
    }
    firstName
    flights {
      edges {
        ...FlightEdgeFragment
      }
      nodes {
        ...FlightFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    id
    lastName
    notes {
      adminNote
      instructorNote
      publicNote
    }
    references {
      caaRefNum
      reference
    }
    userPrograms {
      edges {
        ...UserProgramEdgeFragment
      }
      nodes {
        ...UserProgramFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
  }
}
Variables
{"id": "abc123"}
Response
{
  "data": {
    "user": {
      "audit": AuditInfo,
      "availabilities": UserAvailabilityConnection,
      "callSign": "xyz789",
      "contact": UserContact,
      "emergencyContact": UserEmergencyContact,
      "firstName": "abc123",
      "flights": FlightConnection,
      "id": "abc123",
      "lastName": "abc123",
      "notes": UserNotes,
      "references": UserReferences,
      "userPrograms": UserProgramConnection
    }
  }
}

userPrograms

Description

user_programs ( user programs )

Response

Returns a UserProgramConnection

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
all - Boolean If true, will also resolve resources that the requesting user is not associated with, provided they have permission.
before - String Returns the elements in the list that come before the specified cursor.
changedAfter - DateTime If provided, finds only entries created or updated after this date. Expects a date-time to be specified in ISO 8610 format.
first - Int Returns the first n elements from the list.
from - DateTime If provided, finds only entries beginning after the date. Expects a date-time to be specified in ISO 8610 format.
last - Int Returns the last n elements from the list.
programIds - [Id!] If provided, will only return trainings for the program with the given ID.
programType - ProgramTypeEnum If provided, will only return programs of the type given.
status - [UserProgramEnum!] If provided, will only return when the status is set such as Active, Standby or Completed.
to - DateTime If provided, finds only entries ending before the date. Expects a date-time to be specified in ISO 8610 format.
userIds - [Id!] If provided, will only return programs for the user with the given ID.

Example

Query
query UserPrograms(
  $after: String,
  $all: Boolean,
  $before: String,
  $changedAfter: DateTime,
  $first: Int,
  $from: DateTime,
  $last: Int,
  $programIds: [Id!],
  $programType: ProgramTypeEnum,
  $status: [UserProgramEnum!],
  $to: DateTime,
  $userIds: [Id!]
) {
  userPrograms(
    after: $after,
    all: $all,
    before: $before,
    changedAfter: $changedAfter,
    first: $first,
    from: $from,
    last: $last,
    programIds: $programIds,
    programType: $programType,
    status: $status,
    to: $to,
    userIds: $userIds
  ) {
    edges {
      cursor
      node {
        ...UserProgramFragment
      }
    }
    nodes {
      assignmentDate
      audit {
        ...AuditInfoFragment
      }
      classTheory {
        ...TheoryParticipationFragment
      }
      exams {
        ...ExamParticipationFragment
      }
      id
      name
      program {
        ...ProgramFragment
      }
      programRevision {
        ...ProgramRevisionFragment
      }
      progressTests {
        ...TheoryParticipationFragment
      }
      status
      theoryReleases {
        ...TheoryParticipationFragment
      }
      trainings {
        ...TrainingConnectionFragment
      }
      typeQuestionnaires {
        ...TheoryParticipationFragment
      }
      user {
        ...UserFragment
      }
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
  }
}
Variables
{
  "after": "abc123",
  "all": true,
  "before": "xyz789",
  "changedAfter": "2007-12-03T10:15:30Z",
  "first": 987,
  "from": "2007-12-03T10:15:30Z",
  "last": 987,
  "programIds": [Id],
  "programType": "FLIGHT_TRAINING",
  "status": ["ACTIVE"],
  "to": "2007-12-03T10:15:30Z",
  "userIds": [Id]
}
Response
{
  "data": {
    "userPrograms": {
      "edges": [UserProgramEdge],
      "nodes": [UserProgram],
      "pageInfo": PageInfo
    }
  }
}

users

Description

Get active users.

Response

Returns a UserConnection!

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
before - String Returns the elements in the list that come before the specified cursor.
caaReferenceNumber - String If provided, will only return users whose CAA reference number matches this value.
callSign - String If provided, will only return users whose call sign matches this value.
changedAfter - DateTime If provided, finds only entries created or updated after this date. Expects a date-time to be specified in ISO 8610 format.
email - String If provided, will only return users whose email matches this value.
first - Int Returns the first n elements from the list.
last - Int Returns the last n elements from the list.
reference - String If provided, will only return users whose reference string matches this value.
roles - [UserRoleEnum!] If provided, will only return who has all roles in the collection.
searchTerm - String NOTE: Marked for imminent deprecation. Avoid using if at all possible.

Example

Query
query Users(
  $after: String,
  $before: String,
  $caaReferenceNumber: String,
  $callSign: String,
  $changedAfter: DateTime,
  $email: String,
  $first: Int,
  $last: Int,
  $reference: String,
  $roles: [UserRoleEnum!],
  $searchTerm: String
) {
  users(
    after: $after,
    before: $before,
    caaReferenceNumber: $caaReferenceNumber,
    callSign: $callSign,
    changedAfter: $changedAfter,
    email: $email,
    first: $first,
    last: $last,
    reference: $reference,
    roles: $roles,
    searchTerm: $searchTerm
  ) {
    edges {
      cursor
      node {
        ...UserFragment
      }
    }
    nodes {
      audit {
        ...AuditInfoFragment
      }
      availabilities {
        ...UserAvailabilityConnectionFragment
      }
      callSign
      contact {
        ...UserContactFragment
      }
      emergencyContact {
        ...UserEmergencyContactFragment
      }
      firstName
      flights {
        ...FlightConnectionFragment
      }
      id
      lastName
      notes {
        ...UserNotesFragment
      }
      references {
        ...UserReferencesFragment
      }
      userPrograms {
        ...UserProgramConnectionFragment
      }
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
  }
}
Variables
{
  "after": "abc123",
  "before": "abc123",
  "caaReferenceNumber": "xyz789",
  "callSign": "abc123",
  "changedAfter": "2007-12-03T10:15:30Z",
  "email": "xyz789",
  "first": 123,
  "last": 123,
  "reference": "abc123",
  "roles": ["ADMINISTRATOR"],
  "searchTerm": "xyz789"
}
Response
{
  "data": {
    "users": {
      "edges": [UserEdge],
      "nodes": [User],
      "pageInfo": PageInfo
    }
  }
}

versions

Description

Find changes done (versions) to entities in a timespan.

Response

Returns a VersionUnionConnection!

Arguments
Name Description
after - String Returns the elements in the list that come after the specified cursor.
before - String Returns the elements in the list that come before the specified cursor.
first - Int Returns the first n elements from the list.
from - DateTime If provided, finds only entries beginning after the date. Expects a date-time to be specified in ISO 8610 format.
last - Int Returns the last n elements from the list.
to - DateTime If provided, finds only entries ending before the date. Expects a date-time to be specified in ISO 8610 format.
types - [VersionableEntityEnum!] The types of entities to search for.

Example

Query
query Versions(
  $after: String,
  $before: String,
  $first: Int,
  $from: DateTime,
  $last: Int,
  $to: DateTime,
  $types: [VersionableEntityEnum!]
) {
  versions(
    after: $after,
    before: $before,
    first: $first,
    from: $from,
    last: $last,
    to: $to,
    types: $types
  ) {
    edges {
      cursor
      node {
        ... on Deletion {
          ...DeletionFragment
        }
      }
    }
    nodes {
      ... on Deletion {
        ...DeletionFragment
      }
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
  }
}
Variables
{
  "after": "xyz789",
  "before": "xyz789",
  "first": 987,
  "from": "2007-12-03T10:15:30Z",
  "last": 123,
  "to": "2007-12-03T10:15:30Z",
  "types": ["BOOKING"]
}
Response
{
  "data": {
    "versions": {
      "edges": [VersionUnionEdge],
      "nodes": [Deletion],
      "pageInfo": PageInfo
    }
  }
}

Mutations

createMaintenanceBooking

Description

Create a maintenance booking.

Response

Returns a MaintenanceBooking!

Arguments
Name Description
booking - MaintenanceBookingInput!
skipWarnings - Boolean

Example

Query
mutation CreateMaintenanceBooking(
  $booking: MaintenanceBookingInput!,
  $skipWarnings: Boolean
) {
  createMaintenanceBooking(
    booking: $booking,
    skipWarnings: $skipWarnings
  ) {
    aircraft {
      aircraftClass
      aircraftType
      asymmetricTimeEnabled
      audit {
        ...AuditInfoFragment
      }
      availabilities {
        ...AircraftAvailabilityConnectionFragment
      }
      callSign
      currentAirport {
        ...AirportFragment
      }
      defaultEngineType
      defaultPMF
      disabled
      flights {
        ...FlightConnectionFragment
      }
      fuelCoefficient
      fuelCoefficientMeasurement
      fuelCoefficientUnit
      homeAirport {
        ...AirportFragment
      }
      id
      instrumentTimeEnabled
      model
      nextService {
        ...ServiceSummaryFragment
      }
      primaryLog {
        ...FlightLogConfigurationFragment
      }
      secondaryLog {
        ...FlightLogConfigurationFragment
      }
      taxiInTime
      taxiOutTime
      tertiaryLog {
        ...FlightLogConfigurationFragment
      }
      timerSeconds
      totalAirborneMinutes
      totalFuel
      totalLandings
      typeOfTimer
      typeOfTimerMeasurement
      worstWarning {
        ...MaintenanceWarningFragment
      }
    }
    arrivalAirport {
      audit {
        ...AuditInfoFragment
      }
      id
      name
    }
    audit {
      createdAt
      createdById
      updatedAt
      updatedById
    }
    comment
    departureAirport {
      audit {
        ...AuditInfoFragment
      }
      id
      name
    }
    emailNotifications
    endsAt
    flightEndsAt
    flightStartsAt
    id
    startsAt
    status
  }
}
Variables
{
  "booking": MaintenanceBookingInput,
  "skipWarnings": false
}
Response
{
  "data": {
    "createMaintenanceBooking": {
      "aircraft": Aircraft,
      "arrivalAirport": Airport,
      "audit": AuditInfo,
      "comment": "abc123",
      "departureAirport": Airport,
      "emailNotifications": true,
      "endsAt": "2007-12-03T10:15:30Z",
      "flightEndsAt": "2007-12-03T10:15:30Z",
      "flightStartsAt": "2007-12-03T10:15:30Z",
      "id": "abc123",
      "startsAt": "2007-12-03T10:15:30Z",
      "status": "CANCELLED"
    }
  }
}

createMeetingBooking

Description

Create a meeting booking.

Response

Returns a MeetingBooking!

Arguments
Name Description
booking - MeetingBookingInput!
skipWarnings - Boolean

Example

Query
mutation CreateMeetingBooking(
  $booking: MeetingBookingInput!,
  $skipWarnings: Boolean
) {
  createMeetingBooking(
    booking: $booking,
    skipWarnings: $skipWarnings
  ) {
    audit {
      createdAt
      createdById
      updatedAt
      updatedById
    }
    classroom {
      audit {
        ...AuditInfoFragment
      }
      id
      name
    }
    comment
    emailNotifications
    endsAt
    id
    participants {
      audit {
        ...AuditInfoFragment
      }
      availabilities {
        ...UserAvailabilityConnectionFragment
      }
      callSign
      contact {
        ...UserContactFragment
      }
      emergencyContact {
        ...UserEmergencyContactFragment
      }
      firstName
      flights {
        ...FlightConnectionFragment
      }
      id
      lastName
      notes {
        ...UserNotesFragment
      }
      references {
        ...UserReferencesFragment
      }
      userPrograms {
        ...UserProgramConnectionFragment
      }
    }
    startsAt
    status
  }
}
Variables
{"booking": MeetingBookingInput, "skipWarnings": false}
Response
{
  "data": {
    "createMeetingBooking": {
      "audit": AuditInfo,
      "classroom": Classroom,
      "comment": "abc123",
      "emailNotifications": true,
      "endsAt": "2007-12-03T10:15:30Z",
      "id": "xyz789",
      "participants": [User],
      "startsAt": "2007-12-03T10:15:30Z",
      "status": "CANCELLED"
    }
  }
}

createUser

Description

Create a user in a organization

Response

Returns a User!

Arguments
Name Description
emergency - EmergencyInput
roles - [UserRoleEnum]!
user - UserInput!

Example

Query
mutation CreateUser(
  $emergency: EmergencyInput,
  $roles: [UserRoleEnum]!,
  $user: UserInput!
) {
  createUser(
    emergency: $emergency,
    roles: $roles,
    user: $user
  ) {
    audit {
      createdAt
      createdById
      updatedAt
      updatedById
    }
    availabilities {
      edges {
        ...UserAvailabilityEdgeFragment
      }
      nodes {
        ...UserAvailabilityFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    callSign
    contact {
      address
      city
      country
      dateOfBirth
      email
      phone
      zipcode
    }
    emergencyContact {
      address
      city
      country
      dateOfBirth
      email
      firstName
      lastName
      phone
      relation
      zipcode
    }
    firstName
    flights {
      edges {
        ...FlightEdgeFragment
      }
      nodes {
        ...FlightFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    id
    lastName
    notes {
      adminNote
      instructorNote
      publicNote
    }
    references {
      caaRefNum
      reference
    }
    userPrograms {
      edges {
        ...UserProgramEdgeFragment
      }
      nodes {
        ...UserProgramFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
  }
}
Variables
{
  "emergency": EmergencyInput,
  "roles": ["ADMINISTRATOR"],
  "user": UserInput
}
Response
{
  "data": {
    "createUser": {
      "audit": AuditInfo,
      "availabilities": UserAvailabilityConnection,
      "callSign": "abc123",
      "contact": UserContact,
      "emergencyContact": UserEmergencyContact,
      "firstName": "abc123",
      "flights": FlightConnection,
      "id": "xyz789",
      "lastName": "xyz789",
      "notes": UserNotes,
      "references": UserReferences,
      "userPrograms": UserProgramConnection
    }
  }
}

myFlightLogger

Description

Get my|FlightLogger data, subsequent queries gets data across all accounts.

Response

Returns a MyFlightLoggerEntry

Example

Query
mutation MyFlightLogger {
  myFlightLogger {
    createBulkLogbookEntry {
      accountCompany
      accountDomain
      arrivalAirportName
      coPilotSeconds
      daySeconds
      departureAirportName
      documents {
        ...MemberAttachmentFragment
      }
      dualSeconds
      flightInstructorSeconds
      id
      ifTimeSeconds
      includeInFtl
      instructorSyntheticTrainingSeconds
      landingsDay
      landingsNight
      multiEngineIfrSeconds
      multiEngineVfrSeconds
      multiPilotSeconds
      nameOfPilotInCommand
      nightSeconds
      offBlock
      onBlock
      pilotInCommandSeconds
      registration
      remarksAndEndorsements
      singleEngineIfrSeconds
      singleEngineVfrSeconds
      syntheticTrainingSeconds
      totalSeconds
      typeOfAircraft
    }
    createLogbookEntry {
      accountCompany
      accountDomain
      arrivalAirportName
      coPilotSeconds
      daySeconds
      departureAirportName
      documents {
        ...MemberAttachmentFragment
      }
      dualSeconds
      flightInstructorSeconds
      id
      ifTimeSeconds
      includeInFtl
      instructorSyntheticTrainingSeconds
      landingsDay
      landingsNight
      multiEngineIfrSeconds
      multiEngineVfrSeconds
      multiPilotSeconds
      nameOfPilotInCommand
      nightSeconds
      offBlock
      onBlock
      pilotInCommandSeconds
      registration
      remarksAndEndorsements
      singleEngineIfrSeconds
      singleEngineVfrSeconds
      syntheticTrainingSeconds
      totalSeconds
      typeOfAircraft
    }
    createSimLogbookEntry {
      accountCompany
      accountDomain
      arrivalAirportName
      coPilotSeconds
      daySeconds
      departureAirportName
      documents {
        ...MemberAttachmentFragment
      }
      dualSeconds
      flightInstructorSeconds
      id
      ifTimeSeconds
      includeInFtl
      instructorSyntheticTrainingSeconds
      landingsDay
      landingsNight
      multiEngineIfrSeconds
      multiEngineVfrSeconds
      multiPilotSeconds
      nameOfPilotInCommand
      nightSeconds
      offBlock
      onBlock
      pilotInCommandSeconds
      registration
      remarksAndEndorsements
      singleEngineIfrSeconds
      singleEngineVfrSeconds
      syntheticTrainingSeconds
      totalSeconds
      typeOfAircraft
    }
    destroyLogbookEntry
    generateReport
    updateBulkLogbookEntry {
      accountCompany
      accountDomain
      arrivalAirportName
      coPilotSeconds
      daySeconds
      departureAirportName
      documents {
        ...MemberAttachmentFragment
      }
      dualSeconds
      flightInstructorSeconds
      id
      ifTimeSeconds
      includeInFtl
      instructorSyntheticTrainingSeconds
      landingsDay
      landingsNight
      multiEngineIfrSeconds
      multiEngineVfrSeconds
      multiPilotSeconds
      nameOfPilotInCommand
      nightSeconds
      offBlock
      onBlock
      pilotInCommandSeconds
      registration
      remarksAndEndorsements
      singleEngineIfrSeconds
      singleEngineVfrSeconds
      syntheticTrainingSeconds
      totalSeconds
      typeOfAircraft
    }
    updateLogbookEntry {
      accountCompany
      accountDomain
      arrivalAirportName
      coPilotSeconds
      daySeconds
      departureAirportName
      documents {
        ...MemberAttachmentFragment
      }
      dualSeconds
      flightInstructorSeconds
      id
      ifTimeSeconds
      includeInFtl
      instructorSyntheticTrainingSeconds
      landingsDay
      landingsNight
      multiEngineIfrSeconds
      multiEngineVfrSeconds
      multiPilotSeconds
      nameOfPilotInCommand
      nightSeconds
      offBlock
      onBlock
      pilotInCommandSeconds
      registration
      remarksAndEndorsements
      singleEngineIfrSeconds
      singleEngineVfrSeconds
      syntheticTrainingSeconds
      totalSeconds
      typeOfAircraft
    }
    updateSimLogbookEntry {
      accountCompany
      accountDomain
      arrivalAirportName
      coPilotSeconds
      daySeconds
      departureAirportName
      documents {
        ...MemberAttachmentFragment
      }
      dualSeconds
      flightInstructorSeconds
      id
      ifTimeSeconds
      includeInFtl
      instructorSyntheticTrainingSeconds
      landingsDay
      landingsNight
      multiEngineIfrSeconds
      multiEngineVfrSeconds
      multiPilotSeconds
      nameOfPilotInCommand
      nightSeconds
      offBlock
      onBlock
      pilotInCommandSeconds
      registration
      remarksAndEndorsements
      singleEngineIfrSeconds
      singleEngineVfrSeconds
      syntheticTrainingSeconds
      totalSeconds
      typeOfAircraft
    }
  }
}
Response
{
  "data": {
    "myFlightLogger": {
      "createBulkLogbookEntry": Logbook,
      "createLogbookEntry": Logbook,
      "createSimLogbookEntry": Logbook,
      "destroyLogbookEntry": false,
      "generateReport": "abc123",
      "updateBulkLogbookEntry": Logbook,
      "updateLogbookEntry": Logbook,
      "updateSimLogbookEntry": Logbook
    }
  }
}

updateMaintenanceBooking

Description

Update a maintenance booking.

Response

Returns a MaintenanceBooking!

Arguments
Name Description
booking - MaintenanceBookingInput!
id - ID!
skipWarnings - Boolean

Example

Query
mutation UpdateMaintenanceBooking(
  $booking: MaintenanceBookingInput!,
  $id: ID!,
  $skipWarnings: Boolean
) {
  updateMaintenanceBooking(
    booking: $booking,
    id: $id,
    skipWarnings: $skipWarnings
  ) {
    aircraft {
      aircraftClass
      aircraftType
      asymmetricTimeEnabled
      audit {
        ...AuditInfoFragment
      }
      availabilities {
        ...AircraftAvailabilityConnectionFragment
      }
      callSign
      currentAirport {
        ...AirportFragment
      }
      defaultEngineType
      defaultPMF
      disabled
      flights {
        ...FlightConnectionFragment
      }
      fuelCoefficient
      fuelCoefficientMeasurement
      fuelCoefficientUnit
      homeAirport {
        ...AirportFragment
      }
      id
      instrumentTimeEnabled
      model
      nextService {
        ...ServiceSummaryFragment
      }
      primaryLog {
        ...FlightLogConfigurationFragment
      }
      secondaryLog {
        ...FlightLogConfigurationFragment
      }
      taxiInTime
      taxiOutTime
      tertiaryLog {
        ...FlightLogConfigurationFragment
      }
      timerSeconds
      totalAirborneMinutes
      totalFuel
      totalLandings
      typeOfTimer
      typeOfTimerMeasurement
      worstWarning {
        ...MaintenanceWarningFragment
      }
    }
    arrivalAirport {
      audit {
        ...AuditInfoFragment
      }
      id
      name
    }
    audit {
      createdAt
      createdById
      updatedAt
      updatedById
    }
    comment
    departureAirport {
      audit {
        ...AuditInfoFragment
      }
      id
      name
    }
    emailNotifications
    endsAt
    flightEndsAt
    flightStartsAt
    id
    startsAt
    status
  }
}
Variables
{
  "booking": MaintenanceBookingInput,
  "id": 4,
  "skipWarnings": true
}
Response
{
  "data": {
    "updateMaintenanceBooking": {
      "aircraft": Aircraft,
      "arrivalAirport": Airport,
      "audit": AuditInfo,
      "comment": "xyz789",
      "departureAirport": Airport,
      "emailNotifications": true,
      "endsAt": "2007-12-03T10:15:30Z",
      "flightEndsAt": "2007-12-03T10:15:30Z",
      "flightStartsAt": "2007-12-03T10:15:30Z",
      "id": "xyz789",
      "startsAt": "2007-12-03T10:15:30Z",
      "status": "CANCELLED"
    }
  }
}

updateMeetingBooking

Description

Update a meeting booking.

Response

Returns a MeetingBooking!

Arguments
Name Description
booking - MeetingBookingInput!
id - ID!
skipWarnings - Boolean

Example

Query
mutation UpdateMeetingBooking(
  $booking: MeetingBookingInput!,
  $id: ID!,
  $skipWarnings: Boolean
) {
  updateMeetingBooking(
    booking: $booking,
    id: $id,
    skipWarnings: $skipWarnings
  ) {
    audit {
      createdAt
      createdById
      updatedAt
      updatedById
    }
    classroom {
      audit {
        ...AuditInfoFragment
      }
      id
      name
    }
    comment
    emailNotifications
    endsAt
    id
    participants {
      audit {
        ...AuditInfoFragment
      }
      availabilities {
        ...UserAvailabilityConnectionFragment
      }
      callSign
      contact {
        ...UserContactFragment
      }
      emergencyContact {
        ...UserEmergencyContactFragment
      }
      firstName
      flights {
        ...FlightConnectionFragment
      }
      id
      lastName
      notes {
        ...UserNotesFragment
      }
      references {
        ...UserReferencesFragment
      }
      userPrograms {
        ...UserProgramConnectionFragment
      }
    }
    startsAt
    status
  }
}
Variables
{
  "booking": MeetingBookingInput,
  "id": "4",
  "skipWarnings": true
}
Response
{
  "data": {
    "updateMeetingBooking": {
      "audit": AuditInfo,
      "classroom": Classroom,
      "comment": "abc123",
      "emailNotifications": true,
      "endsAt": "2007-12-03T10:15:30Z",
      "id": "abc123",
      "participants": [User],
      "startsAt": "2007-12-03T10:15:30Z",
      "status": "CANCELLED"
    }
  }
}

updateUser

Description

Update a user in a organization

Response

Returns a User!

Arguments
Name Description
emergency - EmergencyInput
id - ID!
user - UserInput

Example

Query
mutation UpdateUser(
  $emergency: EmergencyInput,
  $id: ID!,
  $user: UserInput
) {
  updateUser(
    emergency: $emergency,
    id: $id,
    user: $user
  ) {
    audit {
      createdAt
      createdById
      updatedAt
      updatedById
    }
    availabilities {
      edges {
        ...UserAvailabilityEdgeFragment
      }
      nodes {
        ...UserAvailabilityFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    callSign
    contact {
      address
      city
      country
      dateOfBirth
      email
      phone
      zipcode
    }
    emergencyContact {
      address
      city
      country
      dateOfBirth
      email
      firstName
      lastName
      phone
      relation
      zipcode
    }
    firstName
    flights {
      edges {
        ...FlightEdgeFragment
      }
      nodes {
        ...FlightFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
    id
    lastName
    notes {
      adminNote
      instructorNote
      publicNote
    }
    references {
      caaRefNum
      reference
    }
    userPrograms {
      edges {
        ...UserProgramEdgeFragment
      }
      nodes {
        ...UserProgramFragment
      }
      pageInfo {
        ...PageInfoFragment
      }
    }
  }
}
Variables
{
  "emergency": EmergencyInput,
  "id": "4",
  "user": UserInput
}
Response
{
  "data": {
    "updateUser": {
      "audit": AuditInfo,
      "availabilities": UserAvailabilityConnection,
      "callSign": "abc123",
      "contact": UserContact,
      "emergencyContact": UserEmergencyContact,
      "firstName": "xyz789",
      "flights": FlightConnection,
      "id": "abc123",
      "lastName": "xyz789",
      "notes": UserNotes,
      "references": UserReferences,
      "userPrograms": UserProgramConnection
    }
  }
}

Types

AccountingTransaction

Description

Represents a transfer of credit in the Student Accounting Module.

Fields
Field Name Description
audit - AuditInfo
balanceCents - BigInt The remaining amount of credit.
balanceCurrency - String The currency of the account balance.
comment - String
id - Id!
priceCents - BigInt The amount of credit charged.
priceCurrency - String The currency of the credit transfer.
Example
{
  "audit": AuditInfo,
  "balanceCents": {},
  "balanceCurrency": "abc123",
  "comment": "abc123",
  "id": Id,
  "priceCents": {},
  "priceCurrency": "abc123"
}

Aircraft

Description

An aircraft.

Fields
Field Name Description
aircraftClass - AircraftClassEnum! The classification of the aircraft.
aircraftType - AircraftTypeEnum!
asymmetricTimeEnabled - Boolean
audit - AuditInfo
availabilities - AircraftAvailabilityConnection! Aircraft availability events in a given span of time.
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

from - DateTime

If provided, will only fetch events beginning after this point in time. Defaults to beginning of current day.

last - Int

Returns the last n elements from the list.

to - DateTime

If provided, will only fetch events ending before this point in time. Defaults to end of day of from time.

callSign - String!
currentAirport - Airport
defaultEngineType - EngineTypeEnum Default simulated engine type. Applies only to simulators.
defaultPMF - PmfTypeEnum The default PM/PF value. Null if PM/PF is not enabled.
disabled - Boolean!
flights - FlightConnection! The flights performed by the aircraft.
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

all - Boolean

If true, will also resolve resources that the requesting user is not associated with, provided they have permission.

before - String

Returns the elements in the list that come before the specified cursor.

changedAfter - DateTime

If provided, finds only entries created or updated after this date. Expects a date-time to be specified in ISO 8610 format.

first - Int

Returns the first n elements from the list.

from - DateTime

If provided, finds only entries beginning after the date. Expects a date-time to be specified in ISO 8610 format.

last - Int

Returns the last n elements from the list.

to - DateTime

If provided, finds only entries ending before the date. Expects a date-time to be specified in ISO 8610 format.

fuelCoefficient - Float Null for simulators.
fuelCoefficientMeasurement - FuelMeasurementUnitEnum Volumetric measurement unit used for the fuel of the aircraft. Null for simulators.
fuelCoefficientUnit - FuelCoefficientBasisEnum Flight time measurement basis used in fuel coefficient calculations. Null for simulators.
homeAirport - Airport
id - Id!
instrumentTimeEnabled - Boolean
model - String! The aircraft model-number.
nextService - ServiceSummary
primaryLog - FlightLogConfiguration Will only be null if the requesting user is not allowed to read it.
secondaryLog - FlightLogConfiguration
taxiInTime - Int Default taxi in time, in minutes. Null if taxi times are not enabled for the aircraft. Use flightLogConfiguration instead.
taxiOutTime - Int Default taxi out time, in minutes. Null if taxi times are not enabled for the aircraft. Use flightLogConfiguration instead.
tertiaryLog - FlightLogConfiguration
timerSeconds - Int Current value of the aircraft timer. Null if timer is not enabled for the aircraft. Use flightLogConfiguration instead.
totalAirborneMinutes - Int The total airborne time of the aircraft, in minutes. Use flightLogConfiguration instead.
totalFuel - Float Current fuel of the aircraft. Unit of measurement matches fuel coefficient unit. Null for simulators.
totalLandings - Int The total amount of landings performed by the aircraft. Null for simulators.
typeOfTimer - FlightTimerEnum Method of air time capture used by the aircraft. Null if timer is not enabled for the aircraft. Use flightLogConfiguration instead.
typeOfTimerMeasurement - DurationFormatEnum Time measurement unit for the aircraft timer. Null if timer is not enabled for the aircraft. Use flightLogConfiguration instead.
worstWarning - MaintenanceWarning
Example
{
  "aircraftClass": "MULTI_ENGINE",
  "aircraftType": "AIRPLANE",
  "asymmetricTimeEnabled": true,
  "audit": AuditInfo,
  "availabilities": AircraftAvailabilityConnection,
  "callSign": "xyz789",
  "currentAirport": Airport,
  "defaultEngineType": "MULTI_ENGINE",
  "defaultPMF": "PILOT_FLYING",
  "disabled": true,
  "flights": FlightConnection,
  "fuelCoefficient": 987.65,
  "fuelCoefficientMeasurement": "LITERS",
  "fuelCoefficientUnit": "AIRBORNE",
  "homeAirport": Airport,
  "id": Id,
  "instrumentTimeEnabled": true,
  "model": "abc123",
  "nextService": ServiceSummary,
  "primaryLog": FlightLogConfiguration,
  "secondaryLog": FlightLogConfiguration,
  "taxiInTime": 987,
  "taxiOutTime": 987,
  "tertiaryLog": FlightLogConfiguration,
  "timerSeconds": 987,
  "totalAirborneMinutes": 987,
  "totalFuel": 123.45,
  "totalLandings": 987,
  "typeOfTimer": "AIRBORNE",
  "typeOfTimerMeasurement": "DECIMAL_HOURS",
  "worstWarning": MaintenanceWarning
}

AircraftAvailability

Description

An aircraft availability event. Indicates the availability of an aircraft in a certain timespan.

Fields
Field Name Description
endsAt - DateTime!
startsAt - DateTime!
Example
{
  "endsAt": "2007-12-03T10:15:30Z",
  "startsAt": "2007-12-03T10:15:30Z"
}

AircraftAvailabilityConnection

Description

The connection type for AircraftAvailability.

Fields
Field Name Description
edges - [AircraftAvailabilityEdge] A list of edges.
nodes - [AircraftAvailability] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [AircraftAvailabilityEdge],
  "nodes": [AircraftAvailability],
  "pageInfo": PageInfo
}

AircraftAvailabilityEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - AircraftAvailability The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": AircraftAvailability
}

AircraftBooking

Description

Fields common to all bookings tied to aircraft.

Fields
Field Name Description
aircraft - Aircraft Will only be null if the requesting user is not allowed to read it.
arrivalAirport - Airport
departureAirport - Airport
flightEndsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
flightStartsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
Example
{
  "aircraft": Aircraft,
  "arrivalAirport": Airport,
  "departureAirport": Airport,
  "flightEndsAt": "2007-12-03T10:15:30Z",
  "flightStartsAt": "2007-12-03T10:15:30Z"
}

AircraftClassEnum

Description

Aircraft engine class.

Values
Enum Value Description

MULTI_ENGINE

SIMULATOR

SINGLE_ENGINE

Example
"MULTI_ENGINE"

AircraftConnection

Description

The connection type for Aircraft.

Fields
Field Name Description
edges - [AircraftEdge] A list of edges.
nodes - [Aircraft] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [AircraftEdge],
  "nodes": [Aircraft],
  "pageInfo": PageInfo
}

AircraftEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - Aircraft The item at the end of the edge.
Example
{
  "cursor": "xyz789",
  "node": Aircraft
}

AircraftTypeEnum

Description

Aircraft/vessel type.

Values
Enum Value Description

AIRPLANE

HELICOPTER

Example
"AIRPLANE"

Airport

Description

An airport.

Fields
Field Name Description
audit - AuditInfo
id - Id!
name - String! The name given to the airport.
Example
{
  "audit": AuditInfo,
  "id": Id,
  "name": "xyz789"
}

Attachment

Description

A file attached to another entity.

Fields
Field Name Description
audit - AuditInfo
fileName - String! The name of the underlying file.
fileType - String The file type of the underlying file.
fileUrl - String Address used to retrieve the underlying file.
id - String!
Example
{
  "audit": AuditInfo,
  "fileName": "abc123",
  "fileType": "xyz789",
  "fileUrl": "xyz789",
  "id": "xyz789"
}

AttachmentInput

Fields
Input Field Description
fileUrl - String!
filename - String!
id - String
isRemoved - Boolean
Example
{
  "fileUrl": "xyz789",
  "filename": "abc123",
  "id": "abc123",
  "isRemoved": false
}

AttendanceStatusEnum

Description

Represents a user's attendance as part of a theory registration.

Values
Enum Value Description

ATTENDED

DID_NOT_ATTEND

PARTIALLY_ATTENDED

Example
"ATTENDED"

AuditInfo

Description

Fields pertaining to auditing (modification history tracking) of an entity.

Fields
Field Name Description
createdAt - DateTime Expects a date-time to be specified in ISO 8610 format.
createdById - Id
updatedAt - DateTime Expects a date-time to be specified in ISO 8610 format.
updatedById - Id
Example
{
  "createdAt": "2007-12-03T10:15:30Z",
  "createdById": Id,
  "updatedAt": "2007-12-03T10:15:30Z",
  "updatedById": Id
}

Auditable

BigInt

Description

Represents non-fractional signed whole numeric values. Since the value may exceed the size of a 32-bit integer, it's encoded as a string.

Example
{}

Booking

Description

Fields common to all booking types.

Fields
Field Name Description
comment - String
emailNotifications - Boolean! Whether or not email notifications will be sent to participants when changes are made to the booking.
endsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
id - String!
startsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
status - BookingStatusEnum! The current lifecycle status of the booking.
Example
{
  "comment": "abc123",
  "emailNotifications": false,
  "endsAt": "2007-12-03T10:15:30Z",
  "id": "xyz789",
  "startsAt": "2007-12-03T10:15:30Z",
  "status": "CANCELLED"
}

BookingCancellation

Description

A cancellation of a booking, stating the reasoning why.

Fields
Field Name Description
audit - AuditInfo
booking - BookingUnion!
comment - String
id - String!
title - String!
user - User
Example
{
  "audit": AuditInfo,
  "booking": ClassTheoryBooking,
  "comment": "xyz789",
  "id": "abc123",
  "title": "xyz789",
  "user": User
}

BookingStatusEnum

Description

The current state of the bookings' lifecycle

Values
Enum Value Description

CANCELLED

COMPLETED

OPEN

Example
"CANCELLED"

BookingSubtypeEnum

Values
Enum Value Description

CLASS_THEORY

EXAM

EXTRA_THEORY

MAINTENANCE

MEETING

MULTI_STUDENT

OPERATION

PROGRESS_TEST

RENTAL

SINGLE_STUDENT

THEORY_RELEASE

TYPE_QUESTIONNAIRE

Example
"CLASS_THEORY"

BookingUnion

BookingUnionConnection

Description

The connection type for BookingUnion.

Fields
Field Name Description
edges - [BookingUnionEdge] A list of edges.
nodes - [BookingUnion] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [BookingUnionEdge],
  "nodes": [ClassTheoryBooking],
  "pageInfo": PageInfo
}

BookingUnionEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - BookingUnion The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": ClassTheoryBooking
}

Boolean

Description

The Boolean scalar type represents true or false.

BulkLogbookEntryInput

Fields
Input Field Description
coPilotSeconds - Int
daySeconds - Int
documents - [AttachmentInput!]
dualSeconds - Int
flightInstructorSeconds - Int
id - ID
ifTimeSeconds - Int
instructorSyntheticTrainingSeconds - Int
landingsDay - Int
landingsNight - Int
multiEngineIfrSeconds - Int
multiEngineVfrSeconds - Int
multiPilotSeconds - Int
nameOfPilotInCommand - String
nightSeconds - Int
offBlock - DateTime! ISO 8610
pilotInCommandSeconds - Int
registration - String
remarksAndEndorsements - String
singleEngineIfrSeconds - Int
singleEngineVfrSeconds - Int
syntheticTrainingSeconds - Int
typeOfAircraft - String
Example
{
  "coPilotSeconds": 987,
  "daySeconds": 987,
  "documents": [AttachmentInput],
  "dualSeconds": 123,
  "flightInstructorSeconds": 987,
  "id": "4",
  "ifTimeSeconds": 123,
  "instructorSyntheticTrainingSeconds": 987,
  "landingsDay": 987,
  "landingsNight": 987,
  "multiEngineIfrSeconds": 123,
  "multiEngineVfrSeconds": 987,
  "multiPilotSeconds": 987,
  "nameOfPilotInCommand": "xyz789",
  "nightSeconds": 123,
  "offBlock": "2007-12-03T10:15:30Z",
  "pilotInCommandSeconds": 987,
  "registration": "abc123",
  "remarksAndEndorsements": "abc123",
  "singleEngineIfrSeconds": 987,
  "singleEngineVfrSeconds": 123,
  "syntheticTrainingSeconds": 987,
  "typeOfAircraft": "xyz789"
}

Class

Description

A class with a cohort of students.

Fields
Field Name Description
audit - AuditInfo
id - String!
name - String!
users - [User]!
Example
{
  "audit": AuditInfo,
  "id": "xyz789",
  "name": "abc123",
  "users": [User]
}

ClassConnection

Description

The connection type for Class.

Fields
Field Name Description
edges - [ClassEdge] A list of edges.
nodes - [Class] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [ClassEdge],
  "nodes": [Class],
  "pageInfo": PageInfo
}

ClassEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - Class The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": Class
}

ClassTheory

Description

A class theory registration.

Fields
Field Name Description
attachments - [Attachment]
audit - AuditInfo
booking - ClassTheoryBooking
class - Class
comment - String
endsAt - DateTime Expects a date-time to be specified in ISO 8610 format.
expensesInvoiceNumber - String Only present if an expense invoice is filled.
groundTrainingSubject - SubjectCategory Will only be null if the requesting user is not allowed to read it.
id - String!
instructor - User Will only be null if the requesting user is not allowed to read.
participations - [TheoryParticipation]!
startsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
subject - String
subjectCategory - SubjectCategory Will only be null if the requesting user is not allowed to read it. Renamed to groundTrainingSubject
Example
{
  "attachments": [Attachment],
  "audit": AuditInfo,
  "booking": ClassTheoryBooking,
  "class": Class,
  "comment": "abc123",
  "endsAt": "2007-12-03T10:15:30Z",
  "expensesInvoiceNumber": "xyz789",
  "groundTrainingSubject": SubjectCategory,
  "id": "xyz789",
  "instructor": User,
  "participations": [TheoryParticipation],
  "startsAt": "2007-12-03T10:15:30Z",
  "subject": "abc123",
  "subjectCategory": SubjectCategory
}

ClassTheoryBooking

Description

A booking for a class theory.

Fields
Field Name Description
audit - AuditInfo
class - Class
classroom - Classroom The location (i.e. classroom) in which the booking will take place. Will only be null if the requesting user is not allowed to read it.
comment - String
emailNotifications - Boolean! Whether or not email notifications will be sent to participants when changes are made to the booking.
endsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
id - String!
instructor - User The instructor/examiner slated to oversee the booking. Will only be null if the requesting user is not allowed to read it.
startsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
status - BookingStatusEnum! The current lifecycle status of the booking.
students - [User]! Students slated to participate in the activity.
subject - String
theoryCourse - TheoryCourse Will only be null if the requesting user is not allowed to read it.
Example
{
  "audit": AuditInfo,
  "class": Class,
  "classroom": Classroom,
  "comment": "abc123",
  "emailNotifications": false,
  "endsAt": "2007-12-03T10:15:30Z",
  "id": "abc123",
  "instructor": User,
  "startsAt": "2007-12-03T10:15:30Z",
  "status": "CANCELLED",
  "students": [User],
  "subject": "abc123",
  "theoryCourse": TheoryCourse
}

ClassTheoryConnection

Description

The connection type for ClassTheory.

Fields
Field Name Description
edges - [ClassTheoryEdge] A list of edges.
nodes - [ClassTheory] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [ClassTheoryEdge],
  "nodes": [ClassTheory],
  "pageInfo": PageInfo
}

ClassTheoryEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - ClassTheory The item at the end of the edge.
Example
{
  "cursor": "xyz789",
  "node": ClassTheory
}

Classroom

Description

A ground school location (usually a classroom, briefing room, conference room, etc.).

Fields
Field Name Description
audit - AuditInfo
id - Id!
name - String!
Example
{
  "audit": AuditInfo,
  "id": Id,
  "name": "abc123"
}

Customer

Description

A customer. Used during operations.

Fields
Field Name Description
address - String
audit - AuditInfo
city - String
company - String
email - String
fullName - String
id - String!
name - String! A short representation of the name of the customer.
phone - String
zipCode - String
Example
{
  "address": "abc123",
  "audit": AuditInfo,
  "city": "xyz789",
  "company": "xyz789",
  "email": "xyz789",
  "fullName": "xyz789",
  "id": "abc123",
  "name": "xyz789",
  "phone": "xyz789",
  "zipCode": "abc123"
}

Date

Description

An ISO 8601-encoded date

Example
"2007-12-03"

DateTime

Description

An ISO 8601-encoded datetime

Example
"2007-12-03T10:15:30Z"

Deletion

Description

Represents the deletion of an entity.

Fields
Field Name Description
entityId - Id! The id of the entity.
entityType - VersionableEntityEnum! The type of the entity.
eventType - VersionEventTypeEnum! The type of versioning that took place.
happenedAt - DateTime! The point in time at which the event took place. Expects a date-time to be specified in ISO 8610 format.
whoDoneIt - User The instigator of the event.
Example
{
  "entityId": Id,
  "entityType": "BOOKING",
  "eventType": "DELETION",
  "happenedAt": "2007-12-03T10:15:30Z",
  "whoDoneIt": User
}

DurationFormatEnum

Description

Format of a duration of time.

Values
Enum Value Description

DECIMAL_HOURS

Decimal number of hours representation with 1 decimal place. Example: 2.2 (2 hours and 12 minutes)

HOURS_MINUTES

Digital clock representation. Example: 2:15 (2 hours and 15 minutes)

LONG_DECIMAL_HOURS

Decimal number of hours representation with 2 decimal places. Example: 2.25 (2 hours and 15 minutes)
Example
"DECIMAL_HOURS"

DutyTime

Description

A duty time registration.

Fields
Field Name Description
audit - AuditInfo
comment - String
endsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
expensesInvoiceNumber - String Only present if an expense invoice is filled.
id - Id!
startsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
state - DutyTimeStateEnum!
user - User Will only be null if the requesting user is not allowed to read it.
Example
{
  "audit": AuditInfo,
  "comment": "abc123",
  "endsAt": "2007-12-03T10:15:30Z",
  "expensesInvoiceNumber": "xyz789",
  "id": Id,
  "startsAt": "2007-12-03T10:15:30Z",
  "state": "AWAITS_APPROVAL",
  "user": User
}

DutyTimeConnection

Description

The connection type for DutyTime.

Fields
Field Name Description
edges - [DutyTimeEdge] A list of edges.
nodes - [DutyTime] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [DutyTimeEdge],
  "nodes": [DutyTime],
  "pageInfo": PageInfo
}

DutyTimeEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - DutyTime The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": DutyTime
}

DutyTimeStateEnum

Values
Enum Value Description

AWAITS_APPROVAL

DRAFT

FINALIZED

Example
"AWAITS_APPROVAL"

EmergencyInput

Fields
Input Field Description
address - String
city - String
country - String
email - String
firstName - String
lastName - String
phone - String
postCode - String
relationShip - String
Example
{
  "address": "xyz789",
  "city": "xyz789",
  "country": "xyz789",
  "email": "abc123",
  "firstName": "xyz789",
  "lastName": "xyz789",
  "phone": "xyz789",
  "postCode": "abc123",
  "relationShip": "abc123"
}

EngineTypeEnum

Description

Engine type.

Values
Enum Value Description

MULTI_ENGINE

SINGLE_ENGINE

Example
"MULTI_ENGINE"

Exam

Description

An exam registration.

Fields
Field Name Description
attachments - [Attachment]
audit - AuditInfo
booking - ExamBooking
class - Class
endsAt - DateTime Expects a date-time to be specified in ISO 8610 format.
examiner - User Will only be null if the requesting user is not allowed to read.
expensesInvoiceNumber - String Only present if an expense invoice is filled.
groundTrainingSubject - SubjectCategory Will only be null if the requesting user is not allowed to read it.
id - Id!
participations - [ExamParticipation]!
startsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
subjectCategory - SubjectCategory Will only be null if the requesting user is not allowed to read it. Renamed to groundTrainingSubject
Example
{
  "attachments": [Attachment],
  "audit": AuditInfo,
  "booking": ExamBooking,
  "class": Class,
  "endsAt": "2007-12-03T10:15:30Z",
  "examiner": User,
  "expensesInvoiceNumber": "abc123",
  "groundTrainingSubject": SubjectCategory,
  "id": Id,
  "participations": [ExamParticipation],
  "startsAt": "2007-12-03T10:15:30Z",
  "subjectCategory": SubjectCategory
}

ExamBooking

Description

A booking for an exam.

Fields
Field Name Description
audit - AuditInfo
class - Class
classroom - Classroom The location (i.e. classroom) in which the booking will take place. Will only be null if the requesting user is not allowed to read it.
comment - String
emailNotifications - Boolean! Whether or not email notifications will be sent to participants when changes are made to the booking.
endsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
id - String!
instructor - User The instructor/examiner slated to oversee the booking. Will only be null if the requesting user is not allowed to read it.
startsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
status - BookingStatusEnum! The current lifecycle status of the booking.
students - [User]! Students slated to participate in the activity.
theoryCourse - TheoryCourse Will only be null if the requesting user is not allowed to read it.
Example
{
  "audit": AuditInfo,
  "class": Class,
  "classroom": Classroom,
  "comment": "xyz789",
  "emailNotifications": true,
  "endsAt": "2007-12-03T10:15:30Z",
  "id": "abc123",
  "instructor": User,
  "startsAt": "2007-12-03T10:15:30Z",
  "status": "CANCELLED",
  "students": [User],
  "theoryCourse": TheoryCourse
}

ExamConnection

Description

The connection type for Exam.

Fields
Field Name Description
edges - [ExamEdge] A list of edges.
nodes - [Exam] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [ExamEdge],
  "nodes": [Exam],
  "pageInfo": PageInfo
}

ExamEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - Exam The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": Exam
}

ExamParticipation

Description

Represents a students participation in an exam.

Fields
Field Name Description
attendanceStatus - AttendanceStatusEnum!
audit - AuditInfo
endsAt - DateTime Expects a date-time to be specified in ISO 8610 format.
grade - String The grade given to the participant. Not applicable to class theories.
id - String!
incomeInvoiceNumber - String Only present if an income invoice is filled.
referenceNumber - String
sitting - Sitting
startsAt - DateTime Expects a date-time to be specified in ISO 8610 format.
studentComment - String Comment given by the student. Not applicable to exams.
user - User
Example
{
  "attendanceStatus": "ATTENDED",
  "audit": AuditInfo,
  "endsAt": "2007-12-03T10:15:30Z",
  "grade": "abc123",
  "id": "xyz789",
  "incomeInvoiceNumber": "abc123",
  "referenceNumber": "abc123",
  "sitting": Sitting,
  "startsAt": "2007-12-03T10:15:30Z",
  "studentComment": "abc123",
  "user": User
}

ExportTypeEnum

Description

A type of report

Values
Enum Value Description

CSV

PDF

Example
"CSV"

ExtraTheory

Description

An extra theory registration.

Fields
Field Name Description
attachments - [Attachment]!
audit - AuditInfo
booking - ExtraTheoryBooking
description - String
endsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
expensesInvoiceNumber - String Only present if an expense invoice is filled.
id - Id!
incomeInvoiceNumber - String Only present if an income invoice is filled.
instructor - User Will only be null if the requesting user is not allowed to read.
startsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
user - User Will only be null if the requesting user is not allowed to read it.
Example
{
  "attachments": [Attachment],
  "audit": AuditInfo,
  "booking": ExtraTheoryBooking,
  "description": "xyz789",
  "endsAt": "2007-12-03T10:15:30Z",
  "expensesInvoiceNumber": "abc123",
  "id": Id,
  "incomeInvoiceNumber": "abc123",
  "instructor": User,
  "startsAt": "2007-12-03T10:15:30Z",
  "user": User
}

ExtraTheoryBooking

Description

A booking for an extra theory lesson.

Fields
Field Name Description
audit - AuditInfo
classroom - Classroom The location (i.e. classroom) in which the booking will take place. Will only be null if the requesting user is not allowed to read it.
comment - String
emailNotifications - Boolean! Whether or not email notifications will be sent to participants when changes are made to the booking.
endsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
id - String!
instructor - User Will only be null if the requesting user is not allowed to read it.
startsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
status - BookingStatusEnum! The current lifecycle status of the booking.
student - User Will only be null if the requesting user is not allowed to read it.
Example
{
  "audit": AuditInfo,
  "classroom": Classroom,
  "comment": "abc123",
  "emailNotifications": true,
  "endsAt": "2007-12-03T10:15:30Z",
  "id": "xyz789",
  "instructor": User,
  "startsAt": "2007-12-03T10:15:30Z",
  "status": "CANCELLED",
  "student": User
}

ExtraTheoryConnection

Description

The connection type for ExtraTheory.

Fields
Field Name Description
edges - [ExtraTheoryEdge] A list of edges.
nodes - [ExtraTheory] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [ExtraTheoryEdge],
  "nodes": [ExtraTheory],
  "pageInfo": PageInfo
}

ExtraTheoryEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - ExtraTheory The item at the end of the edge.
Example
{
  "cursor": "xyz789",
  "node": ExtraTheory
}

Flight

Description

A flight registration.

Fields
Field Name Description
accountingTransactions - [AccountingTransaction] User Balance Module (UBM) transactions incurred by the flight.
activityRegistration - FlightRegistration The specific activity registration associated with the flight (e.g. training, rental, operation, etc.)
aircraft - Aircraft The aircraft performing the flight.
arrivalAirport - Airport The airport registered at the arrival of the flight. Will always be present for a non-simulator flight.
atSeconds - Int!
audit - AuditInfo
calculatedFuelUsage - String Uses the planes fuel coefficient and unit to determine the fuel usage of the flight. Unit of measurement matches that of the aircraft.
crossCountrySeconds - Int!
daySeconds - Int!
departureAirport - Airport The airport registered at the departure of the flight. Will always be present for a non-simulator flight.
departureFuel - String The total fuel before flight. Unit of measurement matches that of the aircraft.
departureFuelAdded - String The amount of fuel added before the flight. Unit of measurement matches that of the aircraft.
expensesInvoiceNumber - String Only present if an expense invoice is filled.
flightType - FlightTypeEnum
id - Id!
ifSeconds - Int!
ifrSeconds - Int!
incomeInvoiceNumber - String Only present if an income invoice is filled.
landing - DateTime The point in time at which the aircraft landed. Expects a date-time to be specified in ISO 8610 format. Use flightLog instead.
landings - [Landing] The landing(s) performed during the flight.
localSeconds - Int!
nightSeconds - Int!
offBlock - DateTime! The point in time of the beginning of the off-block portion of the flight. Expects a date-time to be specified in ISO 8610 format. Use flightLog instead.
onBlock - DateTime! The point in time of the beginning of the on-block portion of the flight. Expects a date-time to be specified in ISO 8610 format. Use flightLog instead.
pilotFlyingSeconds - Int!
pilotMonitoringSeconds - Int!
primaryLog - FlightLog Will only be null if the requesting user is not allowed to read it.
secondaryLog - FlightLog
takeoff - DateTime The point in time at which the aircraft took off. Expects a date-time to be specified in ISO 8610 format. Use flightLog instead.
tertiaryLog - FlightLog
timerFinishSeconds - Int The timer value at the end of the flight. Will never be null if the aircraft uses timer. Use flightLog instead.
timerStartSeconds - Int The timer value at the beginning of the flight. Will never be null if the aircraft uses timer. Use flightLog instead.
vfrSeconds - Int!
Example
{
  "accountingTransactions": [AccountingTransaction],
  "activityRegistration": FlightRegistration,
  "aircraft": Aircraft,
  "arrivalAirport": Airport,
  "atSeconds": 123,
  "audit": AuditInfo,
  "calculatedFuelUsage": "xyz789",
  "crossCountrySeconds": 987,
  "daySeconds": 987,
  "departureAirport": Airport,
  "departureFuel": "xyz789",
  "departureFuelAdded": "xyz789",
  "expensesInvoiceNumber": "abc123",
  "flightType": "DUAL",
  "id": Id,
  "ifSeconds": 123,
  "ifrSeconds": 123,
  "incomeInvoiceNumber": "xyz789",
  "landing": "2007-12-03T10:15:30Z",
  "landings": [Landing],
  "localSeconds": 987,
  "nightSeconds": 123,
  "offBlock": "2007-12-03T10:15:30Z",
  "onBlock": "2007-12-03T10:15:30Z",
  "pilotFlyingSeconds": 123,
  "pilotMonitoringSeconds": 987,
  "primaryLog": FlightLog,
  "secondaryLog": FlightLog,
  "takeoff": "2007-12-03T10:15:30Z",
  "tertiaryLog": FlightLog,
  "timerFinishSeconds": 987,
  "timerStartSeconds": 123,
  "vfrSeconds": 987
}

FlightConnection

Description

The connection type for Flight.

Fields
Field Name Description
edges - [FlightEdge] A list of edges.
nodes - [Flight] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [FlightEdge],
  "nodes": [Flight],
  "pageInfo": PageInfo
}

FlightEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - Flight The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": Flight
}

FlightLog

Description

A log registration.

Fields
Field Name Description
durationSeconds - Int! The duration of the log, in seconds.
endsAt - DateTime The point in time of the end of the log. Expects a date-time to be specified in ISO 8610 format. Will be null if the log measurement type is decimal.
finishSeconds - Int The timer value at the end of the log. Will be null if the log measurement type is hours minutes.
flyingDurationSeconds - Int! The flying duration in seconds.
id - Id! The id of the log.
startSeconds - Int The timer value at the beginning of the log. Will be null if the log measurement type is hours minutes.
startsAt - DateTime The point in time of the beginning of the log. Expects a date-time to be specified in ISO 8610 format. Will be null if the log measurement type is decimal and not primary log.
type - FlightTimerEnum! The type of log.
Example
{
  "durationSeconds": 123,
  "endsAt": "2007-12-03T10:15:30Z",
  "finishSeconds": 123,
  "flyingDurationSeconds": 987,
  "id": Id,
  "startSeconds": 987,
  "startsAt": "2007-12-03T10:15:30Z",
  "type": "AIRBORNE"
}

FlightLogConfiguration

Description

A log configuration.

Fields
Field Name Description
actionButtonsIsEnabled - Boolean! Whether or not the log has action buttons.
durationWarningPercent - Int The percentage of the log duration that will trigger a warning.
id - Id! The id of the log.
measurementType - LogMeasurementEnum! The type of measurement used for the log.
offsetWarningSecondsEnd - Int The end of the offset warning.
offsetWarningSecondsStart - Int The start of the offset warning.
prefillIsEnabled - Boolean! Whether or not the log is pre-filled.
totalSeconds - Int! The total seconds of the log.
type - FlightTimerEnum! The type of log.
Example
{
  "actionButtonsIsEnabled": true,
  "durationWarningPercent": 123,
  "id": Id,
  "measurementType": "DECIMAL_HOURS",
  "offsetWarningSecondsEnd": 123,
  "offsetWarningSecondsStart": 987,
  "prefillIsEnabled": false,
  "totalSeconds": 987,
  "type": "AIRBORNE"
}

FlightRegistration

Description

Represents something that has flights.

Fields
Field Name Description
asymmetricSeconds - Int!
crossCountrySeconds - Int!
flights - [Flight]!
id - Id!
ifrDualSeconds - Int!
ifrSimSeconds - Int!
ifrSpicSeconds - Int!
instrumentSeconds - Int!
multiSeconds - Int!
nightSeconds - Int!
pilotFlyingSeconds - Int!
pilotMonitoringSeconds - Int!
singleSeconds - Int!
totalSeconds - Int!
vfrDualSeconds - Int!
vfrSimSeconds - Int!
vfrSoloSeconds - Int!
vfrSpicSeconds - Int!
Possible Types
FlightRegistration Types

Operation

Rental

Training

Example
{
  "asymmetricSeconds": 123,
  "crossCountrySeconds": 987,
  "flights": [Flight],
  "id": Id,
  "ifrDualSeconds": 987,
  "ifrSimSeconds": 987,
  "ifrSpicSeconds": 123,
  "instrumentSeconds": 987,
  "multiSeconds": 987,
  "nightSeconds": 123,
  "pilotFlyingSeconds": 123,
  "pilotMonitoringSeconds": 987,
  "singleSeconds": 123,
  "totalSeconds": 987,
  "vfrDualSeconds": 987,
  "vfrSimSeconds": 123,
  "vfrSoloSeconds": 987,
  "vfrSpicSeconds": 123
}

FlightTimerEnum

Description

Flight time measurement method.

Values
Enum Value Description

AIRBORNE

AIRSWITCH

BLOCK

DATCON

EDU

FLIGHT_TIME

HEATER_HOBBS

HOBBS

TACH

VDO

Example
"AIRBORNE"

FlightTypeEnum

Description

Type of flight.

Values
Enum Value Description

DUAL

SIM

SOLO

SPIC

Example
"DUAL"

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
987.65

FuelCoefficientBasisEnum

Description

Flight time measurement basis used in fuel coefficient calculations.

Values
Enum Value Description

AIRBORNE

AIRSWITCH

BLOCK

DATCON

EDU

FLIGHT_TIME

HEATER_HOBBS

HOBBS

TACH

VDO

Example
"AIRBORNE"

FuelMeasurementUnitEnum

Description

Unit of measurement for fuel.

Values
Enum Value Description

LITERS

USG

Example
"LITERS"

GradedCompetency

Fields
Field Name Description
coreCompetencyName - String
grade - String
gradedIndicators - [GradedIndicator]
id - String!
normGrade - String
Example
{
  "coreCompetencyName": "xyz789",
  "grade": "xyz789",
  "gradedIndicators": [GradedIndicator],
  "id": "xyz789",
  "normGrade": "xyz789"
}

GradedIndicator

Fields
Field Name Description
id - String!
performanceIndicatorName - String!
Example
{
  "id": "xyz789",
  "performanceIndicatorName": "abc123"
}

GroundBooking

Description

Fields common to all bookings tied to ground resources (i.e. classrooms).

Fields
Field Name Description
classroom - Classroom The location (i.e. classroom) in which the booking will take place. Will only be null if the requesting user is not allowed to read it.
Example
{"classroom": Classroom}

ID

Description

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example
4

Id

Description

An unique identifier

Example
Id

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
987

Landing

Description

A landing done as part of a Flight.

Fields
Field Name Description
airport - Airport The airport at which the landing took place. Will only be null if the requesting user is not allowed to read it.
audit - AuditInfo
id - Id!
isArrival - Boolean! True if the landing is the last landing (arrival).
landingType - LandingTypeEnum!
landingTypeCount - Int!
nightLanding - Boolean!
Example
{
  "airport": Airport,
  "audit": AuditInfo,
  "id": Id,
  "isArrival": false,
  "landingType": "APPROACH",
  "landingTypeCount": 987,
  "nightLanding": false
}

LandingTypeEnum

Values
Enum Value Description

APPROACH

GO_AROUND

LANDING

TOUCH_AND_GO

Example
"APPROACH"

Lecture

Description

A lecture/lesson on a program. Not to be confused with a Training, which is a completed lecture/lesson registration.

Fields
Field Name Description
audit - AuditInfo
briefingMinutes - Int! The duration of the briefing, in minutes.
crossCountryMinutes - Int!
debriefingMinutes - Int! The duration of the de-briefing, in minutes.
id - Id!
ifrDualMinutes - Int!
ifrSimMinutes - Int!
ifrSpicMinutes - Int!
multiEngineMinutes - Int!
name - String!
nightMinutes - Int!
pilotFlyingMinutes - Int!
pilotMonitoringMinutes - Int!
programPhase - ProgramPhase Will only be null if the requesting user is not allowed to read it.
vfrDualMinutes - Int!
vfrSimMinutes - Int!
vfrSoloMinutes - Int!
vfrSpicMinutes - Int!
Example
{
  "audit": AuditInfo,
  "briefingMinutes": 987,
  "crossCountryMinutes": 987,
  "debriefingMinutes": 987,
  "id": Id,
  "ifrDualMinutes": 123,
  "ifrSimMinutes": 123,
  "ifrSpicMinutes": 987,
  "multiEngineMinutes": 987,
  "name": "abc123",
  "nightMinutes": 123,
  "pilotFlyingMinutes": 123,
  "pilotMonitoringMinutes": 123,
  "programPhase": ProgramPhase,
  "vfrDualMinutes": 987,
  "vfrSimMinutes": 987,
  "vfrSoloMinutes": 123,
  "vfrSpicMinutes": 987
}

LogMeasurementEnum

Description

Format of a duration of time.

Values
Enum Value Description

DECIMAL_HOURS

Decimal number of hours representation with 1 decimal place. Example: 2.2 (2 hours and 12 minutes)

HOURS_MINUTES

Digital clock representation. Example: 2:15 (2 hours and 15 minutes)

LONG_DECIMAL_HOURS

Decimal number of hours representation with 2 decimal places. Example: 2.25 (2 hours and 15 minutes)

TIMESTAMP

Timestamp with date and time. Example: 2023-12-24 13:37
Example
"DECIMAL_HOURS"

Logbook

Description

A Logbook

Fields
Field Name Description
accountCompany - String
accountDomain - String
arrivalAirportName - String
coPilotSeconds - Int
daySeconds - Int Flight time at day.
departureAirportName - String
documents - [MemberAttachment] Entries will only be null if the requesting user is not allowed to read them.
dualSeconds - Int
flightInstructorSeconds - Int
id - Id!
ifTimeSeconds - Int
includeInFtl - Boolean
instructorSyntheticTrainingSeconds - Int
landingsDay - Int
landingsNight - Int
multiEngineIfrSeconds - Int
multiEngineVfrSeconds - Int
multiPilotSeconds - Int
nameOfPilotInCommand - String
nightSeconds - Int Flight time at night.
offBlock - DateTime! Expects a date-time to be specified in ISO 8610 format.
onBlock - DateTime! Expects a date-time to be specified in ISO 8610 format.
pilotInCommandSeconds - Int
registration - String
remarksAndEndorsements - String
singleEngineIfrSeconds - Int
singleEngineVfrSeconds - Int
syntheticTrainingSeconds - Int
totalSeconds - Int Total flight time.
typeOfAircraft - String
Example
{
  "accountCompany": "abc123",
  "accountDomain": "abc123",
  "arrivalAirportName": "abc123",
  "coPilotSeconds": 987,
  "daySeconds": 123,
  "departureAirportName": "abc123",
  "documents": [MemberAttachment],
  "dualSeconds": 123,
  "flightInstructorSeconds": 987,
  "id": Id,
  "ifTimeSeconds": 987,
  "includeInFtl": false,
  "instructorSyntheticTrainingSeconds": 987,
  "landingsDay": 987,
  "landingsNight": 987,
  "multiEngineIfrSeconds": 987,
  "multiEngineVfrSeconds": 987,
  "multiPilotSeconds": 987,
  "nameOfPilotInCommand": "abc123",
  "nightSeconds": 987,
  "offBlock": "2007-12-03T10:15:30Z",
  "onBlock": "2007-12-03T10:15:30Z",
  "pilotInCommandSeconds": 123,
  "registration": "abc123",
  "remarksAndEndorsements": "xyz789",
  "singleEngineIfrSeconds": 123,
  "singleEngineVfrSeconds": 987,
  "syntheticTrainingSeconds": 123,
  "totalSeconds": 987,
  "typeOfAircraft": "abc123"
}

LogbookConnection

Description

The connection type for Logbook.

Fields
Field Name Description
edges - [LogbookEdge] A list of edges.
nodes - [Logbook] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [LogbookEdge],
  "nodes": [Logbook],
  "pageInfo": PageInfo
}

LogbookEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - Logbook The item at the end of the edge.
Example
{
  "cursor": "xyz789",
  "node": Logbook
}

LogbookEntryInput

Fields
Input Field Description
arrivalAirportName - String!
coPilotSeconds - Int
departureAirportName - String!
dualSeconds - Int
engineType - EngineTypeEnum!
flightInstructorSeconds - Int
id - ID
ifrSeconds - Int
landingsDay - Int
landingsNight - Int
multiPilotSeconds - Int
nameOfPilotInCommand - String!
nightSeconds - Int Flight time at night.
offBlock - DateTime! Expects a date-time to be specified in ISO 8610 format.
onBlock - DateTime! Expects a date-time to be specified in ISO 8610 format.
pilotInCommandSeconds - Int
registration - String!
remarksAndEndorsements - String
totalSeconds - Int! Total flight time.
typeOfAircraft - String!
vfrSeconds - Int
Example
{
  "arrivalAirportName": "abc123",
  "coPilotSeconds": 987,
  "departureAirportName": "abc123",
  "dualSeconds": 123,
  "engineType": "MULTI_ENGINE",
  "flightInstructorSeconds": 987,
  "id": 4,
  "ifrSeconds": 987,
  "landingsDay": 123,
  "landingsNight": 123,
  "multiPilotSeconds": 123,
  "nameOfPilotInCommand": "abc123",
  "nightSeconds": 123,
  "offBlock": "2007-12-03T10:15:30Z",
  "onBlock": "2007-12-03T10:15:30Z",
  "pilotInCommandSeconds": 123,
  "registration": "xyz789",
  "remarksAndEndorsements": "xyz789",
  "totalSeconds": 123,
  "typeOfAircraft": "xyz789",
  "vfrSeconds": 123
}

LogbookSorter

Values
Enum Value Description

CREATED_AT

ID

Example
"CREATED_AT"

LogbookSummation

Description

A Logbook

Fields
Field Name Description
coPilotSeconds - Int
daySeconds - Int Flight time at day.
dualSeconds - Int
flightInstructorSeconds - Int
ifTimeSeconds - Int Instrumental flight seconds.
instructorSyntheticTrainingSeconds - Int
landingsDay - Int
landingsNight - Int
multiEngineIfrSeconds - Int
multiEngineVfrSeconds - Int
multiPilotSeconds - Int
nightSeconds - Int Flight time at night.
pilotInCommandSeconds - Int
singleEngineIfrSeconds - Int
singleEngineVfrSeconds - Int
syntheticTrainingSeconds - Int
totalSeconds - Int Total flight time.
Example
{
  "coPilotSeconds": 987,
  "daySeconds": 123,
  "dualSeconds": 987,
  "flightInstructorSeconds": 123,
  "ifTimeSeconds": 123,
  "instructorSyntheticTrainingSeconds": 987,
  "landingsDay": 123,
  "landingsNight": 123,
  "multiEngineIfrSeconds": 123,
  "multiEngineVfrSeconds": 123,
  "multiPilotSeconds": 987,
  "nightSeconds": 987,
  "pilotInCommandSeconds": 987,
  "singleEngineIfrSeconds": 123,
  "singleEngineVfrSeconds": 123,
  "syntheticTrainingSeconds": 987,
  "totalSeconds": 987
}

MaintenanceBooking

Description

A booking for an aircraft maintenance.

Fields
Field Name Description
aircraft - Aircraft Will only be null if the requesting user is not allowed to read it.
arrivalAirport - Airport
audit - AuditInfo
comment - String
departureAirport - Airport
emailNotifications - Boolean! Whether or not email notifications will be sent to participants when changes are made to the booking.
endsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
flightEndsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
flightStartsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
id - String!
startsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
status - BookingStatusEnum! The current lifecycle status of the booking.
Example
{
  "aircraft": Aircraft,
  "arrivalAirport": Airport,
  "audit": AuditInfo,
  "comment": "abc123",
  "departureAirport": Airport,
  "emailNotifications": false,
  "endsAt": "2007-12-03T10:15:30Z",
  "flightEndsAt": "2007-12-03T10:15:30Z",
  "flightStartsAt": "2007-12-03T10:15:30Z",
  "id": "abc123",
  "startsAt": "2007-12-03T10:15:30Z",
  "status": "CANCELLED"
}

MaintenanceBookingInput

Fields
Input Field Description
aircraftId - ID!
bookingEnd - DateTime!
bookingStart - DateTime!
comment - String
notifyViaEmail - Boolean
recurrenceRule - String
Example
{
  "aircraftId": 4,
  "bookingEnd": "2007-12-03T10:15:30Z",
  "bookingStart": "2007-12-03T10:15:30Z",
  "comment": "xyz789",
  "notifyViaEmail": true,
  "recurrenceRule": "xyz789"
}

MaintenanceWarning

Description

A maintenance warning

Fields
Field Name Description
audit - AuditInfo
color - String
cyclesLeft - Int
daysLeft - Int
expiryCycles - String
expiryDate - String
expiryTime - Int
hasDocument - Boolean!
id - Id!
logMeasurementType - String!
logType - String
requirers - [String!]!
serialNumber - String
status - String!
subjectName - String!
timeLeft - Float
typeOfTimer - String
typeOfTimerMeasurement - String!
Example
{
  "audit": AuditInfo,
  "color": "abc123",
  "cyclesLeft": 123,
  "daysLeft": 987,
  "expiryCycles": "xyz789",
  "expiryDate": "xyz789",
  "expiryTime": 123,
  "hasDocument": true,
  "id": Id,
  "logMeasurementType": "abc123",
  "logType": "xyz789",
  "requirers": ["abc123"],
  "serialNumber": "xyz789",
  "status": "xyz789",
  "subjectName": "abc123",
  "timeLeft": 987.65,
  "typeOfTimer": "xyz789",
  "typeOfTimerMeasurement": "abc123"
}

MeetingBooking

Description

A booking for a meeting.

Fields
Field Name Description
audit - AuditInfo
classroom - Classroom The location (i.e. classroom) in which the booking will take place. Will only be null if the requesting user is not allowed to read it.
comment - String
emailNotifications - Boolean! Whether or not email notifications will be sent to participants when changes are made to the booking.
endsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
id - String!
participants - [User]!
startsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
status - BookingStatusEnum! The current lifecycle status of the booking.
Example
{
  "audit": AuditInfo,
  "classroom": Classroom,
  "comment": "abc123",
  "emailNotifications": true,
  "endsAt": "2007-12-03T10:15:30Z",
  "id": "abc123",
  "participants": [User],
  "startsAt": "2007-12-03T10:15:30Z",
  "status": "CANCELLED"
}

MeetingBookingInput

Fields
Input Field Description
bookingEnd - DateTime!
bookingStart - DateTime!
classroomId - ID!
comment - String
notifyViaEmail - Boolean
participantsById - [ID]!
recurrenceRule - String
Example
{
  "bookingEnd": "2007-12-03T10:15:30Z",
  "bookingStart": "2007-12-03T10:15:30Z",
  "classroomId": "4",
  "comment": "xyz789",
  "notifyViaEmail": true,
  "participantsById": ["4"],
  "recurrenceRule": "xyz789"
}

MemberAttachment

Fields
Field Name Description
audit - AuditInfo
fileName - String! The name of the underlying file.
fileType - String The file type of the underlying file.
fileUrl - String Address used to retrieve the underlying file.
id - String!
Example
{
  "audit": AuditInfo,
  "fileName": "xyz789",
  "fileType": "abc123",
  "fileUrl": "abc123",
  "id": "abc123"
}

MultiStudentBooking

Description

A booking for a multi-student training flight.

Fields
Field Name Description
aircraft - Aircraft Will only be null if the requesting user is not allowed to read it.
arrivalAirport - Airport
audit - AuditInfo
cancellations - [BookingCancellation] The cancellation registration associated with the booking.
comment - String
departureAirport - Airport
emailNotifications - Boolean! Whether or not email notifications will be sent to participants when changes are made to the booking.
endsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
flightEndsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
flightStartsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
id - String!
instructor - User Will only be null if the requesting user is not allowed to read it.
plannedLessons - [Training] The planned training lessons associated with the booking.
registrations - [Training] The training registrations associated with the booking.
startsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
status - BookingStatusEnum! The current lifecycle status of the booking.
students - [User]!
Example
{
  "aircraft": Aircraft,
  "arrivalAirport": Airport,
  "audit": AuditInfo,
  "cancellations": [BookingCancellation],
  "comment": "abc123",
  "departureAirport": Airport,
  "emailNotifications": true,
  "endsAt": "2007-12-03T10:15:30Z",
  "flightEndsAt": "2007-12-03T10:15:30Z",
  "flightStartsAt": "2007-12-03T10:15:30Z",
  "id": "xyz789",
  "instructor": User,
  "plannedLessons": [Training],
  "registrations": [Training],
  "startsAt": "2007-12-03T10:15:30Z",
  "status": "CANCELLED",
  "students": [User]
}

MyFlightLogger

Description

A myFlightLogger account

Fields
Field Name Description
avatarUrl - String!
callSign - String!
email - String!
firstName - String!
lastName - String!
logbookEntries - LogbookConnection Get logbooks within a time frame.
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

changedAfter - DateTime

If provided, finds only entries created or updated after this date. Expects a date-time to be specified in ISO 8610 format.

first - Int

Returns the first n elements from the list.

from - DateTime

If provided, finds only entries beginning after the date. Expects a date-time to be specified in ISO 8610 format.

last - Int

Returns the last n elements from the list.

sortBy - LogbookSorter
sortDesc - Boolean
to - DateTime

If provided, finds only entries ending before the date. Expects a date-time to be specified in ISO 8610 format.

logbookSummations - LogbookSummation Get summaries of logbook within a time frame.
Arguments
changedAfter - DateTime

If provided, finds only entries created or updated after this date. Expects a date-time to be specified in ISO 8610 format.

from - DateTime

If provided, finds only entries beginning after the date. Expects a date-time to be specified in ISO 8610 format.

to - DateTime

If provided, finds only entries ending before the date. Expects a date-time to be specified in ISO 8610 format.

Example
{
  "avatarUrl": "abc123",
  "callSign": "xyz789",
  "email": "xyz789",
  "firstName": "xyz789",
  "lastName": "xyz789",
  "logbookEntries": LogbookConnection,
  "logbookSummations": LogbookSummation
}

MyFlightLoggerEntry

Description

A myFlightLogger account collection for entries

Fields
Field Name Description
createBulkLogbookEntry - Logbook! Create a manual bulk logbook entry.
Arguments
createLogbookEntry - Logbook! Create a manual logbook entry.
Arguments
createSimLogbookEntry - Logbook! Create a manual logbook entry.
Arguments
destroyLogbookEntry - Boolean! Destroy a manual logbook entry.
Arguments
id - ID!
generateReport - String! Initiate generation of a report
Arguments
endsAt - Date
exportType - ExportTypeEnum!
reportType - ReportTypeEnum!
startsAt - Date
updateBulkLogbookEntry - Logbook! Update a manual bulk logbook entry.
Arguments
updateLogbookEntry - Logbook! Updates a manual logbook entry.
Arguments
updateSimLogbookEntry - Logbook! Updates a manual logbook entry.
Arguments
Example
{
  "createBulkLogbookEntry": Logbook,
  "createLogbookEntry": Logbook,
  "createSimLogbookEntry": Logbook,
  "destroyLogbookEntry": true,
  "generateReport": "xyz789",
  "updateBulkLogbookEntry": Logbook,
  "updateLogbookEntry": Logbook,
  "updateSimLogbookEntry": Logbook
}

Operation

Description

An operation registration.

Fields
Field Name Description
asymmetricSeconds - Int!
audit - AuditInfo
booking - OperationBooking
comment - String
crew - [User]! Entries will only be null if the requesting user is not allowed to read them.
crossCountrySeconds - Int!
customer - Customer
expensesInvoiceNumber - String
flights - [Flight]!
id - Id!
ifrDualSeconds - Int!
ifrSimSeconds - Int!
ifrSpicSeconds - Int!
incomeInvoiceNumber - String
instrumentSeconds - Int!
multiSeconds - Int!
nightSeconds - Int!
operationType - OperationType The type of operation performed.
pic - User Will only be null if the requesting user is not allowed to read it.
pilotFlyingSeconds - Int!
pilotMonitoringSeconds - Int!
singleSeconds - Int!
totalSeconds - Int!
vfrDualSeconds - Int!
vfrSimSeconds - Int!
vfrSoloSeconds - Int!
vfrSpicSeconds - Int!
Example
{
  "asymmetricSeconds": 123,
  "audit": AuditInfo,
  "booking": OperationBooking,
  "comment": "xyz789",
  "crew": [User],
  "crossCountrySeconds": 123,
  "customer": Customer,
  "expensesInvoiceNumber": "abc123",
  "flights": [Flight],
  "id": Id,
  "ifrDualSeconds": 987,
  "ifrSimSeconds": 987,
  "ifrSpicSeconds": 123,
  "incomeInvoiceNumber": "abc123",
  "instrumentSeconds": 123,
  "multiSeconds": 123,
  "nightSeconds": 123,
  "operationType": OperationType,
  "pic": User,
  "pilotFlyingSeconds": 123,
  "pilotMonitoringSeconds": 987,
  "singleSeconds": 987,
  "totalSeconds": 123,
  "vfrDualSeconds": 123,
  "vfrSimSeconds": 123,
  "vfrSoloSeconds": 987,
  "vfrSpicSeconds": 987
}

OperationBooking

Description

A booking for an operation flight.

Fields
Field Name Description
aircraft - Aircraft Will only be null if the requesting user is not allowed to read it.
arrivalAirport - Airport
audit - AuditInfo
cancellation - BookingCancellation The cancellation registration associated with the booking.
comment - String
crew - [User]! Attending crew.
customer - Customer
departureAirport - Airport
emailNotifications - Boolean! Whether or not email notifications will be sent to participants when changes are made to the booking.
endsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
flightEndsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
flightStartsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
id - String!
operationType - OperationType The type of operation that has been slated to be flown. Will only be null if the requesting user is not allowed to read it.
pic - User Pilot in Command. Will only be null if the requesting user is not allowed to read it.
registration - Operation The operation registration associated with the booking.
startsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
status - BookingStatusEnum! The current lifecycle status of the booking.
Example
{
  "aircraft": Aircraft,
  "arrivalAirport": Airport,
  "audit": AuditInfo,
  "cancellation": BookingCancellation,
  "comment": "abc123",
  "crew": [User],
  "customer": Customer,
  "departureAirport": Airport,
  "emailNotifications": false,
  "endsAt": "2007-12-03T10:15:30Z",
  "flightEndsAt": "2007-12-03T10:15:30Z",
  "flightStartsAt": "2007-12-03T10:15:30Z",
  "id": "xyz789",
  "operationType": OperationType,
  "pic": User,
  "registration": Operation,
  "startsAt": "2007-12-03T10:15:30Z",
  "status": "CANCELLED"
}

OperationConnection

Description

The connection type for Operation.

Fields
Field Name Description
edges - [OperationEdge] A list of edges.
nodes - [Operation] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [OperationEdge],
  "nodes": [Operation],
  "pageInfo": PageInfo
}

OperationEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - Operation The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": Operation
}

OperationType

Description

An operation type. To indicate the type of operation being flown as part of an operation registration.

Fields
Field Name Description
audit - AuditInfo
externalReference - String Used to identify/reference this specific operation type outside of FlightLogger.
id - String!
name - String!
note - String!
Example
{
  "audit": AuditInfo,
  "externalReference": "abc123",
  "id": "abc123",
  "name": "abc123",
  "note": "xyz789"
}

PageInfo

Description

Information about pagination in a connection.

Fields
Field Name Description
endCursor - String When paginating forwards, the cursor to continue.
hasNextPage - Boolean! When paginating forwards, are there more items?
hasPreviousPage - Boolean! When paginating backwards, are there more items?
startCursor - String When paginating backwards, the cursor to continue.
Example
{
  "endCursor": "abc123",
  "hasNextPage": false,
  "hasPreviousPage": true,
  "startCursor": "abc123"
}

PmfTypeEnum

Description

PMF (Pilot Monitoring/Flying) state.

Values
Enum Value Description

PILOT_FLYING

PILOT_MONITORING

PILOT_NOT_SPECIFIED

Example
"PILOT_FLYING"

PresignedUrls

Fields
Field Name Description
signedGetUrl - String
signedPutUrl - String
Example
{
  "signedGetUrl": "xyz789",
  "signedPutUrl": "xyz789"
}

Program

Description

A program. Not to be confused with a UserProgram, which represents the link between a program and user.

Fields
Field Name Description
aircraftType - ProgramAircraftTypeEnum Programs define what kind of aircraft is used
audit - AuditInfo
externalReference - String Used to identify/reference this specific operation type outside of FlightLogger.
id - Id!
name - String!
programType - ProgramTypeEnum Programs are split into either flight or ground training
Example
{
  "aircraftType": "AIRPLANE",
  "audit": AuditInfo,
  "externalReference": "xyz789",
  "id": Id,
  "name": "xyz789",
  "programType": "FLIGHT_TRAINING"
}

ProgramAircraftTypeEnum

Description

Aircraft for the program

Values
Enum Value Description

AIRPLANE

HELICOPTER

Example
"AIRPLANE"

ProgramPhase

Description

A program phase.

Fields
Field Name Description
audit - AuditInfo
id - Id!
lectures - [Lecture]
name - String!
Example
{
  "audit": AuditInfo,
  "id": Id,
  "lectures": [Lecture],
  "name": "abc123"
}

ProgramRevision

Description

A program revision.

Fields
Field Name Description
audit - AuditInfo
externalReference - String Used to identify/reference this specific operation type outside of FlightLogger.
id - Id!
name - String!
programPhases - [ProgramPhase]
Example
{
  "audit": AuditInfo,
  "externalReference": "xyz789",
  "id": Id,
  "name": "abc123",
  "programPhases": [ProgramPhase]
}

ProgramTypeEnum

Description

Program type

Values
Enum Value Description

FLIGHT_TRAINING

GROUND_TRAINING

Example
"FLIGHT_TRAINING"

ProgressTest

Description

A progress test registration.

Fields
Field Name Description
attachments - [Attachment]
audit - AuditInfo
booking - ProgressTestBooking
class - Class
comment - String
endsAt - DateTime Expects a date-time to be specified in ISO 8610 format.
expensesInvoiceNumber - String Only present if an expense invoice is filled.
groundTrainingSubject - SubjectCategory Will only be null if the requesting user is not allowed to read it.
id - String!
instructor - User Will only be null if the requesting user is not allowed to read.
note - String
participations - [TheoryParticipation]!
startsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
subject - String Renamed to note
subjectCategory - SubjectCategory Will only be null if the requesting user is not allowed to read it. Renamed to groundTrainingSubject
Example
{
  "attachments": [Attachment],
  "audit": AuditInfo,
  "booking": ProgressTestBooking,
  "class": Class,
  "comment": "abc123",
  "endsAt": "2007-12-03T10:15:30Z",
  "expensesInvoiceNumber": "xyz789",
  "groundTrainingSubject": SubjectCategory,
  "id": "abc123",
  "instructor": User,
  "note": "abc123",
  "participations": [TheoryParticipation],
  "startsAt": "2007-12-03T10:15:30Z",
  "subject": "xyz789",
  "subjectCategory": SubjectCategory
}

ProgressTestBooking

Description

A booking for a progress test.

Fields
Field Name Description
audit - AuditInfo
class - Class
classroom - Classroom The location (i.e. classroom) in which the booking will take place. Will only be null if the requesting user is not allowed to read it.
comment - String
emailNotifications - Boolean! Whether or not email notifications will be sent to participants when changes are made to the booking.
endsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
id - String!
instructor - User The instructor/examiner slated to oversee the booking. Will only be null if the requesting user is not allowed to read it.
startsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
status - BookingStatusEnum! The current lifecycle status of the booking.
students - [User]! Students slated to participate in the activity.
subject - String
theoryCourse - TheoryCourse Will only be null if the requesting user is not allowed to read it.
Example
{
  "audit": AuditInfo,
  "class": Class,
  "classroom": Classroom,
  "comment": "abc123",
  "emailNotifications": true,
  "endsAt": "2007-12-03T10:15:30Z",
  "id": "abc123",
  "instructor": User,
  "startsAt": "2007-12-03T10:15:30Z",
  "status": "CANCELLED",
  "students": [User],
  "subject": "xyz789",
  "theoryCourse": TheoryCourse
}

ProgressTestConnection

Description

The connection type for ProgressTest.

Fields
Field Name Description
edges - [ProgressTestEdge] A list of edges.
nodes - [ProgressTest] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [ProgressTestEdge],
  "nodes": [ProgressTest],
  "pageInfo": PageInfo
}

ProgressTestEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - ProgressTest The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": ProgressTest
}

Rental

Description

A rental flight registration.

Fields
Field Name Description
asymmetricSeconds - Int!
audit - AuditInfo
booking - RentalBooking
comment - String
crossCountrySeconds - Int!
flights - [Flight]!
id - Id!
ifrDualSeconds - Int!
ifrSimSeconds - Int!
ifrSpicSeconds - Int!
instrumentSeconds - Int!
multiSeconds - Int!
nightSeconds - Int!
pilotFlyingSeconds - Int!
pilotMonitoringSeconds - Int!
renter - User Will only be null if the requesting user is not allowed to read it.
singleSeconds - Int!
totalSeconds - Int!
vfrDualSeconds - Int!
vfrSimSeconds - Int!
vfrSoloSeconds - Int!
vfrSpicSeconds - Int!
Example
{
  "asymmetricSeconds": 987,
  "audit": AuditInfo,
  "booking": RentalBooking,
  "comment": "abc123",
  "crossCountrySeconds": 987,
  "flights": [Flight],
  "id": Id,
  "ifrDualSeconds": 123,
  "ifrSimSeconds": 123,
  "ifrSpicSeconds": 123,
  "instrumentSeconds": 987,
  "multiSeconds": 123,
  "nightSeconds": 123,
  "pilotFlyingSeconds": 987,
  "pilotMonitoringSeconds": 123,
  "renter": User,
  "singleSeconds": 123,
  "totalSeconds": 123,
  "vfrDualSeconds": 123,
  "vfrSimSeconds": 123,
  "vfrSoloSeconds": 987,
  "vfrSpicSeconds": 987
}

RentalBooking

Description

A booking for a rental flight.

Fields
Field Name Description
aircraft - Aircraft Will only be null if the requesting user is not allowed to read it.
approved - Boolean! True if the rental request has been approved by a rental administrator. False otherwise.
arrivalAirport - Airport
audit - AuditInfo
cancellation - BookingCancellation The cancellation registration associated with the booking.
comment - String
departureAirport - Airport
emailNotifications - Boolean! Whether or not email notifications will be sent to participants when changes are made to the booking.
endsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
flightEndsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
flightStartsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
id - String!
registration - Rental The rental registration associated with the booking.
renter - User Will only be null if the requesting user is not allowed to read it.
startsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
status - BookingStatusEnum! The current lifecycle status of the booking.
Example
{
  "aircraft": Aircraft,
  "approved": true,
  "arrivalAirport": Airport,
  "audit": AuditInfo,
  "cancellation": BookingCancellation,
  "comment": "xyz789",
  "departureAirport": Airport,
  "emailNotifications": false,
  "endsAt": "2007-12-03T10:15:30Z",
  "flightEndsAt": "2007-12-03T10:15:30Z",
  "flightStartsAt": "2007-12-03T10:15:30Z",
  "id": "xyz789",
  "registration": Rental,
  "renter": User,
  "startsAt": "2007-12-03T10:15:30Z",
  "status": "CANCELLED"
}

RentalConnection

Description

The connection type for Rental.

Fields
Field Name Description
edges - [RentalEdge] A list of edges.
nodes - [Rental] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [RentalEdge],
  "nodes": [Rental],
  "pageInfo": PageInfo
}

RentalEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - Rental The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": Rental
}

ReportTypeEnum

Description

Reports available for export

Values
Enum Value Description

MY_LOGBOOK

Example
"MY_LOGBOOK"

ServiceSummary

Description

A service summary

Fields
Field Name Description
cyclesWarningColor - String
dateWarningColor - String
nextPrimaryService - Float
nextSecondaryService - Float
nextServiceCycles - Float
nextServiceDate - String
nextTertiaryService - Float
primaryWarningColor - String
secondaryWarningColor - String
tertiaryWarningColor - String
Example
{
  "cyclesWarningColor": "abc123",
  "dateWarningColor": "xyz789",
  "nextPrimaryService": 987.65,
  "nextSecondaryService": 123.45,
  "nextServiceCycles": 123.45,
  "nextServiceDate": "xyz789",
  "nextTertiaryService": 123.45,
  "primaryWarningColor": "xyz789",
  "secondaryWarningColor": "xyz789",
  "tertiaryWarningColor": "abc123"
}

SimLogbookEntryInput

Fields
Input Field Description
id - ID
instructorSyntheticTrainingSeconds - Int
offBlock - DateTime! Expects a date-time to be specified in ISO 8610 format.
onBlock - DateTime! Expects a date-time to be specified in ISO 8610 format.
registration - String!
remarksAndEndorsements - String
syntheticTrainingSeconds - Int!
typeOfAircraft - String!
Example
{
  "id": 4,
  "instructorSyntheticTrainingSeconds": 987,
  "offBlock": "2007-12-03T10:15:30Z",
  "onBlock": "2007-12-03T10:15:30Z",
  "registration": "xyz789",
  "remarksAndEndorsements": "xyz789",
  "syntheticTrainingSeconds": 123,
  "typeOfAircraft": "xyz789"
}

SingleStudentBooking

Description

A booking for a single-student training.

Fields
Field Name Description
aircraft - Aircraft Will only be null if the requesting user is not allowed to read it.
arrivalAirport - Airport
audit - AuditInfo
cancellation - BookingCancellation The cancellation registration associated with the booking.
comment - String
departureAirport - Airport
emailNotifications - Boolean! Whether or not email notifications will be sent to participants when changes are made to the booking.
endsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
flightEndsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
flightStartsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
id - String!
instructor - User Will only be null if the requesting user is not allowed to read it.
plannedLesson - Training The planned training lesson associated with the booking.
registration - Training The training registration associated with the booking.
startsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
status - BookingStatusEnum! The current lifecycle status of the booking.
student - User Will only be null if the requesting user is not allowed to read it.
Example
{
  "aircraft": Aircraft,
  "arrivalAirport": Airport,
  "audit": AuditInfo,
  "cancellation": BookingCancellation,
  "comment": "xyz789",
  "departureAirport": Airport,
  "emailNotifications": true,
  "endsAt": "2007-12-03T10:15:30Z",
  "flightEndsAt": "2007-12-03T10:15:30Z",
  "flightStartsAt": "2007-12-03T10:15:30Z",
  "id": "abc123",
  "instructor": User,
  "plannedLesson": Training,
  "registration": Training,
  "startsAt": "2007-12-03T10:15:30Z",
  "status": "CANCELLED",
  "student": User
}

Sitting

Description

An exam sitting.

Fields
Field Name Description
audit - AuditInfo
endsAt - Date! Expects a date to be specified in ISO 8610 format.
id - Id!
sittingNumber - Int!
startsAt - Date! Expects a date to be specified in ISO 8610 format.
Example
{
  "audit": AuditInfo,
  "endsAt": "2007-12-03",
  "id": Id,
  "sittingNumber": 123,
  "startsAt": "2007-12-03"
}

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"abc123"

SubjectCategory

Description

A subject category as part of a theory course.

Fields
Field Name Description
audit - AuditInfo
id - String!
name - String
theoryCourse - TheoryCourse Will only be null if the requesting user is not allowed to read it.
Example
{
  "audit": AuditInfo,
  "id": "abc123",
  "name": "abc123",
  "theoryCourse": TheoryCourse
}

Theory

Description

A theory registration with one or more students.

Fields
Field Name Description
attachments - [Attachment]
booking - GroundBooking
class - Class
endsAt - DateTime Expects a date-time to be specified in ISO 8610 format.
groundTrainingSubject - SubjectCategory Will only be null if the requesting user is not allowed to read it.
startsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
subjectCategory - SubjectCategory Will only be null if the requesting user is not allowed to read it. Renamed to groundTrainingSubject
Example
{
  "attachments": [Attachment],
  "booking": GroundBooking,
  "class": Class,
  "endsAt": "2007-12-03T10:15:30Z",
  "groundTrainingSubject": SubjectCategory,
  "startsAt": "2007-12-03T10:15:30Z",
  "subjectCategory": SubjectCategory
}

TheoryBooking

Description

Fields common to all theoretical booking.

Fields
Field Name Description
class - Class
instructor - User The instructor/examiner slated to oversee the booking. Will only be null if the requesting user is not allowed to read it.
students - [User]! Students slated to participate in the activity.
theoryCourse - TheoryCourse Will only be null if the requesting user is not allowed to read it.
Example
{
  "class": Class,
  "instructor": User,
  "students": [User],
  "theoryCourse": TheoryCourse
}

TheoryCourse

Description

A theory course.

Fields
Field Name Description
audit - AuditInfo
disabled - Boolean!
id - String!
name - String!
Example
{
  "audit": AuditInfo,
  "disabled": true,
  "id": "xyz789",
  "name": "xyz789"
}

TheoryParticipation

Description

Represents a students participation in a type of theory.

Fields
Field Name Description
attendanceStatus - AttendanceStatusEnum!
audit - AuditInfo
endsAt - DateTime Expects a date-time to be specified in ISO 8610 format.
grade - String The grade given to the participant. Not applicable to class theories.
id - String!
incomeInvoiceNumber - String Only present if an income invoice is filled.
startsAt - DateTime Expects a date-time to be specified in ISO 8610 format.
studentComment - String Comment given by the student. Not applicable to exams.
user - User
Example
{
  "attendanceStatus": "ATTENDED",
  "audit": AuditInfo,
  "endsAt": "2007-12-03T10:15:30Z",
  "grade": "xyz789",
  "id": "xyz789",
  "incomeInvoiceNumber": "abc123",
  "startsAt": "2007-12-03T10:15:30Z",
  "studentComment": "abc123",
  "user": User
}

TheoryRelease

Description

A theory release registration.

Fields
Field Name Description
attachments - [Attachment]
audit - AuditInfo
booking - TheoryReleaseBooking
class - Class
comment - String
endsAt - DateTime Expects a date-time to be specified in ISO 8610 format.
expensesInvoiceNumber - String Only present if an expense invoice is filled.
groundTrainingSubject - SubjectCategory Will only be null if the requesting user is not allowed to read it.
id - Id!
instructor - User Will only be null if the requesting user is not allowed to read.
note - String
participations - [TheoryParticipation]!
startsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
subject - String Renamed to note
subjectCategory - SubjectCategory Will only be null if the requesting user is not allowed to read it. Renamed to groundTrainingSubject
Example
{
  "attachments": [Attachment],
  "audit": AuditInfo,
  "booking": TheoryReleaseBooking,
  "class": Class,
  "comment": "abc123",
  "endsAt": "2007-12-03T10:15:30Z",
  "expensesInvoiceNumber": "abc123",
  "groundTrainingSubject": SubjectCategory,
  "id": Id,
  "instructor": User,
  "note": "abc123",
  "participations": [TheoryParticipation],
  "startsAt": "2007-12-03T10:15:30Z",
  "subject": "abc123",
  "subjectCategory": SubjectCategory
}

TheoryReleaseBooking

Description

A booking for a theory release.

Fields
Field Name Description
audit - AuditInfo
class - Class
classroom - Classroom The location (i.e. classroom) in which the booking will take place. Will only be null if the requesting user is not allowed to read it.
comment - String
emailNotifications - Boolean! Whether or not email notifications will be sent to participants when changes are made to the booking.
endsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
id - String!
instructor - User The instructor/examiner slated to oversee the booking. Will only be null if the requesting user is not allowed to read it.
startsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
status - BookingStatusEnum! The current lifecycle status of the booking.
students - [User]! Students slated to participate in the activity.
subject - String
theoryCourse - TheoryCourse Will only be null if the requesting user is not allowed to read it.
Example
{
  "audit": AuditInfo,
  "class": Class,
  "classroom": Classroom,
  "comment": "xyz789",
  "emailNotifications": false,
  "endsAt": "2007-12-03T10:15:30Z",
  "id": "abc123",
  "instructor": User,
  "startsAt": "2007-12-03T10:15:30Z",
  "status": "CANCELLED",
  "students": [User],
  "subject": "abc123",
  "theoryCourse": TheoryCourse
}

TheoryReleaseConnection

Description

The connection type for TheoryRelease.

Fields
Field Name Description
edges - [TheoryReleaseEdge] A list of edges.
nodes - [TheoryRelease] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [TheoryReleaseEdge],
  "nodes": [TheoryRelease],
  "pageInfo": PageInfo
}

TheoryReleaseEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - TheoryRelease The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": TheoryRelease
}

Training

Description

A training registration. Represents a completed Lecture. Not to be confused with a Lecture itself.

Fields
Field Name Description
approvedByStudent - Boolean!
approvedByStudentAt - DateTime
asymmetricSeconds - Int!
audit - AuditInfo
booking - TrainingBookingUnion
briefingSeconds - Int! The duration of the briefing, in seconds.
comment - String
crossCountrySeconds - Int!
debriefingSeconds - Int! The duration of the de-briefing, in seconds.
flights - [Flight]!
id - Id!
ifrDualSeconds - Int!
ifrSimSeconds - Int!
ifrSpicSeconds - Int!
instructor - User The instructor performing the training. Note that if status is NOT_FLOWN or CREDITED, instructor may be null.
instrumentSeconds - Int!
lecture - Lecture
multiSeconds - Int!
name - String!
nightSeconds - Int!
pilotFlyingSeconds - Int!
pilotMonitoringSeconds - Int!
singleSeconds - Int!
status - TrainingStatusEnum!
student - User
submittedByInstructorAt - DateTime
totalSeconds - Int!
userCategories - [UserCategory]
userProgram - UserProgram
vfrDualSeconds - Int!
vfrSimSeconds - Int!
vfrSoloSeconds - Int!
vfrSpicSeconds - Int!
Example
{
  "approvedByStudent": false,
  "approvedByStudentAt": "2007-12-03T10:15:30Z",
  "asymmetricSeconds": 987,
  "audit": AuditInfo,
  "booking": MultiStudentBooking,
  "briefingSeconds": 123,
  "comment": "abc123",
  "crossCountrySeconds": 123,
  "debriefingSeconds": 123,
  "flights": [Flight],
  "id": Id,
  "ifrDualSeconds": 987,
  "ifrSimSeconds": 123,
  "ifrSpicSeconds": 987,
  "instructor": User,
  "instrumentSeconds": 987,
  "lecture": Lecture,
  "multiSeconds": 123,
  "name": "abc123",
  "nightSeconds": 123,
  "pilotFlyingSeconds": 123,
  "pilotMonitoringSeconds": 123,
  "singleSeconds": 987,
  "status": "CREDITED",
  "student": User,
  "submittedByInstructorAt": "2007-12-03T10:15:30Z",
  "totalSeconds": 987,
  "userCategories": [UserCategory],
  "userProgram": UserProgram,
  "vfrDualSeconds": 987,
  "vfrSimSeconds": 123,
  "vfrSoloSeconds": 987,
  "vfrSpicSeconds": 987
}

TrainingBookingUnion

Description

All training booking subtypes.

Example
MultiStudentBooking

TrainingConnection

Description

The connection type for Training.

Fields
Field Name Description
edges - [TrainingEdge] A list of edges.
nodes - [Training] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [TrainingEdge],
  "nodes": [Training],
  "pageInfo": PageInfo
}

TrainingEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - Training The item at the end of the edge.
Example
{
  "cursor": "xyz789",
  "node": Training
}

TrainingStatusEnum

Description

The current state of a training registrations' lifecycle.

Values
Enum Value Description

CREDITED

FAILED

NOT_FLOWN

PASSED

Example
"CREDITED"

TypeQuestionnaire

Description

A type questionnaire registration.

Fields
Field Name Description
attachments - [Attachment]
audit - AuditInfo
booking - TypeQuestionnaireBooking
class - Class
comment - String
endsAt - DateTime Expects a date-time to be specified in ISO 8610 format.
expensesInvoiceNumber - String Only present if an expense invoice is filled.
groundTrainingSubject - SubjectCategory Will only be null if the requesting user is not allowed to read it.
id - Id!
instructor - User Will only be null if the requesting user is not allowed to read.
note - String
participations - [TheoryParticipation]!
startsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
subject - String Renamed to note
subjectCategory - SubjectCategory Will only be null if the requesting user is not allowed to read it. Renamed to groundTrainingSubject
Example
{
  "attachments": [Attachment],
  "audit": AuditInfo,
  "booking": TypeQuestionnaireBooking,
  "class": Class,
  "comment": "abc123",
  "endsAt": "2007-12-03T10:15:30Z",
  "expensesInvoiceNumber": "xyz789",
  "groundTrainingSubject": SubjectCategory,
  "id": Id,
  "instructor": User,
  "note": "xyz789",
  "participations": [TheoryParticipation],
  "startsAt": "2007-12-03T10:15:30Z",
  "subject": "abc123",
  "subjectCategory": SubjectCategory
}

TypeQuestionnaireBooking

Description

A booking for a type questionnaire.

Fields
Field Name Description
audit - AuditInfo
class - Class
classroom - Classroom The location (i.e. classroom) in which the booking will take place. Will only be null if the requesting user is not allowed to read it.
comment - String
emailNotifications - Boolean! Whether or not email notifications will be sent to participants when changes are made to the booking.
endsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
id - String!
instructor - User The instructor/examiner slated to oversee the booking. Will only be null if the requesting user is not allowed to read it.
startsAt - DateTime! Expects a date-time to be specified in ISO 8610 format.
status - BookingStatusEnum! The current lifecycle status of the booking.
students - [User]! Students slated to participate in the activity.
theoryCourse - TheoryCourse Will only be null if the requesting user is not allowed to read it.
Example
{
  "audit": AuditInfo,
  "class": Class,
  "classroom": Classroom,
  "comment": "abc123",
  "emailNotifications": false,
  "endsAt": "2007-12-03T10:15:30Z",
  "id": "xyz789",
  "instructor": User,
  "startsAt": "2007-12-03T10:15:30Z",
  "status": "CANCELLED",
  "students": [User],
  "theoryCourse": TheoryCourse
}

TypeQuestionnaireConnection

Description

The connection type for TypeQuestionnaire.

Fields
Field Name Description
edges - [TypeQuestionnaireEdge] A list of edges.
nodes - [TypeQuestionnaire] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [TypeQuestionnaireEdge],
  "nodes": [TypeQuestionnaire],
  "pageInfo": PageInfo
}

TypeQuestionnaireEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - TypeQuestionnaire The item at the end of the edge.
Example
{
  "cursor": "xyz789",
  "node": TypeQuestionnaire
}

User

Description

A user.

Fields
Field Name Description
audit - AuditInfo
availabilities - UserAvailabilityConnection! User availability events in a given span of time.
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

before - String

Returns the elements in the list that come before the specified cursor.

first - Int

Returns the first n elements from the list.

from - DateTime

If provided, will only fetch events beginning after this point in time. Defaults to beginning of current day.

last - Int

Returns the last n elements from the list.

to - DateTime

If provided, will only fetch events ending before this point in time. Defaults to end of day of from time.

callSign - String!
contact - UserContact
emergencyContact - UserEmergencyContact
firstName - String
flights - FlightConnection! The flights which the user has partaken in.
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

all - Boolean

If true, will also resolve resources that the requesting user is not associated with, provided they have permission.

before - String

Returns the elements in the list that come before the specified cursor.

changedAfter - DateTime

If provided, finds only entries created or updated after this date. Expects a date-time to be specified in ISO 8610 format.

first - Int

Returns the first n elements from the list.

from - DateTime

If provided, finds only entries beginning after the date. Expects a date-time to be specified in ISO 8610 format.

last - Int

Returns the last n elements from the list.

to - DateTime

If provided, finds only entries ending before the date. Expects a date-time to be specified in ISO 8610 format.

id - String!
lastName - String
notes - UserNotes
references - UserReferences
userPrograms - UserProgramConnection user_programs ( user programs )
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

all - Boolean

If true, will also resolve resources that the requesting user is not associated with, provided they have permission.

before - String

Returns the elements in the list that come before the specified cursor.

changedAfter - DateTime

If provided, finds only entries created or updated after this date. Expects a date-time to be specified in ISO 8610 format.

first - Int

Returns the first n elements from the list.

from - DateTime

If provided, finds only entries beginning after the date. Expects a date-time to be specified in ISO 8610 format.

last - Int

Returns the last n elements from the list.

programIds - [Id!]

If provided, will only return trainings for the program with the given ID.

programType - ProgramTypeEnum

If provided, will only return programs of the type given.

status - [UserProgramEnum!]

If provided, will only return when the status is set such as Active, Standby or Completed.

to - DateTime

If provided, finds only entries ending before the date. Expects a date-time to be specified in ISO 8610 format.

userIds - [Id!]

If provided, will only return programs for the user with the given ID.

Example
{
  "audit": AuditInfo,
  "availabilities": UserAvailabilityConnection,
  "callSign": "abc123",
  "contact": UserContact,
  "emergencyContact": UserEmergencyContact,
  "firstName": "xyz789",
  "flights": FlightConnection,
  "id": "abc123",
  "lastName": "abc123",
  "notes": UserNotes,
  "references": UserReferences,
  "userPrograms": UserProgramConnection
}

UserAvailability

Description

A user availability event. Indicates the availability (or unavailability) of a user in a certain timespan.

Fields
Field Name Description
endsAt - DateTime!
startsAt - DateTime!
unavailable - Boolean!
Example
{
  "endsAt": "2007-12-03T10:15:30Z",
  "startsAt": "2007-12-03T10:15:30Z",
  "unavailable": false
}

UserAvailabilityConnection

Description

The connection type for UserAvailability.

Fields
Field Name Description
edges - [UserAvailabilityEdge] A list of edges.
nodes - [UserAvailability] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [UserAvailabilityEdge],
  "nodes": [UserAvailability],
  "pageInfo": PageInfo
}

UserAvailabilityEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - UserAvailability The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": UserAvailability
}

UserCategory

Fields
Field Name Description
exercises - [UserExercise]!
extraExercises - [UserExtraExercise]!
id - Id!
name - String!
Example
{
  "exercises": [UserExercise],
  "extraExercises": [UserExtraExercise],
  "id": Id,
  "name": "abc123"
}

UserConnection

Description

The connection type for User.

Fields
Field Name Description
edges - [UserEdge] A list of edges.
nodes - [User] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [UserEdge],
  "nodes": [User],
  "pageInfo": PageInfo
}

UserContact

Description

Contact information for the user.

Fields
Field Name Description
address - String
city - String
country - String
dateOfBirth - Date Expects a date to be specified in ISO 8610 format.
email - String!
phone - String
zipcode - String
Example
{
  "address": "xyz789",
  "city": "abc123",
  "country": "abc123",
  "dateOfBirth": "2007-12-03",
  "email": "xyz789",
  "phone": "xyz789",
  "zipcode": "abc123"
}

UserEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - User The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": User
}

UserEmergencyContact

Description

Contact information for the emergency contact of a user.

Fields
Field Name Description
address - String
city - String
country - String
dateOfBirth - Date Expects a date to be specified in ISO 8610 format.
email - String
firstName - String
lastName - String
phone - String
relation - String
zipcode - String
Example
{
  "address": "xyz789",
  "city": "abc123",
  "country": "abc123",
  "dateOfBirth": "2007-12-03",
  "email": "abc123",
  "firstName": "xyz789",
  "lastName": "abc123",
  "phone": "xyz789",
  "relation": "abc123",
  "zipcode": "xyz789"
}

UserExercise

Fields
Field Name Description
bestGrade - String
carryForward - Boolean!
comment - String
flagged - Boolean!
grade - String
gradedCompetencies - [GradedCompetency]
id - Id!
name - String!
normGrade - String
Example
{
  "bestGrade": "xyz789",
  "carryForward": false,
  "comment": "abc123",
  "flagged": false,
  "grade": "xyz789",
  "gradedCompetencies": [GradedCompetency],
  "id": Id,
  "name": "abc123",
  "normGrade": "xyz789"
}

UserExtraExercise

Fields
Field Name Description
bestGrade - String
carryForward - Boolean!
comment - String
flagged - Boolean!
grade - String
id - Id!
name - String!
Example
{
  "bestGrade": "xyz789",
  "carryForward": false,
  "comment": "xyz789",
  "flagged": false,
  "grade": "abc123",
  "id": Id,
  "name": "abc123"
}

UserInput

Fields
Input Field Description
address - String
adminNote - String
caaRefNum - String
callSign - String!
city - String
country - String
dateOfBirth - Date
email - String!
firstName - String!
instructorNote - String
lastName - String!
phone - String
placeOfBirth - String
postCode - String
publicNote - String
reference - String External reference. Used to identify the user in external systems/sources.
Example
{
  "address": "abc123",
  "adminNote": "xyz789",
  "caaRefNum": "xyz789",
  "callSign": "xyz789",
  "city": "xyz789",
  "country": "abc123",
  "dateOfBirth": "2007-12-03",
  "email": "abc123",
  "firstName": "abc123",
  "instructorNote": "xyz789",
  "lastName": "abc123",
  "phone": "abc123",
  "placeOfBirth": "abc123",
  "postCode": "abc123",
  "publicNote": "abc123",
  "reference": "xyz789"
}

UserNotes

Description

Note information for the user.

Fields
Field Name Description
adminNote - String
instructorNote - String
publicNote - String
Example
{
  "adminNote": "xyz789",
  "instructorNote": "xyz789",
  "publicNote": "abc123"
}

UserProgram

Description

Represents the link between a User and a Program.

Fields
Field Name Description
assignmentDate - DateTime!
audit - AuditInfo
classTheory - [TheoryParticipation]!
exams - [ExamParticipation]!
id - Id!
name - String!
program - Program
programRevision - ProgramRevision
progressTests - [TheoryParticipation]!
status - String!
theoryReleases - [TheoryParticipation]!
trainings - TrainingConnection training ( user lectures )
Arguments
after - String

Returns the elements in the list that come after the specified cursor.

all - Boolean

If true, will also resolve resources that the requesting user is not associated with, provided they have permission.

before - String

Returns the elements in the list that come before the specified cursor.

changedAfter - DateTime

If provided, finds only entries created or updated after this date. Expects a date-time to be specified in ISO 8610 format.

first - Int

Returns the first n elements from the list.

from - DateTime

If provided, finds only entries beginning after the date. Expects a date-time to be specified in ISO 8610 format.

last - Int

Returns the last n elements from the list.

programIds - [Id!]

If provided, will only return trainings for the program with the given ID.

status - [TrainingStatusEnum!]

If provided, will only return when the status is set such as Passed, failed or Completed.

to - DateTime

If provided, finds only entries ending before the date. Expects a date-time to be specified in ISO 8610 format.

userIds - [Id!]

If provided, will only return trainings associated with user ID

typeQuestionnaires - [TheoryParticipation]!
user - User
Example
{
  "assignmentDate": "2007-12-03T10:15:30Z",
  "audit": AuditInfo,
  "classTheory": [TheoryParticipation],
  "exams": [ExamParticipation],
  "id": Id,
  "name": "xyz789",
  "program": Program,
  "programRevision": ProgramRevision,
  "progressTests": [TheoryParticipation],
  "status": "xyz789",
  "theoryReleases": [TheoryParticipation],
  "trainings": TrainingConnection,
  "typeQuestionnaires": [TheoryParticipation],
  "user": User
}

UserProgramConnection

Description

The connection type for UserProgram.

Fields
Field Name Description
edges - [UserProgramEdge] A list of edges.
nodes - [UserProgram] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [UserProgramEdge],
  "nodes": [UserProgram],
  "pageInfo": PageInfo
}

UserProgramEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - UserProgram The item at the end of the edge.
Example
{
  "cursor": "abc123",
  "node": UserProgram
}

UserProgramEnum

Values
Enum Value Description

ACTIVE

COMPLETED

DISCONTINUED

STANDBY

Example
"ACTIVE"

UserReferences

Description

Reference information for the user.

Fields
Field Name Description
caaRefNum - String
reference - String External reference. Used to identify the user in external systems/sources.
Example
{
  "caaRefNum": "xyz789",
  "reference": "xyz789"
}

UserRoleEnum

Values
Enum Value Description

ADMINISTRATOR

CREW

GUEST

INSTRUCTOR

RENTER

STAFF

STUDENT

Example
"ADMINISTRATOR"

VersionEvent

Description

Fields common to all version events (i.e. creations, updates and deletions).

Fields
Field Name Description
entityId - Id! The id of the entity.
entityType - VersionableEntityEnum! The type of the entity.
eventType - VersionEventTypeEnum! The type of versioning that took place.
happenedAt - DateTime! The point in time at which the event took place. Expects a date-time to be specified in ISO 8610 format.
whoDoneIt - User The instigator of the event.
Possible Types
VersionEvent Types

Deletion

Example
{
  "entityId": Id,
  "entityType": "BOOKING",
  "eventType": "DELETION",
  "happenedAt": "2007-12-03T10:15:30Z",
  "whoDoneIt": User
}

VersionEventTypeEnum

Description

All possible version events that can happen to versionable entities.

Values
Enum Value Description

DELETION

Example
"DELETION"

VersionUnion

Description

Union of possible version changes of entities.

Types
Union Types

Deletion

Example
Deletion

VersionUnionConnection

Description

The connection type for VersionUnion.

Fields
Field Name Description
edges - [VersionUnionEdge] A list of edges.
nodes - [VersionUnion] A list of nodes.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [VersionUnionEdge],
  "nodes": [Deletion],
  "pageInfo": PageInfo
}

VersionUnionEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination.
node - VersionUnion The item at the end of the edge.
Example
{
  "cursor": "xyz789",
  "node": Deletion
}

VersionableEntityEnum

Description

All possible entity types of which version changes can be retrieved.

Values
Enum Value Description

BOOKING

CLASS_THEORY

DUTY_TIME

EXAM

EXTRA_THEORY

FLIGHT

OPERATION

PROGRESS_TEST

RENTAL

THEORY_RELEASE

TRAINING

TYPE_QUESTIONNAIRE

Example
"BOOKING"