Mykhailo Ralduhin

Written by: Senior QA Engineer

Mykhailo Ralduhin

Posted: 06.11.2026

23 min read

A traveller who cannot check in and a pallet that never scans at the depot are the same bug. In both cases a hand-off between two systems – usually two companies – failed, and the product on top of it looked perfectly healthy.

Travel and logistics software is perhaps 20% your own product and 80% other people's: global distribution systems, channel managers, payment gateways, carriers, customs authorities, telematics units, charging hardware. Testing it means testing the seams.

The cost of a failed seam is not theoretical. In July 2024 a faulty update to a third-party security agent took down Delta's crew-tracking system; the airline cancelled more than 5,000 flights, manually reset 40,000 servers and lost around $500 million in five days. On the other side of the industry, US retailers expected $890 billion of merchandise to come back as returns in 2024 – every one of them a reverse-logistics transaction that has to hit the warehouse system correctly.

This guide follows one journey – search → book → pay → move → arrive — and treats travel and logistics as two lanes of the same road.

Each stage lists what breaks, splits into a travel lane and a logistics lane, and ends with a note from one of our own projects. We have tested tour and activity platforms, hotel tech, delivery, fleet and EV-charging products since 2010; what we cover as a service is described under logistics software testing services and travel software testing services. This article is the engineering behind those pages.

Ready to take your software quality to the next level?

What this guide covers
Stage
Travel systems
Logistics systems

Search and availability

Booking engines, GDS/NDC, bed banks, OTA connectivity

Rate shopping, capacity, lane management

Booking and payment

Checkout, 3-D Secure, ancillaries, loyalty, hotel PMS and channel managers

Order intake, quoting, shipment booking, customs documents

Movement

Connected vehicles, EV charging, maritime

Fleet and telematics, transportation management, route planning

Fulfilment

—

Warehouse management, supply chain, last mile

Arrival and after

Day-of-travel apps, travel websites

Visibility portals, invoicing, claims

Why travel and logistics software breaks at the hand-offs

Travel and logistics platforms fail at integration boundaries far more often than inside their own code, for five structural reasons.

1.

Every transaction crosses at least three companies' systems. A flight booking touches the OTA, the GDS or NDC aggregator, the airline, the payment provider and often a bed bank or car-rental partner. A shipment touches the shipper's ERP, the forwarder's transportation system, the carrier, customs and the consignee's warehouse. Each boundary is a place to lose, duplicate or misread a message.

2.

Inventory is perishable and shared. A seat, a room night or a truck slot sold twice is not a defect report – it is a refund, a compensation claim and a lost customer. The same inventory is being sold through several channels at once.

3.

Time zones and calendars are everywhere. Departure local time, arrival local time, depot cut-off time, carrier pick-up window, estimated time of arrival, daylight-saving switches, Southern-hemisphere seasons. A surprising share of production incidents are one-hour or one-day errors.

4.

Devices work in hostile conditions. A driver's phone in a steel-racked warehouse with no signal; a traveller's phone at a gate with 2,000 other phones on the same cell; a scanner that has to survive a drop and a shift without charging.

5.

Demand is seasonal and spiky. Peak season for a tour operator is three months of the year; peak week for a parcel carrier is the one before Christmas. An average-load test tells you nothing about the week that matters.

Our rule of thumb after fifteen years of this: if a scenario crosses a company boundary, it needs an automated test; if it crosses a time-zone boundary, it needs two.

Stage 1 — Search and availability: the inventory nobody owns

Availability is the first thing a customer sees and the first thing that is wrong, because the system showing it rarely owns it.

What breaks

1.

Stale availability served from a cache that outlived the inventory.

2.

The price on the results page is not the price at checkout, because the supplier re-priced in between.

3.

Date-boundary errors on overnight flights, multi-day tours and bookings that straddle a daylight-saving change.

4.

Capacity displayed for a lane, route or time slot that was closed an hour ago.

Travel sites already lose the overwhelming majority of visitors before purchase – SaleCycle measured an average booking abandonment rate of 90.7%, rising to 94% on OTAs – so an availability or price surprise at the end of the funnel is throwing away the few who were going to convert.

