Change | SubmitChange

Submits a change request for an existing booking. Within a single change workflow, changeType, changeReason, and updatedSegments must remain the same. If different passengers require different changes, submit separate change requests.

For voluntary date change confirmation, if SearchDateChangeOptions is used, partners should pass searchId, routingKey, and fareKey from its response to create the change order. In this flow, pricing information and updated itinerary information are derived by the system based on the selected keys, so they do not need to be submitted again.

If SearchDateChangeOptions is not used, partners can still submit the change request directly using the original pricing / quotation workflow. In this case, updatedSegments must be provided.

Notice:
Product Scope: FareMarket and TechHub

POST

/flight/change

Parameter

Field Mandatory Type Scope Description
action required String SubmitChange
key required String API security key applied from AeroHub.
signature required String Refer to the Guidelines for generation.
timestamp required Int The timestamp field should be a 10-digit Unix timestamp in seconds, used for encryption and data verification.
version optional String API version information, e.g. 3.2.0.
request required Object
  orderNum required String Original order number generated by the Booking API Commit operation.
  changeType required String Type of change request:
VOLUNTARY: Voluntary change requested by the customer.
INVOLUNTARY: Involuntary change caused by airline or operational reasons.
INFORMATION_UPDATER: Passenger information update.
OTHER: Other reason.
Refer to appendix ‘Change Type List’ for details.
  changeReason optional String Reason for the change request:
FLIGHT_CHANGE: flight change
FLIGHT_CANCEL: flight cancel
OTHER: other reasons
This field is required when changeType is INVOLUNTARY.
Refer to appendix ‘Change Reason List’ for details.
  searchId optional String Unique ID returned by SearchDateChangeOptions. Required when confirming a flight option returned by SearchDateChangeOptions. Not required for partners using the original pricing / quotation workflow.
  routingKey optional String Unique key information for a routing returned by SearchDateChangeOptions. Required when confirming a flight option returned by SearchDateChangeOptions. Not required for partners using the original pricing / quotation workflow.
  fareKey optional String Unique key information for a fare returned by SearchDateChangeOptions. Required when confirming a flight option returned by SearchDateChangeOptions. Not required for partners using the original pricing / quotation workflow.
  passengers required Object[] Passenger information for change.
    originalPassengers required Object Original passenger information.
      firstName required String Passenger first name. If there is a middle name, connect it with a space like firstname middlename.
      lastName required String Passenger last name.
      ageType required Int Passenger type:
0: adult
1: child
2: infant
      birthday optional String Birthday, formatted as YYYYMMDD.
    updatedPassengers optional Object Updated passenger information. This field is required when changeType is INFORMATION_UPDATER.
      firstName required String Passenger first name. If there is a middle name, connect it with a space like firstname middlename.
      lastName required String Passenger last name.
      ageType required Int Passenger type:
0: ADT (Adult)
1: CHD (Child)
2: INF (Infant)
      birthday optional String Passenger birthday, formatted as YYYYMMDD.
      gender required String Passenger gender:
M: male
F: female
      nationality optional String Passenger nationality, 2-letter country code.
      cardNum optional String Passenger identity number, maximum 15 characters.
      cardExpired optional String Expiration date of the identity card, formatted as YYYYMMDD.
  segments optional Object[] Itinerary information for change. This field is required only when partners use the original pricing / quotation workflow and do not use SearchDateChangeOptions. When searchId + routingKey + fareKey are provided, the system derives the itinerary from the selected keys, so this field should be omitted.
    originalSegments required Object[] Original itinerary information.
      flightNumber required String Flight number, e.g. CA123.
      depAirport required String Departure airport, IATA 3-letter code.
      arrAirport required String Arrival airport, IATA 3-letter code.
    updatedSegments required Object[] Updated itinerary information. Required only when partners use the original pricing / quotation workflow and do not use SearchDateChangeOptions.
      flightNumber required String Flight number, e.g. CA123.
      depAirport required String Departure airport, IATA 3-letter code.
      arrAirport required String Arrival airport, IATA 3-letter code.
      newDepartureDate required String New departure date, formatted as YYYYMMDD.
      depTime optional String Departure date and time, formatted as YYYYMMDDHHMM. E.g. 201203100315 represents 2012/03/10 03:15.
      arrTime optional String Arrival date and time, formatted as YYYYMMDDHHMM. E.g. 201203101305 represents 2012/03/10 13:05.
  notificationEmail optional String Email address for receiving updates and status for change, one-time valid. If none is specified, the mailbox in the configuration file will be used.
  customerRemark optional String Customer remarks.
  attachments optional Object[] Attachment. This field is required when changeType is INFORMATION_UPDATER. Supported file types: JPG, JPEG, PNG, PDF. Maximum single file size: 10 MB.
    name required String File name with extension.
    url required String This field uses the url returned by the UploadAttachment interface.

