Deprecated Features in release 1.3.0¶
Changes in schemas that may affect the current functionality.
We do our best to develop our product and to do it simple and clear, that’s why we would like to inform you that for the second part of November we plan the release 1.3.0. It will contain changes which may influence backward compatibility and may cause significant changes in the processes of tickets and extra services booking and issuing .
We kindly ask you to get acquainted with the planned changes and to plan the necessary revisions on your side for smooth switch to use of the version 1.3.0.
In case of any questions please feel free to contact us via the mailbox Support@mixvel.com
Commercial Offers Management¶
Request for commercial offer¶
Endpoint: /api/Order/AirShopping
Filter to Indicate the max Amount of the Variants¶
Planned changes:
We are going to remove the value of the element Mixvel_AirShoppingRQ/Request/PayloadRestrictions/ObjectName "OFFER", the only value for «Offer» will be left in the lower case.
Example of delivery of correct value:
<PayloadRestrictions>
<Limit>10</Limit>
<ObjectName>Offer</ObjectName>
</PayloadRestrictions>
Search of the Best Price on a Route with Connections¶
Planned changes:
We are going to remove the element Mixvel_AirShoppingRQ/Request/FlightRequest/FlightRequestOriginDestinationsCriteria/OriginDestCriteria/CalendarDateCriteria/AllowConnectionsInd
We change the logic of search for best prices in the request, that’s why we need to remove the indicator AllowConnectionsInd from CalendarDateCriteriaType: it’s going to be replaced by AllowDirectInd.
Example of delivery of correct indicator:
<CalendarDateCriteria>
<DaysAfterNumber>3</DaysAfterNumber>
<DaysBeforeNumber>3</DaysBeforeNumber>
<AllowDirectInd>true</AllowDirectInd> <!--direct flight indicator-->
</CalendarDateCriteria>
Mixvel_AvailabilityRQ¶
Endpoint: /api/Order/Availability
Planned changes:
We remove the value of the element Mixvel_ AvailabilityRQ /Request/PayloadRestrictions/ObjectName «OFFER», the only value for «Offer» is left in the lower case.
Example of delivery of correct value :
<PayloadRestrictions>
<Limit>10</Limit>
<ObjectName>Offer</ObjectName>
</PayloadRestrictions>
Additional Services List Request¶
Endpoint: /api/ServiceList
Планируемые изменения:
- We remove the elements which are not used in the request:
Mixvel_ServiceListRQ/Request/CoreRequest/OfferRequest/Offer/OfferItem/OfferItemID
and
Mixvel_ServiceListRQ/Request/CoreRequest/OrderRequest/MixOrder/Order/OrderItem/OrderItemID
Example of correct request Mixvel_ServiceListRQ for a not booked offer:
<OfferRequest>
<Offer>
<OfferID>token</OfferID>
</Offer>
</OfferRequest>
Example of correct request Mixvel_ServiceListRQ for a booked offer:
<OrderRequest>
<MixOrder>
<MixOrderID>96829-230921-MAK8628</MixOrderID>
</MixOrder>
<Order>
<OrderID>token</OrderID>
</Order>
</OrderRequest>
These changes will not affect the results of delivery of the response Mixvel_ServiceListRS.
- We introduce restriction for multiple input of the following elements:
Mixvel_ServiceListRQ/Request/CoreRequest/OfferRequest/Offer max_occur=1
Mixvel_ServiceListRQ/Request/CoreRequest/OrderRequest/MixOrder/Order max_occur=1
(search should be executed via one offer/order only)
- We change the delivery of information on such extra service as luggage registration;
In response Mixvel_ServiceListRS the data in the element <Name>
in the block …Response/DataLists/ServiceDefinitionList/ServiceDefinition will be delivered in the requested language in …/PayloadAttributes/PrimaryLangID.
The changes touch upon the following methods: Mixvel_OrderViewRS, Mixvel_ServiceListRS.
Example of delivery at PrimaryLangID=RU
<ServiceDefinition>
<Name>Багаж</Name>
<OwnerCode>TCH</OwnerCode>
<ServiceDefinitionAssociation>
<BaggageAllowanceRef>
<BaggageAllowanceRefID>token</BaggageAllowanceRefID>
</BaggageAllowanceRef>
</ServiceDefinitionAssociation>
<ServiceDefinitionID>token</ServiceDefinitionID>
</ServiceDefinition>
Example of delivery at PrimaryLangID=EN
<ServiceDefinition>
<Name>Baggage</Name>
<OwnerCode>TCH</OwnerCode>
<ServiceDefinitionAssociation>
<BaggageAllowanceRef>
<BaggageAllowanceRefID>token</BaggageAllowanceRefID>
</BaggageAllowanceRef>
</ServiceDefinitionAssociation>
<ServiceDefinitionID>token</ServiceDefinitionID>
</ServiceDefinition>
Order/Booking Management¶
Order/Booking Creation¶
Endpoint: /api/Order/Create
Planned changes:
- The process of the passenger’s contact data transfer is going to be changed.
It will not be possible to make a reservation if the following conditions are not met:
- Strict assignment of contacts to passengers, for example:
...
<DataLists>
<ContactInfoList>
<ContactInfo>
<ContactInfoID>Contact-1</ContactInfoID>
<EmailAddress>
<ContactTypeText>personal</ContactTypeText>
<EmailAddressText>a.sidorov@mixvel.com</EmailAddressText>
</EmailAddress>
<Phone>
<ContactTypeText>personal</ContactTypeText>
<PhoneNumber>+79295774076</PhoneNumber>
</Phone>
</ContactInfo>
</ContactInfoList>
<PaxList>
<Pax>
<AgeMeasure>27</AgeMeasure>
<ContactInfoRefID>Contact-1</ContactInfoRefID>
<IdentityDoc>
<ExpiryDate>2027-04-12</ExpiryDate>
<IdentityDocID>4516105599</IdentityDocID>
<IdentityDocTypeCode>PS</IdentityDocTypeCode>
<IssueDate>2020-04-12</IssueDate>
<IssuingCountryCode>RU</IssuingCountryCode>
<Surname>Sidorov</Surname>
</IdentityDoc>
<Individual>
<Birthdate>1996-01-18</Birthdate>
<GenderCode>M</GenderCode>
<GivenName>Artem</GivenName>
<MiddleName>Nikolaevich</MiddleName>
<Surname>Sidorov</Surname>
</Individual>
<PaxID>Pax-1</PaxID>
<PTC>ADT</PTC>
</Pax>
</PaxList>
</DataLists>
...
- indicating the sign that the contacts are agency contacts, two options are possible, for example:
Option 1: transfer of agent contacts within ContactInfo with personal data.
...
<DataLists>
<ContactInfoList>
<ContactInfo>
<ContactInfoID>Contact-1</ContactInfoID>
<EmailAddress>
<ContactTypeText>personal</ContactTypeText>
<EmailAddressText>a.sidorov@mixvel.com</EmailAddressText>
</EmailAddress>
<Phone>
<ContactTypeText>personal</ContactTypeText>
<PhoneNumber>+79295774076</PhoneNumber>
</Phone>
<Phone>
<ContactTypeCode>mobile</ContactTypeCode>
<ContactTypeText>agency</ContactTypeText>
<PhoneNumber>+74955556677</PhoneNumber>
</Phone>
</ContactInfo>
</ContactInfoList>
<PaxList>
<Pax>
<AgeMeasure>27</AgeMeasure>
<ContactInfoRefID>Contact-1</ContactInfoRefID>
<IdentityDoc>
<ExpiryDate>2027-04-12</ExpiryDate>
<IdentityDocID>4516105599</IdentityDocID>
<IdentityDocTypeCode>PS</IdentityDocTypeCode>
<IssueDate>2020-04-12</IssueDate>
<IssuingCountryCode>RU</IssuingCountryCode>
<Surname>Sidorov</Surname>
</IdentityDoc>
<Individual>
<Birthdate>1996-01-18</Birthdate>
<GenderCode>M</GenderCode>
<GivenName>Artem</GivenName>
<MiddleName>Nikolaevich</MiddleName>
<Surname>Sidorov</Surname>
</Individual>
<PaxID>Pax-1</PaxID>
<PTC>ADT</PTC>
</Pax>
</PaxList>
</DataLists>
...
Option 2: transfer of agent contacts to individual ContactInfo without reference to the passenger.
...
<DataLists>
<ContactInfoList>
<ContactInfo>
<ContactInfoID>Contact-1</ContactInfoID>
<EmailAddress>
<ContactTypeText>personal</ContactTypeText>
<EmailAddressText>a.sidorov@mixvel.com</EmailAddressText>
</EmailAddress>
<Phone>
<ContactTypeText>personal</ContactTypeText>
<PhoneNumber>+79295774076</PhoneNumber>
</Phone>
</ContactInfo>
<ContactInfoID>Contact-2</ContactInfoID>
<EmailAddress>
<ContactTypeText>agency</ContactTypeText>
<EmailAddressText>office@mixvel.com</EmailAddressText>
</EmailAddress>
<Phone>
<ContactTypeText>agency</ContactTypeText>
<PhoneNumber>+74955660930</PhoneNumber>
</Phone>
</ContactInfo>
</ContactInfoList>
<PaxList>
<Pax>
<AgeMeasure>27</AgeMeasure>
<ContactInfoRefID>Contact-1</ContactInfoRefID>
<IdentityDoc>
<ExpiryDate>2027-04-12</ExpiryDate>
<IdentityDocID>4516105599</IdentityDocID>
<IdentityDocTypeCode>PS</IdentityDocTypeCode>
<IssueDate>2020-04-12</IssueDate>
<IssuingCountryCode>RU</IssuingCountryCode>
<Surname>Sidorov</Surname>
</IdentityDoc>
<Individual>
<Birthdate>1996-01-18</Birthdate>
<GenderCode>M</GenderCode>
<GivenName>Artem</GivenName>
<MiddleName>Nikolaevich</MiddleName>
<Surname>Sidorov</Surname>
</Individual>
<PaxID>Pax-1</PaxID>
<PTC>ADT</PTC>
</Pax>
</PaxList>
</DataLists>
...
Now, if there is no strict link to the passenger or without indicating that the contacts are agent contacts, a Warning is sent (“MIX-103005”, “Passenger contacts were received without link, which may lead to incorrect data transfer”).
After the planned changes, if contacts are specified without a link to the passenger or without the “agent” type, the booking request will be considered invalid and the error will be received in response: “Contacts received that are not associated with any passenger. It is necessary to link to a passenger or agent."
- The transmission of requests for group bookings changes. A booking request will not be processed if passenger data is specified, but the PaxRefID binding is not passed to SelectedOfferItem/PaxRefID.
An example of filling out a passenger binding in SelectedOfferItem:
<CreateOrder>
<SelectedOffer>
<OfferRefID>token</OfferRefID>
<SelectedOfferItem>
<OfferItemRefID> token </OfferItemRefID>
<PaxRefID>Pax-1</PaxRefID>
<PaxRefID>Pax-2</PaxRefID>
<PaxRefID>Pax-3</PaxRefID>
<PaxRefID>Pax-4</PaxRefID>
<PaxRefID>Pax-5</PaxRefID>
<PaxRefID>Pax-6</PaxRefID>
<PaxRefID>Pax-7</PaxRefID>
…
</SelectedOfferItem>
- The array which delivers remarks of the type OSI from Mixvel_OrderCreateRQ/Request/DataLists/PaxList/Pax/Remark will be removed, as well as remarks of the type SSR from Mixvel_OrderCreateRQ/Request/DataLists/PaxSegmentRemarkList
They all will be transferred and joined within the common array Mixvel_OrderCreateRQ/Request/DataLists/RemarkList (changes to the new array will be available in the next releases), within which the remarks of the type OSI and SSR will be delivered.
Example of delivery of the OSI type remark:
<RemarkList><!--Removed from PaxList-->
<Remark>
<Type>osi</Type>
<RemarkText>Additional flight information</RemarkText>
<OfferRefID>token</OfferRefID>
</Remark>
</RemarkList>
In response Mixvel_OrderViewRS the changes will be delivered as follows:
<Response>
<DataLists>
...
</PriceClassList>
<RemarkList><!--Removed from PaxList-->
<Remark>
<RemarkID>1<RemarkID>
<Type>osi</Type>
<RemarkText>Additional flight information</RemarkText>
<OrderRefID>token</OrderRefID>
<StatusCode>HK</StatusCode>
</Remark>
</RemarkList>
<ServiceDefinitionList>
...
</DataLists>
<MixOrder>
<MixOrderID>96829-230822-MAP0070</MixOrderID>
4) The array Mixvel_OrderCreateRQ/Request/DataLists/PaxList/Pax/LoyaltyProgramAccount will be removed from PaxList and added to Mixvel_OrderCreateRQ/Request/DataLists/LoyaltyProgramAccountList (changes to the new array will be available in the next releases).
Example of loyalty card input:
<DataLists>
…
<LoyaltyProgramAccountList>
<LoyaltyProgramAccount>
<AccountNumber>123456789</AccountNumber>
<LoyaltyProgram>
<Carrier>
<AirlineDesigCode>SU</AirlineDesigCode>
</Carrier>
</LoyaltyProgram>
<OfferRefID>token</OfferRefID>
<PaxRefID>Pax-1</PaxRefID>
</LoyaltyProgramAccount>
</LoyaltyProgramAccountList>
The response Mixvel_OrderViewRS will deliver the changes as follows:
<LoyaltyProgramAccountList>
<LoyaltyProgramAccount>
<AccountNumber>123456789</AccountNumber>
<LoyaltyProgram>
<Carrier>
<AirlineDesigCode>DP</AirlineDesigCode>
</Carrier>
</LoyaltyProgram>
<LoyaltyProgramID>token</LoyaltyProgramID>
<PaxSegmentRefID>token</PaxSegmentRefID>
<PaxRefID>Pax-1</PaxRefID>
<OrderRefID>96829-230911-OAH5765</OrderRefID>
<StatusCode>HK</StatusCode>
</LoyaltyProgramAccount>
</LoyaltyProgramAccountList>
- The element Amount from the array Mixvel_OrderCreateRQ/Request/PaymentFunctions/PaymentProcessingDetails/Amount will be deleted, as long as it’s not used for data transfer at the stage of booking.
Order/Booking Import¶
Endpoint: /api/Order/Import
Planned changes:
- The unused array RawOrderRequest in Mixvel_OrderImportRQ is going to be deleted. The following non-functional elements are going to be removed:
Mixvel_OrderImportRQ/Request/RawOrderRequest/Order/OrderItemType
Mixvel_OrderImportRQ/Request/RawOrderRequest/TotalAmount
Mixvel_OrderImportRQ/Request/RawOrderRequest/ReservationGuideline
- The optional element AirlineDesigCode is added to the structure Mixvel_OrderImportRQ/Request/ExternalOrderRequest/AirlineDesigCode.
Example of a correct request:
<Request>
<ExternalOrderRequest>
<BookingRefID>1WL2RS</BookingRefID>
<SystemCode>Tch</SystemCode>
<AirlineDesigCode>UT</AirlineDesigCode>
</ExternalOrderRequest>
<DataLists>
<PaxList>
<Pax>
<Individual>
<Surname>PETROV</Surname>
</Individual>
<PaxID>1</PaxID>
</Pax>
</PaxList>
</DataLists>
</Request>
Order/Booking Payment¶
Endpoint: /api/Order/Change
Planned changes:
- The element Mixvel_OrderChangeRQ/Request/ResponseParamters/CurParameter which points the currency indicator at payment settlement is going to be removed.
Instead of this element one will point the currency in the attribute Mixvel_OrderChangeRQ/Request/PaymentFunctions/PaymentProcessingDetails/Amount.
Example of currency delivery:
<PaymentProcessingDetails>
<Amount CurCode="EUR">2000</Amount>
<PaymentProcessingDetailsPaymentMethod>
<OtherPaymentMethod/>
</PaymentProcessingDetailsPaymentMethod>
</PaymentProcessingDetails>
- The array OrderAssociation is going to be removed from Mixvel_OrderChangeRQ/PaymentFunctionsChangeType/OrderAssociation into Mixvel_OrderChangeRQ/PaymentFunctionsChangeType/PaymentProcessingDetails/OrderAssociation.
In Mixvel_OrderChangeRQ/PaymentFunctionsChangeType/OrderAssociation the array is going to be completely deleted.
Example of data delivery in the array OrderAssociation:
<PaymentProcessingDetails>
<Amount CurCode="RUB">2000</Amount>
<PaymentProcessingDetailsPaymentMethod>
<OtherPaymentMethod/>
</PaymentProcessingDetailsPaymentMethod>
<OrderAssociation>
<OrderItemRefID>token</OrderItemRefID>
<OrderRefID>96829-230706-OPH4494</OrderRefID>
</OrderAssociation>
</PaymentProcessingDetails>
</PaymentFunctions>
-
The Order element which is located in the structure Mixvel_OrderChangeRQ /Request/MixOrder is going to be removed because it is unused.
-
The array in which remarks of the OSI type from Mixvel_OrderChangeRQ/Request/DataLists/PaxList/Pax/Remark is removed, as well as remarks of the SSR type from Mixvel_OrderChangeRQ/Request/DataLists/PaxSegmentRemarkList.
They all are going to be transferred into a new array Mixvel_OrderChangeRQ/Request/DataLists/RemarkList (changes to the new array will be available in the next releases), in which remarks of the types OSI and SSR are going to be delivered.
Example of delivery of the remark of OSI type:
<Request xmlns="">
<ChangeOrder>
</ChangeOrder>
<DataLists>
<RemarkList>
<Remark>
<Type>osi</Type>
<RemarkText>Дополнительная информация по перелету</RemarkText>
<OrderRefID>token</OrderRefID><!--you will need to enter Order data -->
</Remark>
</RemarkList>
</DataLists>
<MixOrder>
<MixOrderID>96829-230822-MAO7808</MixOrderID> <!--if only MixOrderID is specified, then the remark is for the entire order as a whole; if OrderID is also specified, then for a specific order-->
<Order>
<OrderID>token</OrderID>
</Order>
</MixOrder>
</Request>
In response Mixvel_OrderViewRS the changes will be delivered:
<Response>
<DataLists>
...
</PriceClassList>
<RemarkList><!--removed from Pax'а-->
<Remark>
<RemarkID>1<RemarkID>
<Type>osi</Type>
<RemarkText>Дополнительная информация по перелету</RemarkText>
<OrderRefID>token</OrderRefID>
<StatusCode>HK</StatusCode>
</Remark>
</RemarkList>
<ServiceDefinitionList>
...
</DataLists>
<MixOrder>
<MixOrderID>96829-230822-MAP0070</MixOrderID>
...
- The array Mixvel_OrderChangeRQ/Request/DataLists/PaxList/Pax/LoyaltyProgramAccount is going to be removed from PaxList and transferred into Mixvel_ OrderChangeRQ/Request/DataLists/LoyaltyProgramAccountList (changes to the new array will be available in the next releases).
Example of loyalty program card input:
<DataLists>
…
<LoyaltyProgramAccountList>
<LoyaltyProgramAccount>
<AccountNumber>123456789</AccountNumber>
<LoyaltyProgram>
<Carrier>
<AirlineDesigCode> DP </AirlineDesigCode>
</Carrier>
</LoyaltyProgram>
<PaxSegmentRefID>token</PaxSegmentRefID>
<OrderRefID>token</OfferRefID>
<PaxRefID>Pax-1</PaxRefID>
<ActionType>add</ActionType>
</LoyaltyProgramAccount>
<LoyaltyProgramAccountList>
…
</DataLists>
In response Mixvel_OrderViewRS the changes are going to be delivered:
<LoyaltyProgramAccountList>
<LoyaltyProgramAccount>
<AccountNumber>123456789</AccountNumber>
<LoyaltyProgram>
<Carrier>
<AirlineDesigCode>DP</AirlineDesigCode>
</Carrier>
</LoyaltyProgram>
<LoyaltyProgramID>token</LoyaltyProgramID>
<PaxSegmentRefID>token</PaxSegmentRefID>
<PaxRefID>Pax-1</PaxRefID>
<OrderRefID>96829-230911-OAH5765</OrderRefID>
<StatusCode>HK</StatusCode>
</LoyaltyProgramAccount>
</LoyaltyProgramAccountList>
- The following unused elements are going to be removed:
Mixvel_OderChangeRQ/Request/ ChangeOrder/ UpdateOrderItem/ DeleteOrderItemList/DeleteOrderItem/AllowSplit
Mixvel_OderChangeRQ/Request/ChangeOrder/UpdateOrderItem/DeleteOrderItemList/DeleteOrderItem/OrderID
Mixvel_OderChangeRQ/Request/ChangeOrder/UpdateOrderItem/DeleteOrderItemList/DeleteOrderItemOfferItemID
Mixvel_OderChangeRQ/Request/ChangeOrder/UpdateOrderItem/DeleteOrderItemList/DeleteALaCarteOrderItem
When running the automated refund process one needs to use the structure from the example below:
<Request>
<ChangeOrder>
<UpdateOrderItem>
<DeleteOrderItemList>
<DeleteOrderItem>
<OfferRefID>token</OfferRefID>
</DeleteOrderItem>
</DeleteOrderItemList>
</UpdateOrderItem>
</ChangeOrder>
<MixOrder>
<MixOrderID>00001-210317-MA1234</MixOrderID>
</MixOrder>
</Request>
If the above-mentioned elements are used for the process of extra services refund, it’s necessary to make settingsб and switch to using the method Mixvel_OrderCancelRQ , the array Mixvel_OrderCancelRQ/Request/MixOrder/Order/OrderID.
Secondary Operations¶
Paid Order Refund¶
Endpoint: /api/Order/Reshop
Planned changes:
Array Mixvel_OrderReshopRQ/Request/UpdateOrder/CancelOrder removed from the schema.
To refund the order you need to use an array Mixvel_OrderReshopRQ/Request/UpdateOrder/RefundOrder.
<Request>
<MixOrder>
<MixOrderID>09461-220908-MEH0476</MixOrderID>
</MixOrder>
<ResponseParameters>
<PricingParameter>
<AutoExchInd>false</AutoExchInd> <!--attribute of automatic or manual return, optional. default:true-->
</PricingParameter>
<ReasonCode>Involuntary</ReasonCode> <!--attribute of voluntary or forced return, optional. default:Voluntary-->
</ResponseParameters>
<UpdateOrder>
<RefundOrder>
<OrderRefID>token</OrderRefID>
<PaxSegmentRefID>token</PaxSegmentRefID> <!--optionally, to return part of the flight segments, multiple-->
</RefundOrder>
</UpdateOrder>
</Request>