APIv4 - No longer Supported (Discontinued)

The purpose of this article is to provide information regarding the use of APIv4.

The API reference documentation is available here: amelia APIv4.chm. Note that you may see a security warning when you download and run this file. This is normal. The file has been produced by InteliSys so you may proceed.

Table of Contents

Session Service

Logon

Logon Request

The following is an example of a logon request:

   <soapenv:Body>
      <tem:Logon>
         <tem:request>
            <int:AmeliaPassword>password</int:AmeliaPassword>
            <int:AmeliaUsername>username</int:AmeliaUsername>
         </tem:request>
      </tem:Logon>
   </soapenv:Body>

Logon Response

The following is an example of the response from a logon response:

   <s:Body>
      <LogonResponse xmlns="http://tempuri.org/">
         <LogonResult xmlns:a="http://schemas.datacontract.org/2004/07/InteliSys.amelia.API" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <a:AuditKey>baf728f4-1369-45ca-b958-86788a1b89de</a:AuditKey>
            <a:SessionToken>d4f8b6282c65473983db89ef321f382c</a:SessionToken>
            <a:OperationMessage/>
            <a:OperationResultCode>0</a:OperationResultCode>
            <a:OperationSucceeded>true</a:OperationSucceeded>
            <a:OperationUID>baf728f4-1369-45ca-b958-86788a1b89de</a:OperationUID>
            <a:ApiAccessPermissions>
               <a:ApiProcessPermission>
                  <a:Allow>true</a:Allow>
                  <a:ApiSecurityProcess>Boarding</a:ApiSecurityProcess>
               </a:ApiProcessPermission>
               <a:ApiProcessPermission>
                  <a:Allow>true</a:Allow>
                  <a:ApiSecurityProcess>EditRes</a:ApiSecurityProcess>
               </a:ApiProcessPermission>
            </a:ApiAccessPermissions>
            <a:UserPreferences>
               <a:ClosestAirport xmlns:b="http://schemas.datacontract.org/2004/07/InteliSys.amelia">
                  <b:Code>SGN</b:Code>
                  <b:Id>2</b:Id>
                  <b:Name>Ho Chi Minh</b:Name>
               </a:ClosestAirport>
               <a:Country xmlns:b="http://schemas.datacontract.org/2004/07/InteliSys.amelia">
                  <b:Code>VNM</b:Code>
                  <b:Id>234</b:Id>
                  <b:Name>Vietnam</b:Name>
               </a:Country>
               <a:Province xmlns:b="http://schemas.datacontract.org/2004/07/InteliSys.amelia">
                  <b:Code>SGN</b:Code>
                  <b:Id>10241</b:Id>
                  <b:Name>Ho Chi Minh City</b:Name>
               </a:Province>
               <a:ZuluToLocalSummerAdjustment>7</a:ZuluToLocalSummerAdjustment>
               <a:ZuluToLocalWinterAdjustment>7</a:ZuluToLocalWinterAdjustment>
            </a:UserPreferences>
         </LogonResult>
      </LogonResponse>
   </s:Body>

Things to consider

In order to run any of the APIv4 requests, you will need to 'Logon' and get a valid session token.

The following example will demonstrate this using SoapUI:

  1. Run the logon request passing in valid amelia credentials
  2. In the response, copy of the SessionToken value
3. Click the APIv4 testing project in the right hand panel
4. In the lower window, select the 'Custom Properties' tab
5. Place the value for SessionToken in the project variable 'SessionToken'

You will now be able to run all requests.

The session token must be passed in all APIv4 requests within the <int:SessionToken> tag.

Logoff

Logoff Request

