Update a schedule

Input Example

Normally a schedule will contain a lot more activities but in this example a schedule containing four activities for aircraft N12345 is uploaded. The first three belongs to the same trip. The trip starts with an empty leg from KMIA to KLAX followed by a passenger flight to KSFO. The trip then ends after the aircraft returns to KMIA the day after. The last activity in the input data is a multi day maintenance at KMIA.

{
  "lift": {
    "aircraftTail": "N12345"
  },
  "activities": [
    {
      "activityId": "a-10001",
      "externalTripId": "t-1001",
      "flightNumber": "",
      "tripId": "",
      "activityType": "EmptyLeg",
      "startAirport": {
        "icao": "KMIA"
      },
      "endAirport": {
        "icao": "KLAX"
      },
      "startDateTime": "2021-03-05T15:00Z",
      "endDateTime": "2021-03-05T20:12Z",
      "paxCount": 0,
      "note": "Positioning to pick up customer",
      "price": 10000,
      "currency": "USD",
      "flightRegulations": "PART_135",
      "flightRegulationsDescription": "Charter flight",
      "marketingStartDateTime": "2021-03-04T18:00Z",
      "marketingEndDateTime": "2021-03-05T20:12Z",
      "marketingVerified": true,
      "marketingMessage": "Good deal!",
      "services": [
        {
          "serviceProviderId": "81766",
          "serviceProviderName": "GROUND ACE",
          "airport": {
            "icao": "KLAX"
          },
          "serviceType": "FBO",
          "serviceFor": "ALL",
          "note": "Our special rates apply",
          "dataSource": "UNIVERSAL"
        },
        {
          "serviceProviderId": "SP8345",
          "serviceProviderName": "Mega Fuel",
          "airport": {
            "icao": "KLAX"
          },
          "serviceType": "FUEL",
          "serviceFor": "OTHER",
          "dataSource": "PROPRIETARY"
        }]
    },
    {
      "activityId": "a-10002",
      "externalTripId": "t-1001",
      "flightNumber": "",
      "tripId": "",
      "activityType": "PassengerFlight",
      "startAirport": {
        "icao": "KLAX"
      },
      "endAirport": {
        "icao": "KSFO"
      },
      "startDateTime": "2021-03-05T21:00Z",
      "endDateTime": "2021-03-05T22:02Z",
      "paxCount": 1,
      "note": "Customer will bring two dogs.",
      "flightRegulations": "PART_135",
      "flightRegulationsDescription": "Charter flight"
    },
    {
      "activityId": "a-10003",
      "externalTripId": "t-1001",
      "flightNumber": "",
      "tripId": "",
      "activityType": "Positioning",
      "startAirport": {
        "icao": "KSFO"
      },
      "endAirport": {
        "icao": "KMIA"
      },
      "startDateTime": "2021-03-06T17:00Z",
      "endDateTime": "2021-03-06T22:43Z",
      "paxCount": 0,
      "flightRegulations": "PART_135",
      "flightRegulationsDescription": "Charter flight"
    },
    {
      "activityId": "a-10004",
      "externalTripId": "t-1004",
      "flightNumber": "",
      "tripId": "",
      "activityType": "Maintenance",
      "startAirport": {
        "icao": "KMIA"
      },
      "endAirport": {
        "icao": "KMIA"
      },
      "startDateTime": "2021-03-07T16:00Z",
      "endDateTime": "2021-03-18T02:00Z",
      "paxCount": 0
    }
  ]
}

Output Example

The JSON returned by this operation can contain errors and warnings. If it contains errors then the entire call failed and the existing schedule data in the Avinode Marketplace was not updated. If it contains only warnings then the schedule data in the Avinode Marketplace was updated. Only the data for the activity generating the warning will be affected, so any activities not generating any warnings will always be successfully uploaded. Depending on the severity of the warning the activity might still be included but for some warnings the activity will be omitted.

The status and output from the last call for each aircraft should be made available to the users of the application calling this operation. This to facilitate that the necessary corrections can be made as quickly as possible.

{
  "meta": {
    "errors": [],
    "warnings": [],
    "infos": []
  },
  "data": {
    "type": "schedules"
  }
}

Retry Policy

If a call to this operation fails, no retries should be done. The application should just wait until it is time for the the next periodic call.

🚧

Invalid airport codes handling

Avinode checks airport codes against current industry official records, but sometimes airport codes change or an invalid value is sent. In this case the schedule will still be updated, i.e. Avinode will not terminate the operation, but the invalid airport code for either startAirport or endAirport will be replaced by the aircraft homebase.

The HTTP status code HTTP 200 + Errors will be returned with an error message including information on which schedule activity and airport code caused the error.

The error should be flagged to the user and handled accordingly to avoid any schedule discrepancies.

Language
Authorization
Header
URL
Click Try It! to start a request and see the response here!