Travel lane: booking engines, GDS and OTA connectivity

  • Contract tests on every supplier API. GDS and NDC (New Distribution Capability) connections, bed-bank and channel APIs, activity suppliers. Record real responses, including the ugly ones – schedule changes, fare-rule changes, partial availability – and replay them in CI so a supplier schema change fails a build, not a booking.

  • Quote-to-book price parity as a release gate. An automated journey that searches, selects, re-prices and asserts the final amount against the first one, for every supplier type.

  • Cache-expiry tests. Prove that availability TTLs are respected and that a sold-out signal from the supplier invalidates cached results immediately.

  • A date and time-zone matrix. 23:55 departures, arrivals the next calendar day, DST switch nights in both directions, bookings made in one time zone for travel in another, Southern-hemisphere seasonal pricing.

For booking engines and reservation platforms specifically, the slot and resource logic needs its own coverage – capacity per time slot, equipment and guide constraints, buffer times between departures. That is the focus of our booking and reservation platform testing work.

Logistics lane: rate shopping, capacity and lane management

  • Carrier rate API contract tests, plus a calculation matrix for dimensional weight, zone pricing, residential and fuel surcharges, and accessorials. Rates change monthly; the matrix runs on every release.

  • Cut-off logic per depot and carrier, with country holiday calendars. The classic bug: an order accepted for same-day dispatch at 16:05 against a 16:00 cut-off because the server ran in UTC.

  • Capacity rules and lane closures as data-driven tests, so a closed lane cannot be quoted and a full trailer cannot be overbooked.

From our projects – Xola. Xola is a booking platform for tours and activities, where availability means capacity per time slot constrained by guides, vehicles and equipment, sold through the operator's site, resellers and walk-ups at once. We built more than 3,200 automated scripts covering availability, booking and payment flows and brought full regression down to two hours – which is what makes it possible to release during peak season instead of freezing for it. Read the Xola case study.

Stage 2 — Booking and payment: where money and inventory must agree

The booking stage has one invariant that every test should ultimately check: money, inventory and the customer's confirmation must all agree, or all roll back.

What breaks

1.

Payment captured, booking never created – or booking created, payment never captured.

2.

Double booking when two customers hit the last seat or room within the same second.

3.

Currency conversion and tax differ between the quote, the receipt and the invoice.

4.

A promo code, a loyalty redemption and a partner discount combine into a price nobody designed.

5.

A cancellation refund calculated on the wrong fare or rate rule.

Travel lane: checkout, 3-D Secure, ancillaries and loyalty

  • Idempotency and compensation tests. Simulate payment success followed by an inventory failure (and the reverse) and assert the system reaches a consistent state with no orphaned charges or ghost bookings. Retry the same booking request and confirm exactly one booking exists.

  • Concurrency on the last unit. Fire parallel bookings at the final seat or room and assert exactly one succeeds and the rest get a clean, truthful message.

  • Fare-rule and cancellation matrices. Refundable, non-refundable, partially refundable, change-fee, no-show – for every product type and currency, including rounding on multi-currency bookings.

  • Ancillaries and bundles. Seats, bags, insurance, transfers – each with its own supplier and its own refund logic.

Checkout itself – authorisation, 3-D Secure challenges, wallets, failed and retried payments – has enough depth for its own article; our payment gateway testing guide covers what to assert from checkout to confirmation.

Hospitality: PMS, channel managers and the overbooking problem

Hospitality software testing has one dominant failure: the overbooking that happens when the property management system (PMS), the channel manager and the OTAs disagree about how many rooms are left.

  • Channel sync tests. An OTA booking must reach the PMS and the updated availability must reach every other channel within the agreed SLA (typically seconds, not minutes). Automate the loop and measure it.

  • Overbooking simulations. Parallel bookings across channels on the last room; multi-room and group bookings; rate-plan restrictions (minimum stay, closed to arrival).

  • Operational flows. Night audit, folio splits, deposits and city taxes, early check-in and late check-out charges, time-zone logic for properties in multiple regions.

  • Multi-property setups, where a chain shares a guest profile but not inventory.

We have tested hospitality products for FindHotel, RedWeek, HomeExchange and HotelTap, from metasearch to timeshare exchange to in-stay guest services; the PMS-specific coverage – sync, overbooking, audit – is described under hotel property management software testing.

