Verified Air

Explore · area summary

Order creation and information

50 cards in the blueprint's section Order creation and information: 39 are in Lean, 9 are open questions and 11 need a business decision.

8
modelled
22
proven
9
open question
11
needs a decision
0
ready to build
0
waiting

Areas it builds on

The number of times a card here uses a card in that area.

Areas that build on it

The number of times a card in that area uses a card here.

Open questions and decisions

Each with the number of cards that depend on it, directly or through other cards, most first. Click one to see what it depends on and what builds on it.

C-72Open question

History rebuilds every version

An order's history starts with the whole order at version 1, recorded as one addition, followed by one change group per later version. Applying the groups up to version n to version 1 gives the order as it was at version n, and applying all of them gives the order that retrieval returns. Case to check: Applied newest first, a group that removes an item in version 4 runs before the group that added it in version 3, and the item reappears in the rebuilt current order.

Counterexample: the airline adds a bag to an order at version 2 and removes it at version 3. Listed newest first and applied in that order, the removal runs before the bag was added, and the rebuilt order holds the bag that the current order does not (Lean example newestFirstHistory).

Open point: The guide lists change groups oldest first with each raising the version by one, while the ORDHIS capability page lists them newest first and says each group lowers the version. The business must fix the order, and decide whether a history request from version v includes the group that produced v.

6 cards depend on it, directly or through other cards, in 1 area.

C-64Open question

Atomic order creation

A create request either produces one order holding every selected item, or produces no order and returns an error. This holds when the selection spans several offers. Case to check: A selection takes items from offer A, still valid, and offer B, expired at the request instant. An airline that creates an order from A alone leaves the customer with half of a trip chosen as a whole.

Counterexample: one create request at 11:30 UTC selects an outbound flight at 400.00 EUR from an offer valid until 12:00 UTC and a return flight at 380.00 EUR from an offer that expired at 11:00 UTC. Under the reading where the offers that pass go ahead, the order holds the outbound flight alone and costs 400.00 EUR (Lean example oneOfferExpired).

Open point: The capability pages allow one order from several offers and do not say what happens when one of them has expired or fails validation. The business must decide whether the whole request fails or the valid offers go ahead. The model takes the answer as a parameter with two readings.

5 cards depend on it, directly or through other cards, in 1 area.

C-73Needs a decision

Version tracks seller-visible changes

The airline raises an order's version whenever an element the seller can see changes. Two views of one order with the same version therefore show the same seller-visible data. Case to check: The airline records a new payment status without raising the version. A seller holding version 4 passes the version check and changes the order on data that no longer holds.

Open point: The guide says the airline should raise the version, and it lets the airline group many changes into one version. The business must decide whether every seller-visible change, including airline-initiated ones, must raise the version before the seller next sees the order.

5 cards depend on it, directly or through other cards, in 1 area.

C-77Needs a decision

Order ID

An order ID joins the owning airline's 2 or 3 character designator, its 3 character accounting code (XXX when it has none) and an 8 character reference unique within that airline. The ID is treated as globally unique, never changes, and every later request for the order uses it. Case to check: Two airlines that share a controlled duplicate designator and both use XXX issue the same order ID whenever their 8 character references coincide.

Open point: Global uniqueness follows only if designator and accounting code together name one airline. The business must decide how uniqueness holds when two airlines share a designator and neither has an accounting code, and how long a booking reference may still be used to retrieve an order.

2 cards depend on it, directly or through other cards, in 1 area.

C-63Open question

Order items match the selection

Creating an order yields exactly one order item for each selected offer item and none for the items left out. The new order's price is the sum of the selected items' prices. Case to check: C-02 and the theorem that the order price is the sum of the offer's items both range over the whole offer. A seller who leaves out an optional bag gets an order without the bag, and both statements as written fail.

Counterexample: one create request at 11:30 UTC selects an outbound flight at 400.00 EUR from an offer valid until 12:00 UTC and a return flight at 380.00 EUR from an offer that expired at 11:00 UTC. Under the reading where the offers that pass go ahead, the order holds the outbound flight alone and costs 400.00 EUR (Lean example oneOfferExpired). The return flight the seller selected has no order item.

Open point: the business must decide whether a request with a rejected offer fails as a whole or goes ahead with the offers that pass (see C-64).

2 cards depend on it, directly or through other cards, in 1 area.

checks ONE-402.2Open question

