<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Alex Yardley</title>
    <description>The latest articles on DEV Community by Alex Yardley (@alexyardleylaters).</description>
    <link>https://dev.to/alexyardleylaters</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4235593%2Fbac71325-f957-4ca6-bb51-5492d05b77cd.jpg</url>
      <title>DEV Community: Alex Yardley</title>
      <link>https://dev.to/alexyardleylaters</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/alexyardleylaters"/>
    <language>en</language>
    <item>
      <title>Designing flight checkout for uncertain payment states</title>
      <dc:creator>Alex Yardley</dc:creator>
      <pubDate>Mon, 09 Nov 2026 17:37:18 +0000</pubDate>
      <link>https://dev.to/alexyardleylaters/designing-flight-checkout-for-uncertain-payment-states-2nn9</link>
      <guid>https://dev.to/alexyardleylaters/designing-flight-checkout-for-uncertain-payment-states-2nn9</guid>
      <description>&lt;p&gt;An urgent flight booking compresses several decisions into a few minutes. A traveller may know where they need to be and still have to compare departure times, baggage, connections, fare conditions and ways to pay. &lt;/p&gt;

&lt;p&gt;For a product team, one difficult moment comes when a request takes longer than expected. A spinner describes activity. The traveller needs to understand whether they have a booking and what to do next.&lt;/p&gt;

&lt;p&gt;Here is a proposed interface model for that problem. The examples are illustrative; a team should map them to the states its own booking and payment services actually expose.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep the itinerary and commitment visible
&lt;/h2&gt;

&lt;p&gt;Choosing a flight and choosing how to pay are connected decisions. If the interface changes payment method or shows a status panel, it should keep the journey and total cost easy to review.&lt;/p&gt;

&lt;p&gt;A useful status card can carry four things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The itinerary being checked.&lt;/li&gt;
&lt;li&gt;The latest verified booking outcome.&lt;/li&gt;
&lt;li&gt;A reference the customer can use with support.&lt;/li&gt;
&lt;li&gt;One clear next action.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Where instalments are available, explain eligibility, repayment dates and any applicable interest or fees before confirmation. A small instalment figure cannot carry the whole explanation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Give uncertainty its own state
&lt;/h2&gt;

&lt;p&gt;Avoid deriving a customer-facing result solely from a browser spinner or a generic request error. Decide which service is authoritative for each outcome, and make the wording follow that evidence.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Verified outcome&lt;/th&gt;
&lt;th&gt;Example message&lt;/th&gt;
&lt;th&gt;Customer action&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;A request was received; outcome is pending&lt;/td&gt;
&lt;td&gt;We are checking your booking.&lt;/td&gt;
&lt;td&gt;Keep the status page available.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Payment status needs checking&lt;/td&gt;
&lt;td&gt;We could not confirm the payment status yet.&lt;/td&gt;
&lt;td&gt;Use the status or support route provided for this attempt.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;The payment attempt was declined&lt;/td&gt;
&lt;td&gt;This payment attempt was declined.&lt;/td&gt;
&lt;td&gt;Review the available alternatives and their terms.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ticket issuance is confirmed&lt;/td&gt;
&lt;td&gt;Your ticket has been issued.&lt;/td&gt;
&lt;td&gt;Open the itinerary and ticket details.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These are examples to adapt. Some businesses expose different stages, and the appropriate recovery action depends on their actual contracts and processes.&lt;/p&gt;

&lt;p&gt;The important design property is that an unknown result remains unknown until there is evidence to resolve it. A payment acknowledgement should not become a ticket-issued message merely because it makes the success screen simpler.&lt;/p&gt;

&lt;h2&gt;
  
  
  Make recovery deliberate
&lt;/h2&gt;

&lt;p&gt;For each state, write down which actions are available and why. Ask what could happen if a customer refreshes, returns from another page, or presses a primary button twice.&lt;/p&gt;

&lt;p&gt;An interface can disable a button while a request is in progress, but the wider workflow still needs a defined approach to repeated attempts and conflicting outcomes. The product and engineering teams should agree how an attempt is identified and when another attempt is appropriate.&lt;/p&gt;

&lt;p&gt;When the original result is unclear, the interface should direct the traveller towards checking that attempt. Do not suggest that repeating the same action guarantees a booking or a successful payment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Carry context into support
&lt;/h2&gt;

&lt;p&gt;The support handoff deserves as much design attention as the confirmation screen. A traveller should not have to reconstruct the entire journey from memory.&lt;/p&gt;

&lt;p&gt;Provide an appropriate reference and the latest status message. Make the support route easy to find, and explain what the traveller should include. Internally, decide which colleagues are authorised to see the information needed to investigate.&lt;/p&gt;

&lt;p&gt;For public examples, prototypes and documentation, use synthetic details. Avoid putting real booking references, customer information or payment details into a screenshot just to make a design example look realistic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Test transitions, not only screens
&lt;/h2&gt;

&lt;p&gt;A set of polished screenshots will not reveal whether the journey remains understandable when outcomes arrive in an unexpected order. Useful scenarios for a review include:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A request is acknowledged, but its final outcome is still pending.&lt;/li&gt;
&lt;li&gt;The customer returns after leaving the status page.&lt;/li&gt;
&lt;li&gt;A customer-facing error appears while the underlying outcome still needs checking.&lt;/li&gt;
&lt;li&gt;Payment status is known, but ticket issuance is not yet confirmed.&lt;/li&gt;
&lt;li&gt;Support receives a reference and needs to explain the next action.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For each scenario, check what the customer can reasonably conclude from the words on screen. Check the action button, the itinerary context and the support route together.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep refund language separate
&lt;/h2&gt;

&lt;p&gt;Changes and refunds introduce another set of states. A cancellation request, an approved refund and a change to a repayment schedule describe different events.&lt;/p&gt;

&lt;p&gt;Distinguish the airline's fare conditions from the payment provider's terms. Avoid a universal promise where the actual process varies by fare, booking or provider.&lt;/p&gt;

&lt;h2&gt;
  
  
  Measure whether the explanation works
&lt;/h2&gt;

&lt;p&gt;Define the booking outcome before counting completion. Review where customers seek clarification, whether status messages produce repeat contacts, and whether the recovery route helps support understand the attempt.&lt;/p&gt;

&lt;p&gt;Any claim of improvement needs a measurement window, a defined sample and evidence linking the observed change to the intervention. The proposed model above makes no claim about conversion, speed or financial performance.&lt;/p&gt;

&lt;p&gt;At &lt;a href="https://laters.com/" rel="noopener noreferrer"&gt;Laters.com&lt;/a&gt;, flight search and payment choice sit in the same customer journey. That makes checkout clarity a useful product-design problem: the traveller needs an understandable commitment, a reliable description of the booking state and a usable next step.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclosure: This article presents proposed design principles and illustrative messages. It does not describe a verified implementation or measured result at Laters.com.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ux</category>
    </item>
  </channel>
</rss>