Logistics lane: order capture, quoting and booking a shipment

  • Order-to-shipment state machine tests. Every allowed and disallowed transition from order received to shipment tendered, with EDI (204 tender, 990 response, 214 status) or their API equivalents validated field by field.

  • Quote-to-booking price parity, including accessorials added after quoting and fuel surcharge updates between quote and tender.

  • Customs documentation as data-driven tests. HS code validation, incoterms, commercial invoice generation, dangerous-goods declarations – the documents that stop a shipment at the border when wrong.

From our projects – BookThatApp. BookThatApp is a booking application that lives inside Shopify stores, which means every booking is created inside someone else's checkout. The test surface is not just the app: it is Shopify's own order flow, its webhooks (which arrive late, twice or out of order) and the merchant's theme, which changes without notice. Our regression suite treats the host platform as an integration partner with its own contract tests. Read the BookThatApp case study.

Stage 3 — Movement: tracking, routing and the vehicles themselves

Once a trip or a shipment is in motion, the software's job is to know where things are, predict when they arrive, and keep the vehicle itself working.

What breaks

1.

GPS positions arrive out of order or duplicated, and the trip reconstruction shows a truck teleporting.

2.

The ETA is off by hours because of a time-zone conversion or a stale traffic feed.

3.

Route optimisation produces a route a 4-metre-high truck cannot drive, or a driver cannot legally complete.

4.

Telematics events are dropped under load and a geofence alert never fires.

5.

A charging session starts, the car charges, and nobody is billed.

Fleet management and telematics

Fleet testing is mostly data-pipeline testing: the vehicles are producing a stream, and the product is only as good as its reconstruction of it.

  • Replay real GPS traces – including tunnels, urban canyons, device sleep and reconnection bursts – through the ingestion pipeline and assert trip start/stop, distance and stop detection against known truth.

  • Load-test the event pipeline at fleet scale: thousands of vehicles reporting every 5–10 seconds, with the bursts that happen when a region's devices reconnect at once.

  • Driver-hours and compliance rules as hard test cases that block a release when they fail; geofence entry/exit and alert de-duplication.

  • Device variety. Telematics units differ in firmware, message formats and clock drift; the lab needs real units, not just simulated streams.

Our coverage for GPS, telematics and driver-facing products is described under fleet management software testing.

Transportation management systems and route planning

A transportation management system decides which carrier moves what, by which route, at what cost – and the tests have to prove the decision, not just the screen.

  • Golden-route testing. Fixed sets of orders with known optimal or acceptable routes; every optimisation release is compared against them with constraint matrices for vehicle type, driver hours, time windows and depot capacity.

  • Carrier tendering flows. Tender, accept, reject, re-tender, with timeouts and partial acceptances.

  • Freight audit. Carrier invoices checked against contracted rates and the original quote – the place where money leaks quietly.

  • ETA accuracy as a release metric. Compare predicted against actual arrival on historical data and set a threshold; an ETA model regression is a defect even if nothing "errors".

What we test in transportation management specifically – optimisation, tendering, audit, visibility – is on the transportation management system testing page.

Connected vehicles and EV charging

Automotive software testing has moved from the vehicle to the ecosystem around it: the companion app, the back end, the charger and the roaming network.

  • Companion app pairing across phone OS versions and head-unit generations; what happens when the phone updates and the car does not.

  • Over-the-air update flows, including interrupted updates and rollback.

  • Offline behaviour. Remote lock, pre-conditioning and charge scheduling when the car is in an underground garage with no signal.

  • EV charging. OCPP message flows between charger and back end (start, stop, meter values, status, error codes); roaming via hub protocols; tariff application and session billing reconciled three ways – charger, back end, app – because that is where the money goes missing; firmware variety across charger vendors.

Our automotive work covers infotainment, companion apps and charging networks; the scope is described under automotive software testing.

From our projects – Dootrix. For a UK EV-charging app built by Dootrix, our team wrote more than 400 test cases and automated 100+ mobile and 50+ backend scenarios across 20+ devices. The expensive defects were never in the UI. They were session-billing mismatches: a charger reporting one meter value, the back end storing another, the app showing a third. Three-way reconciliation became a standing automated check on every build. Read the Dootrix case study.