Order price is the sum of the selected items

An order created from offers priced in one currency has a total in that currency, the sum of the prices of the selected items, under both readings.

Counterexample: one create request at 11:30 UTC selects an outbound flight at 400.00 EUR from an offer valid until 12:00 UTC and a return flight at 380.00 EUR from an offer that expired at 11:00 UTC. Under the reading where the offers that pass go ahead, the order holds the outbound flight alone and costs 400.00 EUR (Lean example oneOfferExpired). The selected items cost 780.00 EUR.

Open point: the business must decide whether a request with a rejected offer fails as a whole or goes ahead with the offers that pass (see C-64).

1 card depends on it, directly or through other cards, in 1 area.

C-80Needs a decision

Verifying distribution chain identities

The carrier accepts a participant's identity only when its credential is authentic, unexpired and unrevoked, carries the identifier the participant uses in the message, is presented by its owner, and is presented for this transaction. Every participant except the one connected to the carrier sends such a presentation, and intermediaries pass on all they receive. Case to check: A seller's credential is revoked at 09:00. An airline that refreshes revocation lists once a day accepts that seller's create request at 10:00.

Open point: The guide does not say what the carrier does when a check fails, and leaves the refresh rate of revocation lists to each airline. The business must decide both.

1 card depends on it, directly or through other cards, in 1 area.

checks ONE-405.3Open question

Changes on a stale version are rejected

A change that carries a version other than the order's current version is rejected, under both readings.

Counterexample: two sellers read an order at version 3. The first seller's change moves it to version 4. The second seller's change still carries version 3, and under the reading where the airline applies it anyway, it is applied over a change its seller never saw (Lean example twoSellersOneVersion).

Open point: the guide permits an error on a mismatch and does not require one. The business must decide whether a mismatch always rejects the change and whether a change may be sent without a version.

No card depends on it yet.

checks ONE-401.4Open question

Every order holds a mandatory item

Every accepted selection includes at least one item the offer marks mandatory.

Counterexample: an a la carte offer holds a flight and a seat and marks neither mandatory. A seller selects the seat alone, and the selection is accepted with no mandatory item and no flight (Lean example seatWithoutFlight).

Open point: the guidance asks for at least one mandatory item in each offer and exempts a la carte offers. The business must decide which selections are allowed from an offer that marks no item mandatory, and whether a seat or bag may be ordered without its flight.

No card depends on it yet.

C-65Needs a decision

Failed payment at order creation

When an order is created with instant payment and the payment fails, the airline either returns the order with a warning or returns an error. The guide allows both. Case to check: The airline keeps the order and answers with an error. The seller concludes nothing was created and sends the request again, so the passenger holds two orders on the same flights.

Open point: The business must decide whether an order survives a failed instant payment and, if it does, whether it becomes an unpaid order with a payment time limit. It must also decide whether an error response may ever leave an order behind.

No card depends on it yet.

C-71Needs a decision

Group order limits

An order is a group order when the create request names a passenger group. Each airline sets the minimum and maximum number of passengers and the passenger details required at creation and at payment, and refuses creation or payment when these are not met. Case to check: A group order is created with 10 passengers against a minimum of 10. One passenger cancels, and the sources do not say whether the remaining 9 still form a group order.

Open point: The business must set the thresholds and the required details. It must also decide what happens when passengers leave a group order and the count falls below the minimum.

No card depends on it yet.

C-66Open question

One order per offer

An offer produces at most one order. A repeated create request for an offer that already produced an order returns the existing order or is rejected. Case to check: A create request times out at the seller and is sent again with a new transaction ID. Nothing in the sources stops the airline creating a second order from the same offer.

Counterexample: a seller sends a create request for the trip offer's flight and gets order ORD-5. The request is sent again after a timeout. Under the reading where the airline creates another order, the seller gets ORD-6 and the trip offer has produced two orders (Lean example repeatedRequest).

Open point: The guide says the airline checks that the offer is valid without listing the checks, and its retransmission ID for recovering a lost response is not tied to order creation. The business must decide whether creating an order uses up the offer and how a repeated request is recognized.

No card depends on it yet.

C-69Needs a decision

Order items in a retrieved order

A retrieved order shows every ACTIVE and CLOSED order item. CANCELLED items are left out, except when all items were cancelled in one transaction; those are shown for the retention period. The response to a change also shows the items that change cancelled. Case to check: Items A and B are cancelled in separate transactions. Every item is CANCELLED but the exception does not apply, so the retrieved order shows no items while Resolution 797 still requires access to it and C-01 requires at least one item.

