Airline Ticket-level Capture

This page contains information on the Ticket-level Capture request and response. This operation facilitates automatic captures. After updating AID data, Velocity captures the amount internally and passes the information to PSPs for payment processing. After that, it is passed to the merchant system. You do not need use the Capture operation. Call update-order-data to facilitate ticket-level auto-capture.

The table below specifies the endpoint and request requirements for the Ticket-level Capture operation:

Path NamePath Details
Endpoint[Velocity URL]/mpoint/update-order-data
Request MethodPOST
Format/Content Typetext/xml
AuthenticationHTTP basic access authentication

Request

This section describes a Ticket-level Capture request. The code below is a sample request for the update-order-data API call.

<?xml version="1.0" encoding="UTF-8"?>
<root>
	<update-order-data>
		<transaction id="12345" order-no="FIU9YA">
			<orders>
				<line-item>
					<product order-ref="ABC1234" sku="product-ticket">
						<type>100</type>
						<name>ONE WAY</name>
						<description>MNL-CEB</description>
						<airline-data>
							<profiles>
								<profile>
									<seq>1</seq>
									<title>Mr</title>
									<first-name>dan</first-name>
									<last-name>dan</last-name>
									<type>ADT</type>
									<contact-info>
										<email>[email protected]</email>
										<mobile country-id="640">9187231231</mobile>
									</contact-info>
									<additional-data>
										<param name="loyality_id">345rtyu</param>
									</additional-data>
								</profile>
							</profiles>
							<billing-summary>
								<fare-detail>
									<fare>
										<profile-seq>1</profile-seq>
										<description>adult</description>
										<currency>PHP</currency>
										<amount>60</amount>
										<product-code>ABF</product-code>
										<product-category>FARE</product-category>
										<product-item>Base fare for adult</product-item>
									</fare>
								</fare-detail>
							</billing-summary>
							<trips>
								<trip tag="1" seq="1">
									<origin external-id="MNL" country-id="640" time-zone="+08:00" terminal="1">Ninoy Aquino International Airport</origin>
									<destination external-id="CEB" country-id="640" time-zone="+08:00" terminal="2">Mactan Cebu International Airport</destination>
									<departure-time>2021-03-07T19:35:00Z</departure-time>
									<arrival-time>2021-03-07T21:05:00Z</arrival-time>
									<booking-class>Z</booking-class>
									<service-level>Economy</service-level>
									<transportation code="5J" number="1">
										<carriers>
											<carrier code="5J" type-id="Aircraft Boeing-737-9">
												<number>563</number>
											</carrier>
										</carriers>
									</transportation>
									<additional-data>
										<param name="fare_basis">we543s3</param>
									</additional-data>
								</trip>
							</trips>
						</airline-data>
					</product>
					<amount>125056</amount>
					<quantity>1</quantity>
					<additional-data>
						<param name="key">value</param>
					</additional-data>
				</line-item>
				<line-item>
					<product order-ref="ABC1237" sku="product-ticket">
						<type>200</type>
						<name>ONE WAY</name>
						<description>MNL-CEB</description>
						<airline-data>
							<profiles>
								<profile>
									<seq>1</seq>
									<title>Mr</title>
									<first-name>dan</first-name>
									<last-name>dan</last-name>
									<type>ADT</type>
									<contact-info>
										<email>[email protected]</email>
										<mobile country-id="640">9187231231</mobile>
									</contact-info>
									<additional-data>
										<param name="loyality_id">345rtyu</param>
									</additional-data>
								</profile>
							</profiles>
							<billing-summary>
								<add-ons>
									<add-on>
										<profile-seq>1</profile-seq>
										<trip-tag>2</trip-tag>
										<trip-seq>2</trip-seq>
										<description>adult</description>
										<currency>PHP</currency>
										<amount>60</amount>
										<product-code>ABF</product-code>
										<product-category>FARE</product-category>
										<product-item>Base fare for adult</product-item>
									</add-on>
								</add-ons>
							</billing-summary>
							<trips>
								<trip tag="1" seq="1">
									<origin external-id="MNL" country-id="640" time-zone="+08:00" terminal="1">Ninoy Aquino International Airport</origin>
									<destination external-id="CEB" country-id="640" time-zone="+08:00" terminal="2">Mactan Cebu International Airport</destination>
									<departure-time>2021-03-07T19:35:00Z</departure-time>
									<arrival-time>2021-03-07T21:05:00Z</arrival-time>
									<booking-class>Z</booking-class>
									<service-level>Economy</service-level>
									<transportation code="5J" number="1">
										<carriers>
											<carrier code="5J" type-id="Aircraft Boeing-737-9">
												<number>563</number>
											</carrier>
										</carriers>
									</transportation>
									<additional-data>
										<param name="fare_basis">we543s3</param>
									</additional-data>
								</trip>
							</trips>
						</airline-data>
					</product>
					<amount>125056</amount>
					<quantity>1</quantity>
					<additional-data>
						<param name="key">value</param>
					</additional-data>
				</line-item>
			</orders>
		</transaction>
	</update-order-data>
</root>

This operation must be called for each transaction associated with the order number separately. Each request contains one or more line-item that are associated with the order-ref (ticket/emd number).

Refer to the examples listed below:

Payment MethodOrder # PNRABC $1000UATP Card $100 Request 1VISA Card $900 Request 2
Transaction IDTransaction 1Transaction 2
Ticket Number 1 line-item50500
Ticket Number 2 line-item47525450
Ticket Number 3 line-item47525450

Below are descriptions of the fields under update-order-data:

ParameterTypeRequiredDescription
transaction/ @idIntegerYesThe identification number of a transaction
Transaction/order-nostringYesOrder number associated with the transaction.
ordersnodeYesContains one or more line-item.

For details of all the fields under orders, refer to the 'Airline Data Requirements' section and 'Reference.'

Response

This section gives information on a Ticket-level Capture response. This can show either a successful or a failed transaction.

Success

You receive the following response for a successful transaction:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <status code="100">Operation Success</status>
</root>

Fail

You receive the following response for a failed transaction:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <status code="99">Operation Failed</status>
</root>