Maritime and ports

  • Multi-source schedule data. Vessel schedules and port calls arrive from carriers, ports and AIS feeds that disagree; tests assert the merge logic and the handling of late or conflicting updates.

  • Offline-first crew and inspection apps, used at sea and in ports with intermittent connectivity, with sync-conflict scenarios.

  • Document-heavy flows – bills of lading, dangerous-goods declarations, port clearances – with validation rules per port and flag state.

Our approach to vessel, port and crew software is on the maritime software testing page.

Stage 4 — Fulfilment: warehouses, supply chain and the last mile

Fulfilment is where the physical world pushes back hardest on the software: scanners, aisles without Wi-Fi, suppliers who ship something other than what they announced.

What breaks

1.

A pick list built from stock that another order already allocated.

2.

The scanner app loses its session between aisles and the picker has to log in again – twenty times a shift.

3.

A return is received but stock never updates, so the item is sold again from thin air.

4.

The supplier's advance shipping notice (ASN) says 120 cartons; 114 arrive; the system books 120.

5.

A delivery marked complete with no proof of delivery, and a customer who says it never came.

With 16.9% of retail sales expected to come back as returns, and 67% of consumers saying a bad returns experience would stop them shopping with a retailer again, the reverse flow deserves the same test coverage as the forward one.

Warehouse management systems

  • Allocation and pick/pack/ship logic under concurrency. Parallel orders competing for the same stock; wave planning; partial picks and short-ships.

  • Rugged devices on real hardware. Zebra and Honeywell scanners, not emulators: offline-and-reconnect scenarios, battery-swap mid-task, screen readability in a cold store.

  • Barcode and RFID edge cases. Damaged labels, duplicate serials, mixed-SKU pallets, lot and expiry tracking.

  • Cycle counts and adjustments reconciled to the ERP.

The warehouse-floor coverage – allocation, devices, counts – is described under warehouse management system testing.

Supply chain management and supplier integrations

SCM testing is integration testing with a dozen partners who each do it slightly differently.

  • EDI and API contract tests with every supplier, including the failure modes: late ASNs, duplicate purchase-order acknowledgements, quantity mismatches.

  • ASN-versus-receipt reconciliation as an automated scenario with every discrepancy type (over, short, substitution, damage).

  • Demand planning and replenishment rules as data-driven tests, with multi-entity and multi-currency setups.

  • Quality inspection workflows and audit trails – who inspected what, when, against which specification.

Supplier collaboration, planning and inspection coverage is on the supply chain management software testing page.

Last-mile delivery apps

  • Driver app offline. Full route available without signal; proof of delivery (photo, signature, one-time code) captured offline and synced later without loss or duplication; failed-delivery reasons and re-attempt scheduling.

  • Customer-facing promises. Time-window notifications and live tracking links tested against actual events; what the customer sees when the driver app is offline.

  • A full-shift profile. Battery and data consumption over eight hours of navigation, scanning and photos – a driver app that dies at 15:00 is a functional failure.

From our projects – QIMA and Sway. QIMA runs supply-chain quality and compliance inspections performed by field staff worldwide, mostly on mobile, often offline in factories and ports. Our 1,000+ automated tests cover inspection workflows, report generation and the integrations that feed results back to brands. Read the QIMA case study. For Sway, a delivery service, the work centred on the courier and customer apps and the dispatch back end that connects them – the same offline, proof-of-delivery and notification scenarios described above. Soapbox, a delivery and logistics platform, is another client in this space.

Stage 5 — Arrival and after: the traveller's and the shipper's experience

The last stage is the one the customer remembers, and it runs on the worst network conditions of the whole journey.

Travel apps on the day of travel

Travel app testing has to assume the airport: a congested cell, a hurried user, and a boarding pass that must open in one tap.

  • Check-in and boarding. Check-in windows by airline and route, seat changes, boarding pass to Apple Wallet and Google Wallet, offline access to documents.

  • Disruption flows. Gate-change and delay pushes (timely, not duplicated), rebooking and compensation claims, voucher issuance and redemption.

  • Low-signal and roaming behaviour. Throttled and intermittent networks, roaming data caps, airplane mode mid-flow.

  • Accessibility to WCAG 2.2 AA. Stations and airports are where screen-reader and low-vision users rely on the app most.