Open point: The business must decide whether the exception covers every order whose items are all cancelled, however many transactions that took. It must also decide which retention period applies, since the guide points to Resolution 797 without saying whether the 7 day or the 13 month period is meant.

No card depends on it yet.

C-78Needs a decision

Order owner is the offer owner

The airline responsible for the accepted offer owns the resulting order. The order's owner code is that airline's designator, which also begins the order ID. Case to check: A seller selects offer A from airline XB and offer B from airline YY in one create request. The resulting order would have two owners.

Open point: Resolution 797 makes each offer responsible airline the owner of the orders for its own offers, and the capability pages allow one order from several offers. The business must decide whether one order may combine offers from different responsible airlines.

No card depends on it yet.

C-79Open question

Order total from item prices

Prices are held on order items, and a stored total price at order level is deprecated. An order's total at any version is the sum of its current item prices. Case to check: Items from an offer priced in EUR and an offer priced in USD go into one order. Adding them fails under def:money-add, so the order has no total.

Counterexample: one create request selects a flight at 400.00 EUR from an offer priced in euros and a hotel transfer at 60.00 USD from an offer priced in US dollars. The order is created and has no total in any currency (Lean example twoCurrencies).

Open point: The sources do not say whether one order may hold items in more than one currency, which can happen when items come from several offers. The business must decide, since a mixed-currency total has no value under the current money rules.

No card depends on it yet.

checks ONE-406.4Open question

Orders holding value stay accessible

An order is kept while it has an active item, under every reading of the guide and every count of months.

Counterexample: an order created on 2026-01-01 holds a flight removed with its value held for the customer and never used. On 2028-01-01 it still holds value under every reading, and the rule no longer requires it to be kept (Lean example storedValueNeverUsed).

Open point: the resolution requires nothing after 13 months from creation and from first usage, and defines neither term. The business must define an open item and first usage, and decide whether an order that still holds value must stay accessible.

No card depends on it yet.

C-68Needs a decision

Paying for part of an order

A seller can pay for unpaid order items in a later change, so an order can be partly paid. Each payment names the order items it pays for, including items priced at zero. Case to check: A bag item is paid and moves to READY TO PROCEED while the flight item stays unpaid. When the flight item's limit passes, the order holds a paid bag for a flight the passenger no longer has.

Open point: The sources do not say whether a seller may pay one item and leave unpaid another item it depends on, or what happens to the paid item when the other item's time limit passes. The business must also decide whether the price of an unpaid item is held until its time limit.

No card depends on it yet.

C-70Needs a decision

Read access to an order

A retrieve, list or history request returns an order only to a requester entitled to it. The sources describe these requests as made by the seller and give no rule on which sellers. Case to check: If holding the order ID is enough, anyone who reads it from a receipt can retrieve the order and its history, since the ID is the airline's public codes plus 8 characters.

Open point: The business must decide who is entitled: the seller that created the order, any seller or secondary agent that has acted on it, any party in the distribution chain of a past request, or anyone holding the order ID or booking reference. It must also decide which orders a search across many orders may return.

No card depends on it yet.

C-75Needs a decision

Service IDs in an order

Service IDs are unique within an order and never change. A service moved to a new order item in a change keeps its ID. Case to check: A change moves service S1 from item A to item B. Item A keeps S1 marked TRANSFERRED and item B holds S1, so the order has two service records with ID S1.

Open point: The identifier rules call unique service IDs and unique order item IDs a best practice, while the Order page states item IDs are unique, which bears on C-03. A transfer leaves the original TRANSFERRED service and the moved service in one order with the same ID, so the business must decide whether uniqueness covers every service record or only those not TRANSFERRED.

No card depends on it yet.

C-67Needs a decision

Statuses of a new order

A new order is OPENED and each of its order items is ACTIVE. Each service starts as CONFIRMED, REQUESTED or WAITLISTED. A confirmed service has delivery status CONFIRMED when the order is created without payment and READY TO PROCEED when it is paid at creation. Case to check: If C-05 rules that delivery status CONFIRMED holds no value, a new unpaid item has no service holding value and fails the ACTIVE condition of C-06 at the moment it is created.

