πŸ”– Quotes & Bookings

/quote

The FL3XX application allows users to create, read and update quote requests,

Every quote includes details such as:

  • the aircraft's tail number,
  • the number of seats,
  • the model, and the type of aircraft
  • departure and arrival airports, dates and times,
  • the number of passengers,
  • and any applicable warnings or restrictions.

In the FL3XX system you will hear used the tow word quotes and bookings

The key difference between a booking and a quote is the level of confirmation. A quote is a preliminary request for pricing and availability information, while a booking is a confirmed reservation. In other words, a quote is simply an estimate of the cost and availability of a product or service, while a booking signifies a commitment to purchase.

Both quotes and bookings are related to the sales module and can have multiple legs, with each leg representing a flight.

Quotes, or quote requests, are connected to the sales module, which deals with the customer, while flights are part of the internal dispatch module, which deals with the operations.

Create quote requests or confirmed quote

POST /api/external/quote & api/external/quote/book

When making a request, users can include the aircraft's tail number to receive a price calculated by the FL3XX application. Note: This price has not yet been approved by the operator's sales team.If the tail number is omitted from the request, the response will include the details of the request but the price will be set to 0.

It is important to save the externalReference provided in the response, as it will be needed later to retrieve or modify the quote.

Create a quote request

Read quote or bookings

Read the list of bookings or a specific one

GET api/external/quote/bookings & api/external/quote/{reference}

Booking Status Legend

R – New Request
a – New Avinode Request
W – New Web Request
Q – Quote (= Request that has been answered)
A – Accepted Quote
O – Owner’s Approval pending (if applicable)
S - Signed
B – Booking
F – Flights pending (everything else is done)
C – Canceled Quote/ Booking
D – Dropped (when the flights of an unanswered Request are in the past, the Request is Dropped automatically)

External Reference / Booking ID

Every booking in our system is assigned a unique reference number, which can be used to retrieve the booking information at a later stage.

This reference number is created automatically when a quote is generated through the FL3XX API, and is referred to as the "externalReference".

Alternatively, you can choose to provide your own unique externalReference in the payload when posting a booking.

If you are using the FL3XX webapp to make a booking, the system will use the "bookingid" as the internal reference for the booking.

Example of Booking Made via FL3XX API

{
  "externalReference": "b4cfb7ad-8d94-4ae8-8926-b9931590ec36",
  "aircraft": "MS1G45",
  "aircraftObj": {
    ...

Example of Booking Made via FL3XX Web APP


{
  "aircraft": "N-TAIL",
  "aircraftObj": {
    "tailNumber": "N-TAIL",
    "numberOfSeats": 7,
    "type": "C25A",
    "model": "Citation CJ2",
    "typeName": "Citation CJ2+",
    "homebase": null,
    "equipment": null,
    "wingSpan": 0.0,
    "maxFuel": 0.0,
    "externalLength": 0.0,
    "externalHeight": 0.0,
    "cabinHeight": null,
    "cabinLength": null,
    "cabinWidth": null,
    "category": "LIGHT_JET",
    "keyAccountManager": null,
    "flightNumberToken": null,
    "subcharter": null,
    "cargo": null,
    "ambulance": null,
    "id": 2065,
    "aircraftName": "Citation CJ2+",
    "aocNumber": "123",
    "status": "ACTIVE",
    "manufacturingDate": 2014,
    "refurbishedInt": null,
    "refurbished": null,
    "cabinCrew": 0,
    "bedsN": null,
    "beltedToilet": null,
    "ownersApprovalRequired": true
  },
  "legs": [
    {
      "id": "184089",
      "departureAirport": "CYYC",
      "arrivalAirport": "CYOW",
      "arrivalDate": "2022-01-14T15:51",
      "arrivalDateUTC": "2022-01-14T20:51",
      "departureDate": "2022-01-14T09:00",
      "departureDateUTC": "2022-01-14T16:00",
      "pax": 2,
      "departureAirportObj": {
        "icao": "CYYC",
        "iata": "YYC",
        "name": "Calgary",
        "faa": null,
        "aid": "APT-4MPB-X5XC",
        "id": 14342
      },
      "arrivalAirportObj": {
        "icao": "CYOW",
        "iata": "YOW",
        "name": "Ottawa Macdonald–Cartier International Airport",
        "faa": null,
        "aid": "APT-6Q25-922T",
        "id": 14209
      },
      "warnings": [
        {
          "type": "FUEL_STOP"
        },
        {
          "type": "AIRPORT_OPENING_HOURS_RESTRICTED"
        },
        {
          "type": "AIRPORT_OPENING_HOURS_RESTRICTED"
        }
      ],
      "flightTime": 275,
      "blockTime": 291,
      "flightInfo": {
        "dossierNumber": null,
        "referenceNumber": null,
        "flightType": null,
        "flightId": 27398
      },
      "crew": [],
      "aircraft": "N-TAIL",
      "distance": 1554.0945,
      "postFlightClosed": false,
      "status": "OK"
    }
  ],
  "customer": {
    "internalId": 106022,
    "firstName": "Albert",
    "lastName": "Tester",
    "logName": "d7520a4b-d855-45db-9746-382c218c77e5",
    "salutation": "Mr",
    "account": {
      "name": "Stack.aero Travel",
      "accountid": 23907,
      "links": []
    },
    "gender": "MALE",
    "status": "ACTIVE",
    "links": []
  },
  "price": {
    "charterCost": 0.00,
    "gross": 20.00,
    "net": 20.00,
    "vat": 0.00,
    "fet": 0.00,
    "tax": 12.00,
    "vatPerc": 0.00,
    "currency": "USD",
    "exchangeRate": 1
  },
  "accountPrice": {
    "charterCost": 0.00,
    "gross": 25.44,
    "net": 25.44,
    "vat": 0.00,
    "fet": 0.00,
    "tax": 15.26,
    "vatPerc": 0.00,
    "currency": "CAD",
    "exchangeRate": 1.271805000000000000000000000000000000
  },
  "quoteNumber": "A-BE22-009492",
  "status": "B",
  "bookingIdentifier": "QUUGJ",
  "bookingid": 71054,
  "workflow": "CHARTER",
  "workflowCustomName": "Charter",
  "origin": "EMAIL",
  "salesPerson": {
    "internalId": 78562,
    "firstName": "Simon",
    "lastName": "McRiha",
    "logName": "simon.test",
    "acronym": "SMC",
    "salutation": "Mr",
    "gender": "MALE",
    "birthDate": "1975-05-09",
    "birthPlace": "Mosta",
    "status": "ACTIVE",
    "links": []
  },
  "createdDate": 1641558580967,
  "postFlightClosed": false,
  "links": []
}

Workflow types

  • COMMERCIAL
  • MAINTENANCE
  • PRIVATE
  • TRAINING
  • OWNER
  • INTERNAL
  • RESERVED
  • CHARTER
  • SUBCHARTER
  • SCHEDULED
  • AMBULANCE
  • CUSTOM1, CUSTOM2, CUSTOM3, CUSTOM4, CUSTOM5, CUSTOM6
  • BROKER

Origin Types

  • AVINODE, used for booking incoming from Avinode
  • FAX & EMAIL, if booking comes from emails
  • PHONE, booking from the Smartphone app
  • WEB, Usually used for external API
  • EXTERNAL_DISPATCH, IMPORT Imported of external applications
  • DISPATCH From internal dispatch