Device matrices, network shaping and the mobile-specific toolchain are covered in our guide on how to test mobile applications.

Travel websites and conversion

  • Core Web Vitals on search-results pages, which are the heaviest pages on the site and the ones that lose impatient visitors.

  • Cross-browser and cross-device coverage driven by analytics, not assumptions.

  • A/B test integrity – the variant served, the variant recorded.

  • Price-display compliance. All-in pricing rules in the EU, UK and US (drip-pricing bans) are now a test case, not a legal footnote.

Logistics: visibility portals, invoicing and claims

  • Tracking accuracy. Portal events compared to carrier events for latency and completeness; an exception shown within minutes, not at the end of the day.

  • Invoice audit. Carrier invoice versus contracted rate versus quote; disputed-line workflows.

  • Claims and returns. Damage and loss claims with evidence, carrier liability rules, and return-merchandise flows that update stock when the goods are received.

Cross-cutting: the four tests every travel and logistics platform needs

1.

Integration contract tests for every external partner, with recorded failure modes. Not just the happy response – the timeout, the partial, the duplicate, the schema change. The mechanics are in our step-by-step API testing automation tutorial.

2.

A date and time-zone matrix that runs on every release. Every data-driven suite gets a time-zone column; DST nights and year boundaries are permanent fixtures.

3.

A seasonal peak load test modelled on last year's real curve plus expected growth, run on production-like infrastructure well before the season.

4.

Offline-first mobile scenarios for anyone who works in a warehouse, a port, a plane or a van – and for every customer at a gate.

How we set up QA for travel and logistics platforms: an honest playbook

After fifteen years of tour operators, hotel tech, delivery and fleet products, our approach has settled into five moves.

1.

Map the hand-offs first, screens last. Before the first test case, we draw the partner map: every external system, every message, every direction. The test strategy follows the arrows on that map. Screens come after, because screens are where the bugs show, not where they start.

2.

Build the integration sandbox ourselves. Most GDS, carrier and charger partners have no test environment that behaves like production – some have none at all. We record real traffic, build mocks that reproduce the failure modes we have actually seen, and keep contract tests running against the live partner to catch drift.

3.

Treat time zones as a first-class test dimension. Every parameterised suite carries a time-zone column. DST switch nights in Europe, North America and Australia are standing test dates, run before each one.

4.

Automate the money path and the inventory path before anything else. Payment ↔ booking ↔ availability consistency (or payment ↔ shipment ↔ stock) is the suite that runs on every commit. UI polish waits.

5.

Rehearse the peak six weeks early. Load tests follow last season's real arrival curve plus growth, on production-like infrastructure, with time left to fix what they find. The week before peak is too late to learn anything useful.

Two lessons we learned the expensive way. Early on we trusted a partner's sandbox as representative of production; it returned clean responses the live system never did, and the first real schedule-change message broke the booking flow in production. We now treat every sandbox as a hint, not a specification. And we once under-tested a daylight-saving night because "it's only one hour": the overnight tour departures for that date disappeared from search for six hours. Every suite has had a DST column since.

Travel and logistics software testing checklist

Stage 1 — Search and availability

  • Contract tests exist for every supplier and carrier API, with recorded failure responses replayed in CI.

  • Quote-to-book (or quote-to-tender) price parity is an automated release gate.

  • Availability cache expiry and sold-out invalidation are tested.

  • The date/time-zone matrix covers overnight, multi-day, DST and cross-zone cases.

  • Carrier rate, surcharge and dimensional-weight calculations run as a data-driven matrix.

  • Depot and carrier cut-off logic is tested with country holiday calendars.

Stage 2 — Booking and payment

  • Payment–inventory consistency is tested for every failure order, with idempotent retries.

  • Last-unit concurrency tests produce exactly one booking.

  • Fare, rate and cancellation rules are covered per product and currency.

  • Channel-manager sync to PMS and back is measured against its SLA.

  • Overbooking simulations run across channels, multi-room and group scenarios.

  • Order-to-shipment state transitions and EDI/API messages are validated field by field.

  • Customs documents are generated and validated from test data.

