Important
The requestId used as path param is either:
- A lift Id - using this will make the quote a reply to the specific lift in the RFQ. If the RFQ contains other requested lifts, not yet declined or quoted, then these will still be considered unanswered.
- An RFQ Id - using this will add an additional quote to the RFQ.
Quote accept message
When submitting a quote using POST /tripmsgs/{requestId}/submitQuote there is the possibility to add a custom accept message, to be displayed to the buyer. If no message text is provided in the API input, Avinode will fall back to using the operator's default accept message text as configured in the company settings in Avinode.

Input example of an accept message to the buyer
Remember the username
This operation supports sending an Avinode user account login in the header "X-Avinode-ActAsAccount". Sending a username/login will let the broker see the corresponding first and last name of the sales person in the Avinode Trips pages, as well as in the reply emails, for a more personal touch.
When not sending this header the system will default to display the company name instead.
Read more about this request header here.
{
"message": "We are pleased to give you the following offer. /Maria",
"suppressNotification": false,
"quote": {
"segments": [{
"startAirport": {
"icao": "ESGG"
},
"endAirport": {
"icao": "EGGW"
},
"dateTime": {
"date": "2019-08-17",
"time": "05:30",
"departure": true,
"local": false
},
"paxCount": "0",
"paxSegment": false,
"showToBuyer": false,
"distanceNM": 602,
"blockTimeMinutes": 100,
"flightMinutes": 90
},
{
"startAirport": {
"icao": "EGGW"
},
"endAirport": {
"icao": "LFPB"
},
"dateTime": {
"date": "2019-08-17",
"time": "08:00",
"departure": true,
"local": false
},
"paxCount": "2",
"paxSegment": true,
"showToBuyer": true,
"distanceNM": 207,
"blockTimeMinutes": 53,
"flightMinutes": 43
},
{
"startAirport": {
"icao": "LFPB"
},
"endAirport": {
"icao": "ESGG"
},
"dateTime": {
"date": "2019-08-17",
"time": "11:00",
"departure": true,
"local": false
},
"paxCount": "0",
"paxSegment": false,
"showToBuyer": false,
"distanceNM": 679,
"blockTimeMinutes": 118,
"flightMinutes": 108
}
],
"lift": {
"aircraftTail": "N12345",
"aircraftType": "",
"aircraftCategory": ""
},
"messageForBuyer": "Price does not include de-icing.",
"currencyCode": "EUR",
"sellerUniqueQuoteIdentifier": "Q#18272",
"totalPrice": 15100,
"lineItems": [{
"visibleToBuyer": false,
"displayName": "One quote line item",
"description": "A description of the line item",
"type": "FLT",
"price": 5100,
"formattedUnitPrice": "5100",
"formattedQuantity": "1"
},
{
"visibleToBuyer": true,
"displayName": "Another quote line item",
"description": "A description of the line item",
"type": "",
"price": 10000,
"formattedUnitPrice": "2500",
"formattedQuantity": "4"
}
],
"attachments": [{
"mimeType": "application/pdf",
"name": "Quote123.pdf",
"type": "Quote",
"uri": "https://sandbox.avinode.com/marketplace/mvc/resource/quote/attachment/Quote123.pdf",
"data": "abc123!?$*&()'-=@~.......",
"temporaryAttachmentId": "string"
}]
}
}
Floating Fleet quoting options
With the addition of Floating Fleet support, the Avinode API is now able to allow quoting on a category or type of aircraft instead of, as previously, only on a tail. This will give you greater flexibility and control over how to structure, and use, the data available through the Avinode API. See example below:
Important!
Depending on the API Setting selected for the aircraft group in Avinode (quoting on category, type or tail), you need to make sure to quote on the same level in your application, to avoid any unexpected behaviour.
{
"message": "Hey, this is the price we offer. /Em",
"suppressNotification": false,
"quote": {
"segments": [{
"startAirport": {
"icao": "LFPB"
},
"endAirport": {
"icao": "LEMD"
},
"dateTime": {
"date": "2022-05-17",
"time": "09:00",
"departure": true,
"local": true
},
"paxCount": "2",
"paxSegment": true,
"paxTBD": true,
"timeTBD": true,
"departureDateTimeCalculated": true,
"arrivalDateTimeCalculated": true,
"showToBuyer": true,
"distanceNM": 340,
"blockTimeMinutes": 71,
"flightMinutes": 80,
"fuelStopTimeMinutes": 0,
"fuelStopCount": 0
}],
"lift": {
"aircraftCategory": "",
"aircraftType": "Global Express",
"aircraftTail": ""
},
"messageForBuyer": "This is our quote for one of our Global Express aircraft",
"currencyCode": "EUR",
"totalPrice": 17777,
"lineItems": [{
"visibleToBuyer": false,
"displayName": "One quote line item",
"description": "A description of the line item",
"type": "FLT",
"price": 10000,
"formattedUnitPrice": "5000",
"formattedQuantity": "2"
},
{
"visibleToBuyer": true,
"displayName": "Another quote line item",
"description": "A description of the line item",
"type": "",
"price": 7777,
"formattedUnitPrice": "7777",
"formattedQuantity": "1"
}
],
"attachments": [{
"mimeType": "application/pdf",
"name": "Quote123.pdf",
"type": "Quote",
"uri": "https://sandbox.avinode.com/marketplace/mvc/resource/quote/attachment/Quote123.pdf",
"data": "abc123!?$*&()'-=@~.......",
"temporaryAttachmentId": "string"
}]
}
}
Output
The calling application should:
- Make sure the returned tripmsgs.id is associated with the sent message stored in the application’s data model.
- Make sure the returned sellerQuote.id is associated with the quote stored in the application’s data model.
- Make sure the lift.id is associated with the booked flight activity in your availability upload (activity.tripId). See operation PUT /schedules