Open point: The guide calls CONFIRMED one of the initial service statuses without listing the others, and gives no delivery status for a requested or waitlisted service. The business must decide those statuses and whether such a service gets a payment time limit or can be paid at creation.

No card depends on it yet.

If we decide this

An open guarantee fails under some reading of the sources. For these, Lean proves a version under one reading, named with _of_. The model leaves the choice of reading to the business.

Every order holds a mandatory item

Open point: the guidance asks for at least one mandatory item in each offer and exempts a la carte offers. The business must decide which selections are allowed from an offer that marks no item mandatory, and whether a seat or bag may be ordered without its flight.

Lean proves the guarantee for one reading of the sources. If the business settles the question this way, it holds for every input:

When an offer marks at least one item mandatory, every accepted selection includes one.

Proven as select_includes_mandatory_of_marked; open as select_includes_mandatory.

Order items match the selection

Open point: the business must decide whether a request with a rejected offer fails as a whole or goes ahead with the offers that pass (see C-64).

Lean proves the guarantee for one reading of the sources. If the business settles the question this way, it holds for every input:

Under the reading that rejects the whole request, an accepted request becomes an order whose items are, for each selection in turn, the items it selects from its offer and no others.

Proven as create_items_match_selection_of_wholeRequest; open as create_items_match_selection.

Order price is the sum of the selected items

Open point: the business must decide whether a request with a rejected offer fails as a whole or goes ahead with the offers that pass (see C-64).

Lean proves the guarantee for one reading of the sources. If the business settles the question this way, it holds for every input:

Under the reading that rejects the whole request, an order created from offers priced in one currency has a total in that currency: the sum of the prices of the selected items.

Proven as create_price_eq_sum_of_wholeRequest; open as create_price_eq_sum.

Atomic order creation

Open point: The capability pages allow one order from several offers and do not say what happens when one of them has expired or fails validation. The business must decide whether the whole request fails or the valid offers go ahead. The model takes the answer as a parameter with two readings.

Lean proves the guarantee for one reading of the sources. If the business settles the question this way, it holds for every input:

Under the reading that rejects the whole request, a request that names an offer which has expired at the instant of the request is rejected as a whole: no order is created.

Proven as create_rejects_expired_of_wholeRequest; open as create_rejects_expired.

One order per offer

Open point: The guide says the airline checks that the offer is valid without listing the checks, and its retransmission ID for recovering a lost response is not tied to order creation. The business must decide whether creating an order uses up the offer and how a repeated request is recognized.

Lean proves the guarantee for one reading of the sources. If the business settles the question this way, it holds for every input:

Under the readings that return the existing order or reject the request, no offer ever appears in two recorded orders.

Proven as once_per_offer_of_ne; open as once_per_offer.

Changes on a stale version are rejected

Open point: the guide permits an error on a mismatch and does not require one. The business must decide whether a mismatch always rejects the change and whether a change may be sent without a version.

Lean proves the guarantee for one reading of the sources. If the business settles the question this way, it holds for every input:

Where the airline rejects stale versions, a change that carries a version other than the current one is rejected.

Proven as stale_rejected_of_reject; open as stale_rejected.

Requirements

The requirements whose rules or guarantees are on this area's cards. Each opens its chapter in the review document.

IDRequirementRuleAcceptance criteria
ONE-401Selecting items from an offerWhen a seller selects items from an offer, the system shall accept the selection only if it names items the offer holds and includes every item the offer marks mandatory.3 proven · 1 open
ONE-402Creating one order from several offersWhen a seller sends a create request with selections from one or more offers, the system shall check each selection and create one order from them, or reject the request.1 proven · 4 open
ONE-403Repeated create requestsWhen a seller sends a create request, the system shall create the order and record the offers it came from, unless an offer it names has already produced an order.3 proven · 1 open
ONE-404Recording changes to an orderWhen the airline applies a group of changes to an order, the system shall raise the order's version by one and record the group in the order's history.4 proven · 1 open
ONE-405Change against a stale versionWhen a seller sends a change request, the system shall compare the order version the request carries, if any, with the order's current version before applying the change.2 proven · 1 open
ONE-406Order retentionThe system shall keep an order accessible for 13 months from its creation and for 13 months from its first usage while it has an active item, and for 7 days after every item has reached a final status.3 proven · 1 open

IATA capabilities

The capabilities of IATA's Airline Retailing Maturity Index that this area's candidate cards belong to. The codes and names are IATA's.