Stage 3 — Movement

  • Real GPS traces are replayed and trip reconstruction asserted.

  • Telematics ingestion is load-tested at fleet scale with reconnection bursts.

  • Driver-hours and compliance rules are blocking test cases.

  • Route optimisation is compared against golden routes and constraint matrices.

  • ETA accuracy is tracked as a release metric.

  • Companion-app pairing, OTA updates and offline vehicle commands are tested across device generations.

  • EV charging sessions are reconciled three ways: charger, back end, app.

Stage 4 — Fulfilment

  • Allocation and picking logic is tested under concurrent orders.

  • Scanner apps are tested on real rugged devices with offline-and-reconnect scenarios.

  • ASN-versus-receipt reconciliation covers every discrepancy type.

  • Returns update stock and trigger refunds correctly.

  • Driver apps capture proof of delivery offline and sync without loss or duplication.

  • A full-shift battery and data profile is recorded per release.

Stage 5 — Arrival and after

  • Check-in, wallet passes and documents work offline and on throttled networks.

  • Disruption notifications are timely and de-duplicated; rebooking and vouchers are tested.

  • Search pages meet Core Web Vitals targets; price display meets all-in pricing rules.

  • Portal tracking matches carrier events; invoice audit and claims flows are covered.

Cross-cutting

  • A seasonal peak load test runs on last year's curve plus growth, at least six weeks before peak.

  • Accessibility is verified to WCAG 2.2 AA on day-of-travel and driver-facing screens.

Conclusion

Travel and logistics products are journeys through other people's systems, and they break where those systems meet. Three hand-offs cause most of the damage: availability that disagrees with price, payment that disagrees with the booking or shipment, and a scan that disagrees with stock. Put automated, data-driven tests on those three seams, give every suite a time-zone column, and rehearse the peak before it arrives – most of the rest of this checklist follows from there.

If you want to see how this works on your platform, talk to us about a free proof of concept on one hand-off: search-to-book price parity for a travel product, or scan-to-stock consistency for a logistics one.

Book a strategic QA consultation

FAQ

What does travel software testing include?

Functional, integration, performance and mobile testing of booking engines, GDS/NDC and OTA connections, payment and ancillary flows, hotel property management and channel-manager sync, and day-of-travel apps — with particular weight on price parity, inventory consistency, time-zone logic and seasonal peak load.

What are logistics testing solutions and when do you need them?

Logistics testing solutions cover transportation and warehouse management systems, fleet and telematics platforms, supply-chain integrations and last-mile apps: contract tests with carriers and suppliers, data-driven rate and routing checks, rugged-device and offline testing, and peak load rehearsals. You need them as soon as your platform depends on partners you do not control — which, in logistics, is from day one.

How do you test GDS and OTA integrations without a sandbox?

Record real production traffic, including error and edge responses; build mocks that reproduce those cases for CI; and run lightweight contract tests against the live partner on a schedule to detect schema or behaviour drift. Treat any partner sandbox as a hint, not a specification.

How do you test a hotel PMS for overbooking?

Automate the sync loop — OTA booking → PMS → availability update to all channels — and measure its latency; fire parallel bookings across channels at the last room and assert exactly one succeeds; cover multi-room, group and rate-restriction scenarios; and run the suite at the booking-volume peak, not at idle.

How is automotive software testing different from mobile app testing?

The mobile app is one node in a system that includes the vehicle head unit, the back end, over-the-air updates and — for EVs — chargers and roaming networks speaking OCPP. Tests must cover pairing across hardware generations, offline vehicle commands, interrupted updates and billing reconciliation between charger, back end and app.

How do you load-test a booking platform for peak season?

Take last season's real traffic curve from analytics, add expected growth, and replay it on production-like infrastructure — including the search, re-price and payment steps, which have different scaling behaviour. Run it at least six weeks before the season so there is time to fix what it finds.

Mykhailo Ralduhin

About the author

Mykhailo Ralduhin

Senior QA engineer

Mykhailo Ralduhin is a Senior QA Engineer at DeviQA, specializing in building stable, well-structured testing processes for complex software products.