The following is an example of a 'Logoff' request:

   <soapenv:Body>
      <tem:Logoff>
         <tem:request>
            <int:SessionToken>${#Project#SessionToken}</int:SessionToken>
         </tem:request>
      </tem:Logoff>
   </soapenv:Body>

Things to consider

Running the above request will kill whichever session belongs to the session token you currently have in the 'SessionToken' project variable.

Logoff Response

The following in a sample response that would be returned from running the 'Logoff' operation:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <LogoffResponse xmlns="http://tempuri.org/"/>
   </s:Body>
</s:Envelope>

Boarding Service

GetFlightWatchDetails

GetFlightWatchDetails Sample Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/" xmlns:int="http://schemas.datacontract.org/2004/07/InteliSys.amelia.API">
    <soapenv:Body>
      <tem:GetFlightWatchDetails>
         <tem:request>
            <int:SessionToken>${#Project#SessionToken}</int:SessionToken>
            <int:ArrivalAirportCode>YUL</int:ArrivalAirportCode>
            <int:DepartureAirportCode>YYZ</int:DepartureAirportCode>
            <int:ETD_EndRange>2015-10-27</int:ETD_EndRange>
            <int:ETD_StartRange>2015-10-25</int:ETD_StartRange>
            <int:FlightNumber>JF888</int:FlightNumber>
            <int:UseLocalTimes>true</int:UseLocalTimes>
         </tem:request>
      </tem:GetFlightWatchDetails>
   </soapenv:Body>
</soapenv:Envelope>
GetFlightWatchDetails Sample Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <GetFlightWatchDetailsResponse xmlns="http://tempuri.org/">
         <GetFlightWatchDetailsResult xmlns:a="http://schemas.datacontract.org/2004/07/InteliSys.amelia.API" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <a:AuditKey>add82b9b-fde7-4af3-a7c8-afc1372ba9d8</a:AuditKey>
            <a:SessionToken i:nil="true"/>
            <a:OperationMessage>OK</a:OperationMessage>
            <a:OperationResultCode>0</a:OperationResultCode>
            <a:OperationSucceeded>true</a:OperationSucceeded>
            <a:OperationUID>add82b9b-fde7-4af3-a7c8-afc1372ba9d8</a:OperationUID>
            <a:Details xmlns:b="http://schemas.datacontract.org/2004/07/InteliSys.amelia">
               <b:Items>
                  <b:FlightWatchItem>
                     <b:ACModel>Q30</b:ACModel>
                     <b:ArrivalAirport>
                        <b:Code>YUL</b:Code>
                        <b:Id>10</b:Id>
                        <b:Name>Montréal–Pierre Elliott Trudeau International Airport</b:Name>
                     </b:ArrivalAirport>
                     <b:ArrivalDelay>0</b:ArrivalDelay>
                     <b:Capacity>30</b:Capacity>
                     <b:DepartureAirport>
                        <b:Code>YYZ</b:Code>
                        <b:Id>5</b:Id>
                        <b:Name>Toronto Pearson International Airport</b:Name>
                     </b:DepartureAirport>
                     <b:DepartureDelay>0</b:DepartureDelay>
                     <b:ETA_Local>2015-10-26T19:30:00</b:ETA_Local>
                     <b:ETA_Zulu>2015-10-26T23:30:00</b:ETA_Zulu>
                     <b:ETD_Local>2015-10-26T17:00:00</b:ETD_Local>
                     <b:ETD_Zulu>2015-10-26T21:00:00</b:ETD_Zulu>
                     <b:FlightNumber>JF888</b:FlightNumber>
                     <b:FlightStatus>Cancelled</b:FlightStatus>
                     <b:FlightType>S</b:FlightType>
                     <b:In_Local>2015-10-26T19:30:00</b:In_Local>
                     <b:In_Zulu>2015-10-26T23:30:00</b:In_Zulu>
                     <b:LegNumber>1</b:LegNumber>
                     <b:Off_Local>2015-10-26T17:00:00</b:Off_Local>
                     <b:Off_Zulu>2015-10-26T21:00:00</b:Off_Zulu>
                     <b:On_Local>2015-10-26T19:30:00</b:On_Local>
                     <b:On_Zulu>2015-10-26T23:30:00</b:On_Zulu>
                     <b:Out_Local>2015-10-26T17:00:00</b:Out_Local>
                     <b:Out_Zulu>2015-10-26T21:00:00</b:Out_Zulu>
                     <b:ScheduledETA_Local>2015-10-26T19:30:00</b:ScheduledETA_Local>
                     <b:ScheduledETA_Zulu>2015-10-26T23:30:00</b:ScheduledETA_Zulu>
                     <b:ScheduledETD_Local>2015-10-26T17:00:00</b:ScheduledETD_Local>
                     <b:ScheduledETD_Zulu>2015-10-26T21:00:00</b:ScheduledETD_Zulu>
                     <b:SkedDetailID>1324578</b:SkedDetailID>
                     <b:TailNumber/>
                  </b:FlightWatchItem>
               </b:Items>
            </a:Details>
         </GetFlightWatchDetailsResult>
      </GetFlightWatchDetailsResponse>
   </s:Body>
</s:Envelope>

EditRes Service

GetReservationCharges

GetReservationCharges Request

The following is an example GetReservationCharges request:

    <soapenv:Body>
      <tem:GetReservationCharges>
         <tem:request>
            <int:SessionToken>${#Project#SessionToken}</int:SessionToken>
            <int:IncludeHistorical>true</int:IncludeHistorical>  
            <int:ReservationNumber>14825998</int:ReservationNumber>  
         </tem:request>
      </tem:GetReservationCharges>
   </soapenv:Body>

Things to consider


  • IncludeHistorical should be set to true if you wish to see historical charges
  • Request will fail if the reservation is canceled or if the passenger is T.B.A.

GetReservationCharges Response

The following is a breakdown of the GetReservationCharges response:

             <a:ReservationCharges xmlns:b="http://schemas.datacontract.org/2004/07/InteliSys.amelia">
               <b:IsGroupBooking>false</b:IsGroupBooking>
               <b:LegCharges>
                  <b:LegCharge>
                     <b:ArrivalAirportCode>DLI</b:ArrivalAirportCode>
                     <b:ArrivalAirportName>Da Lat</b:ArrivalAirportName>
                     <b:DepartureAirportCode>HAN</b:DepartureAirportCode>
                     <b:DepartureAirportName>Ha Noi</b:DepartureAirportName>
                     <b:LegNumber>1</b:LegNumber>
                     <b:PaxCharges>
                        <b:PaxCharge>
                           <b:ChargeDescription>Airport Tax Domestic</b:ChargeDescription>
                           <b:ChargesDated>2015-05-29T18:04:00</b:ChargesDated>
                           <b:ChargesTypeCode>1</b:ChargesTypeCode>
                           <b:CurrencyCharge>
                              <b:Amount>60000</b:Amount>
                              <b:Currency>
                                 <b:Code>VND</b:Code>
                                 <b:Description>Vietnam Dong</b:Description>
                                 <b:ExchangeRate>1</b:ExchangeRate>
                                 <b:Format>#,##0 VND</b:Format>
                                 <b:Id>0</b:Id>
                              </b:Currency>
                              <b:Discount>0</b:Discount>
                              <b:Taxes>0</b:Taxes>
                              <b:Total>60000</b:Total>
                           </b:CurrencyCharge>
                           <b:FirstName>CASSIDY</b:FirstName>
                           <b:LastName>COLLINGS</b:LastName>
                           <b:LegNumber>1</b:LegNumber>
                           <b:MiddleName/>
                           <b:ResPaxId>14793924</b:ResPaxId>
                           <b:TaxDetails>
                              <b:CurrencyId>3</b:CurrencyId>
                              <b:CurrencyName>Vietnam Dong</b:CurrencyName>
                              <b:Id>2</b:Id>
                              <b:Name>Tax Exempt</b:Name>
                              <b:Taxes>
                                 <b:TaxElement>
                                    <b:Include>true</b:Include>
                                    <b:Name>Tax 1</b:Name>
                                    <b:Percentage>0</b:Percentage>
                                 </b:TaxElement>
                                 <b:TaxElement>
                                    <b:Include>false</b:Include>
                                    <b:Name>Tax 2</b:Name>
                                    <b:Percentage>0</b:Percentage>
                                 </b:TaxElement>
                                 <b:TaxElement>
                                    <b:Include>false</b:Include>
                                    <b:Name>Tax 3</b:Name>
                                    <b:Percentage>0</b:Percentage>
                                 </b:TaxElement>
                              </b:Taxes>
                           </b:TaxDetails>
                           <b:ChargesNote/>
                           <b:IsHistoricalData>false</b:IsHistoricalData>
                           <b:IsRefundable>true</b:IsRefundable>
                        </b:PaxCharge>

Things to consider


  • The LegCharge node contains charges for that leg of the reservation
  • The passenger charges are all found in the PaxCharges node

Common Errors


There was an error getting reservation charges: Reservation does not exist.

Occurs when the reservation does not exist in the system.


There was an error getting reservation charges: Reservation is canceled.

Occurs when the reservation exists, but is canceled.


There was an error getting reservation charges: Passenger is T.B.A.

Occurs when the passenger(s) on the reservation is T.B.A.


Access denied: You do not have permission to access reservation charges.

Occurs when the user does not have permission to view reservation charges.

GetChargeOptions

GetChargeOptions Request

The following is an example of a GetChargeOptions request:

    <soapenv:Body>
      <tem:GetChargeOptions>
         <tem:request>
            <int:SessionToken>${#Project#SessionToken}</int:SessionToken>
            <int:ReservationNumber>12345678</int:ReservationNumber>
         </tem:request>
      </tem:GetChargeOptions>
   </soapenv:Body>

GetChargeOptions Response

The following is a breakdown of the GetChargeOptions response:

            <a:AmountEditable>true</a:AmountEditable>
            <a:ChargeOptions xmlns:b="http://schemas.datacontract.org/2004/07/InteliSys.amelia">
               <b:ResChargeDefn>
                  <b:Amount>400000</b:Amount>
                  <b:ChargeDescription>10kg Exceed Domestic</b:ChargeDescription>
                  <b:ChargeType>BA</b:ChargeType>
                  <b:Currency>
                     <b:Code>VND</b:Code>
                     <b:Description>Vietnam Dong</b:Description>
                     <b:ExchangeRate>1</b:ExchangeRate>
                     <b:Format>#,##0 VND</b:Format>
                     <b:Id>3</b:Id>
                  </b:Currency>
                  <b:TaxConfig>
                     <b:CurrencyId>3</b:CurrencyId>
                     <b:CurrencyName>Vietnam Dong</b:CurrencyName>
                     <b:Id>1</b:Id>
                     <b:Name>VAT</b:Name>
                     <b:Taxes>
                        <b:TaxElement>
                           <b:Include>true</b:Include>
                           <b:Name>VAT</b:Name>
                           <b:Percentage>0.1</b:Percentage>
                        </b:TaxElement>
                        <b:TaxElement>
                           <b:Include>false</b:Include>
                           <b:Name/>
                           <b:Percentage>0</b:Percentage>
                        </b:TaxElement>
                        <b:TaxElement>
                           <b:Include>false</b:Include>
                           <b:Name/>
                           <b:Percentage>0</b:Percentage>
                        </b:TaxElement>
                     </b:Taxes>
                  </b:TaxConfig>
               </b:ResChargeDefn>

               ...
            </a:ChargeOptions>
            <a:DiscountAllowed>true</a:DiscountAllowed>
            <a:DiscountOptions xmlns:b="http://schemas.datacontract.org/2004/07/InteliSys.amelia">
               <b:ResChargeDiscountDefn>
                  <b:DiscountDescription>Discount 30%</b:DiscountDescription>
                  <b:Percentage>0.3</b:Percentage>
               </b:ResChargeDiscountDefn>

               ...
            </a:DiscountOptions>

            <a:LegOptions xmlns:b="http://schemas.datacontract.org/2004/07/InteliSys.amelia">
               <b:ResChargeLeg>
                  <b:ArrivalAirportCode>XYZ</b:ArrivalAirportCode>
                  <b:ArrivalAirportName>Airport 1</b:ArrivalAirportName>
                  <b:DepartureAirportCode>QRS</b:DepartureAirportCode>
                  <b:DepartureAirportName>Airport 2</b:DepartureAirportName>
                  <b:LegNumber>1</b:LegNumber>
               </b:ResChargeLeg>
            </a:LegOptions>

            <a:PaxList xmlns:b="http://schemas.datacontract.org/2004/07/InteliSys.amelia">
               <b:ResChargePax>
                  <b:FirstName>CASSIDY</b:FirstName>
                  <b:LastName>COLLINGS</b:LastName>
                  <b:MiddleName/>
                  <b:PaxGroupId>12345</b:PaxGroupId>
               </b:ResChargePax>

            </a:PaxList>
            <a:ReservationNumber>12345678</a:ReservationNumber>

Things to consider


  • The AmountEditable node displays whether or not the user has permission to modify the amount defaulted for a charge
  • The ChargeOptions node contains all charges that can be applied to a reservation
  • The DiscountOptions node contains all discount options that can be applied. If the user does not have permission to add discounts, this node will be empty.
  • The LegOptions node contains all legs that charges can be applied to
  • The PaxList contains all passengers that charges can be applied to
  • The DiscountAllowed node displays whether or not the user has permission to add discounts

Common Errors


There was an error getting reservation charge options: All reservation legs are canceled.

Occurs when the reservation itself is not canceled, but all legs are.


There was an error getting reservation charge options: Reservation is canceled.

Occurs when the reservation exists, but is canceled.


There was an error getting reservation charge options: Reservation does not exist.

Occurs when the reservation does not exist in the system.

AddReservationCharge


General Info


  • User must have a valid session token
  • Fare charges cannot be applied through this API

AddReservationCharge Request

Add Charge to a Single Passenger

The following is an example of an AddReservationCharge request adding a pre-existing amelia charge to a single passenger on a reservation:

    <soapenv:Body>
      <tem:AddReservationCharge>
         <tem:request>
            <int:SessionToken>${#Project#SessionToken}</int:SessionToken>
            <int:Query>
               <int1:AllPax>false</int1:AllPax>
               <int1:Amount>400000</int1:Amount>
               <int1:ChargeDescription>10kg Exceed Domestic</int1:ChargeDescription>
               <int1:ChargeNotes>Some notes.</int1:ChargeNotes>
               <int1:ChargeTypeCode>BA</int1:ChargeTypeCode>
               <int1:DiscountPercentage>0.3</int1:DiscountPercentage>
               <int1:IsRefundable>true</int1:IsRefundable>
               <int1:LegNumber>1</int1:LegNumber>
               <int1:PaxGroupId>1245</int1:PaxGroupId>
               <int1:ReservationNumber>12345678</int1:ReservationNumber>
               <int1:TaxConfigId>1</int1:TaxConfigId>
            </int:Query>
         </tem:request>
      </tem:AddReservationCharge>
   </soapenv:Body>

Things to consider


  • PaxGroupId is required when adding a charge to a specific passenger
  • The Amount, ChargeDescription, ChargeTypeCode, DiscountPercentage, IsRefundable, LegNumber, PaxGroupId, ReservationNumber, TaxConfigId are all retrieved for the GetChargeOptions response

  • When adding a default amelia charge, the ChargeTypeCode is not required
  • The Amount can only be modified if the user has the proper permission to do so
  • The IsRefundable flag can only be overridden if the user has the proper permission to do so
  • A Discount can only be applied if the user has the proper permission to do so
  • The DiscountPercentage must be one of the discount options returned by GetChargeOptions


Add Charge to All Passengers

The following is an example of an AddReservationCharge request adding a pre-existing amelia charge to all passengers on a reservation:

    <soapenv:Body>
      <tem:AddReservationCharge>
         <tem:request>
            <int:SessionToken>${#Project#SessionToken}</int:SessionToken>
            <int:Query>
               <int1:AllPax>true</int1:AllPax>
               <int1:Amount>500000</int1:Amount>
               <int1:ChargeDescription>10kg Exceed Domestic</int1:ChargeDescription>
               <int1:ChargeNotes>Some notes.</int1:ChargeNotes>
               <int1:ChargeTypeCode>BA</int1:ChargeTypeCode>
               <int1:DiscountPercentage>0.3</int1:DiscountPercentage>
               <int1:IsRefundable>true</int1:IsRefundable>
               <int1:LegNumber>1</int1:LegNumber>
               <int1:PaxGroupId>-1</int1:PaxGroupId>
               <int1:ReservationNumber>12345678</int1:ReservationNumber>
               <int1:TaxConfigId>1</int1:TaxConfigId>
            </int:Query>
         </tem:request>
      </tem:AddReservationCharge>
   </soapenv:Body>

Things to consider



  • When adding a charge to all passengers, the AllPax flag must be set to true
  • When AllPax is set to true, PaxGroupId is not required. It can be left out completely, or passed a -1
  • The Amount, ChargeDescription, ChargeTypeCode, DiscountPercentage, IsRefundable, LegNumber, PaxGroupId, ReservationNumber, TaxConfigId are all retrieved for the GetChargeOptions response

  • When adding a default amelia charge, the ChargeTypeCode is not required
  • The Amount can only be modified if the user has the proper permission to do so
  • The IsRefundable flag can only be overridden if the user has the proper permission to do so
  • A Discount can only be applied if the user has the proper permission to do so
  • The DiscountPercentage must be one of the discount options returned by GetChargeOptions

Add a "Custom" Charge

The following is an example of an AddReservationCharge request adding a charge that is not a default amelia charge:

    <soapenv:Body>
      <tem:AddReservationCharge>
         <tem:request>
            <int:SessionToken>${#Project#SessionToken}</int:SessionToken>
            <int:Query>
               <int1:AllPax>false</int1:AllPax>
               <int1:Amount>400000</int1:Amount>
               <int1:ChargeDescription>Extra Fee</int1:ChargeDescription>
               <int1:ChargeNotes/>
               <int1:ChargeTypeCode>AM</int1:ChargeTypeCode>
               <int1:DiscountPercentage>0</int1:DiscountPercentage>
               <int1:IsRefundable>true</int1:IsRefundable>
               <int1:LegNumber>1</int1:LegNumber>
               <int1:PaxGroupId>1245</int1:PaxGroupId>
               <int1:ReservationNumber>12345678</int1:ReservationNumber>
               <int1:TaxConfigId>1</int1:TaxConfigId>
            </int:Query>
         </tem:request>
      </tem:AddReservationCharge>
   </soapenv:Body>

Things to consider


  • When adding a "custom" charge, the charge description must not match any of the pre-existing amelia charges
  • ChargeTypeCode is required
  • The Amount can only be modified if the user has the proper permission to do so
  • A Discount can only be applied if the user has the proper permission to do so
  • The DiscountPercentage must be one of the discount options returned by GetChargeOptions

It is also possible to add a negative charge in this manner. The charge would be added the same as described above, with a negative value passed as the Amount (i.e. -400000).

Common Errors


There was an error adding the reservation charge: Charge Description cannot be null.

Occurs when attempting to add a charge to a reservation without providing a value for ChargeDescription.


There was an error adding the reservation charge: Charge Type is invalid.

Occurs when attempting to add a charge with an invalid value passed into ChargeTypeCode.


There was an error adding the reservation charge: Charge Type cannot be null.

Occurs when attempting to add a charge to a reservation without providing a value for ChargeTypeCode.


There was an error adding the reservation charge: Invalid tax configuration.

Occurs when the TaxConfigId used is not valid.


There was an error adding the reservation charge: Leg is canceled.

Occurs when the leg that you are trying to add a charge to is canceled.


There was an error adding the reservation charge: You do not have permission to override the refundable flag.

Occurs when the user does not have permission to change the defaulted refund flag for a charge.


There was an error adding the reservation charge: You do not have permission to modify the charge amount.

Occurs when the user does not have permission to change the defaulted Amount for a charge.


There was an error adding the reservation charge: Discount not found or access is denied.

Occurs when the user attempts to add a charge with a discount that is not currently configured in amelia.


There was an error adding the reservation charge: You do not have permission to apply a discount.

Occurs when the user does not have permission to add a discount.


There was an error adding the reservation charge: You do not have permission to add charges.

Occurs when the user does not have permission to add charges.


There was an error adding the reservation charge: Reservation does not exist.

Occurs when the reservation that you are trying to add a charge to does not exist.


AddReservationCharge Response

The AddReservationCharges response is simply an updated list of reservation charges.

ChangeReservationPassenger

ChangeReservationPassenger Request

The following is an example of a ChangeReservationPassenger request:

      <tem:ChangeReservationPassenger>
         <tem:request>
            <int:SessionToken>${#Project#SessionToken}</int:SessionToken>
            <int:PaxProfile>
               <int1:AeroplanNumber/>
               <int1:AgeCategory>Adult</int1:AgeCategory>
               <int1:BusinessContact>
                  <int1:Email/>
                  <int1:Extension/>
                  <int1:Fax/>
                  <int1:Mobile/>
                  <int1:Name/>
                  <int1:SpecialNeeds/>
                  <int1:Telephone/>
               </int1:BusinessContact>
               <int1:CategoryID>-1</int1:CategoryID>
               <int1:DateOfBirth>1989-05-05T00:00:00</int1:DateOfBirth>
               <int1:EmployeeNumber>111</int1:EmployeeNumber>
               <int1:Firstname>John</int1:Firstname>
               <int1:Gender>Male</int1:Gender>
               <int1:GeneralNumber1>0</int1:GeneralNumber1>
               <int1:GeneralNumber2>0</int1:GeneralNumber2>
               <int1:HomeAddress>
                  <int1:City/>
                  <int1:Country>
                     <int1:Code/>
                     <int1:Id>-1</int1:Id>
                     <int1:Name/>
                  </int1:Country>
                  <int1:Line1/>
                  <int1:Line2/>
                  <int1:PostalCode/>
                  <int1:Province>
                     <int1:Code>CDN</int1:Code>
                     <int1:Id>1</int1:Id>
                     <int1:Name/>
                  </int1:Province>
               </int1:HomeAddress>
               <int1:HomeContact>
                  <int1:Email/>
                  <int1:Extension/>
                  <int1:Fax/>
                  <int1:Mobile/>
                  <int1:Name/>
                  <int1:SpecialNeeds/>
                  <int1:Telephone/>
               </int1:HomeContact>
               <int1:IsActive>true</int1:IsActive>
               <int1:Lastname>Doe</int1:Lastname>
               <int1:LoyaltyId/>
               <int1:LoyaltyPoints>0</int1:LoyaltyPoints>
               <int1:Middlename>g</int1:Middlename>
               <int1:Notes/>
               <int1:Passport>
                  <int1:CountryCode></int1:CountryCode>
                  <int1:ExpiryDate>2018-01-01T00:00:00</int1:ExpiryDate>
                  <int1:IssueCity/>
                  <int1:IssueDate>1900-01-01T00:00:00</int1:IssueDate>
                  <int1:Nationality/>
                  <int1:Number/>
               </int1:Passport>
               <int1:PaxID>-1</int1:PaxID>
               <int1:PreBoard>false</int1:PreBoard>
               <int1:SpecialNeeds/>
            </int:PaxProfile>
            <int:ResPaxId>12345</int:ResPaxId>
         </tem:request>
      </tem:ChangeReservationPassenger>

Things to consider


  • The following fields are mandatory for the request to succeed:
    1. AgeCategory
    2. DateOfBirth
    3. FirstName
    4. Gender
    5. IsActive
    6. Lastname
    7. ResPaxId
  • In order to get the ResPaxId you must run GetReservationList providing a valid reservation number. The ResPaxId will be located in the response.
  • A passengers name cannot be changed once travel has begun.