Request_Example(Using SearchDateChangeOptions):

{
    "action": "SubmitChange",
    "key": "n93mPT7WzN6cLKC2",
    "signature": "YhQ2EoBQOfOnf/EOnuuuK5i+K+ncydeQhjFpoXYiEMo=",
    "timestamp": 1685116516,
    "version": "3.2.0",
    "request": {
        "orderNum": "1234567890",
        "changeType": "VOLUNTARY",
        "searchId": "dc47c40c43783d1608bbf8d667486257ac",
        "routingKey": "17732848903794181",
        "fareKey": "farekey-outbound-001",
        "passengers": [
            {
                "originalPassengers": {
                    "firstName": "John",
                    "lastName": "Doe",
                    "ageType": 0,
                    "birthday": "19900101"
                }
            },
            {
                "originalPassengers": {
                    "firstName": "Tom",
                    "lastName": "Doe",
                    "ageType": 1,
                    "birthday": "20160101"
                }
            }
        ],
        "notificationEmail": "example@example.com",
        "customerRemark": "Please process this rescheduling as soon as possible."
    }
}

Request_Example(Original pricing / quotation workflow):

{
    "action": "SubmitChange",
    "key": "n93mPT7WzN6cLKC2",
    "signature": "YhQ2EoBQOfOnf/EOnuuuK5i+K+ncydeQhjFpoXYiEMo=",
    "timestamp": 1685116516,
    "version": "3.2.0",
    "request": {
        "orderNum": "1234567890",
        "changeType": "VOLUNTARY",
        "passengers": [
            {
                "originalPassengers": {
                    "firstName": "John",
                    "lastName": "Doe",
                    "ageType": 0,
                    "birthday": "19900101"
                }
            }
        ],
        "segments": [
            {
                "originalSegments": [
                    {
                        "flightNumber": "AI133",
                        "depAirport": "LHR",
                        "arrAirport": "BOM"
                    },
                    {
                        "flightNumber": "AI2356",
                        "depAirport": "BOM",
                        "arrAirport": "BLR"
                    }
                ],
                "updatedSegments": [
                    {
                        "flightNumber": "AI132",
                        "depAirport": "LHR",
                        "arrAirport": "BOM",
                        "newDepartureDate": "20260522",
                        "depTime": "202605221130",
                        "arrTime": "202605230045"
                    },
                    {
                        "flightNumber": "AI2356",
                        "depAirport": "BOM",
                        "arrAirport": "BLR",
                        "newDepartureDate": "20260523",
                        "depTime": "202605231000",
                        "arrTime": "202605231145"
                    }
                ]
            }
        ],
        "notificationEmail": "example@example.com",
        "customerRemark": "Please process this rescheduling as soon as possible."
    }
}

Request_Example(Passenger information update):

{
    "action": "SubmitChange",
    "key": "n93mPT7WzN6cLKC2",
    "signature": "YhQ2EoBQOfOnf/EOnuuuK5i+K+ncydeQhjFpoXYiEMo=",
    "timestamp": 1685116516,
    "version": "3.2.0",
    "request": {
        "orderNum": "1234567890",
        "changeType": "INFORMATION_UPDATER",
        "passengers": [
            {
                "originalPassengers": {
                    "firstName": "Jhon",
                    "lastName": "Doe",
                    "ageType": 0,
                    "birthday": "19900101"
                },
                "updatedPassengers": {
                    "firstName": "John",
                    "lastName": "Doe",
                    "ageType": 0,
                    "birthday": "19900101",
                    "gender": "M",
                    "nationality": "IN",
                    "cardNum": "P12345678",
                    "cardExpired": "20300101"
                }
            }
        ],
        "attachments": [
            {
                "name": "passport.jpg",
                "url": "http://cdn.letsflytech.com/upload%2F2025121811%2F2025121811_0.JPG"
            }
        ],
        "notificationEmail": "example@example.com",
        "customerRemark": "Please update passenger document information."
    }
}

Response

Field Type Description
status Int 0: Succeeded
Others: Failed
Refer to Status Code below for details.
msg String Return message, maximum 64 characters.
changeNum String Change order number.

Success-Response:

{
  "status": 0,
  "msg": "Success",
  "changeNum": "C20241018101144760"
}

Status Code

Name Description
7700 Order does not exist
7701 Passenger does not exist
7702 The rescheduling for {firstName/lastName} is already in progress.
7703 Failed to create a change

Error-Response

{
    "status": 1000,
    "msg": "General system error"
}
Author:AeroHub  Create time:2026-03-11 18:16
Last editor:admin  Update time:2026-03-19 18:20