Machine codingBooking systemsAvailability & holds

Expedia India-Style Machine Coding Round: Format, Tips & Practice Problems

Written and reviewed by Sahil Srivastav

Booking systems sell scarce, time-sensitive inventory while providers and payment systems answer independently. Rounds in the style of Expedia India use holds, confirmation, cancellation, and pricing to expose unsafe state models.

The examples are Gronex originals intended to exercise those mechanics.

What a Expedia India-style machine coding round looks like

Build a booking or itinerary slice with search, hold, confirm, and cancel behaviour. Keep availability and reservation ownership explicit.

The extension commonly introduces expiry, partial itinerary failure, or a repeated confirmation. A hold state and idempotency key make the answers precise.

Discuss provider calls and compensation after the local state machine works.

How you’re evaluated

Hold semantics

Held inventory expires or releases without being double-sold.

Booking state

Confirmation and cancellation obey legal transitions.

Unknown outcomes

Provider timeouts have reconciliation paths.

Exact totals

Fees and cancellation amounts are calculated consistently.

Common mistakes that fail this round

  • Treating search availability as a reservation.
  • Confirming an expired hold.
  • Calling a provider twice without idempotency.
  • Refunding a partial itinerary as if all legs were equal.
  • Using system time directly in tests.

Quick tips for the room

  • Separate quote, hold, and booking.
  • Give provider calls keys.
  • Inject time.
  • Model partial failure explicitly.

How to prepare

Implement a hold-confirm-cancel state machine with an injected clock.

Practise booking, escrow, and idempotent callback repositories below.

Practice problems in the Expedia India-style round format

Each is a real backend repository with a failing test suite — the same working-code standard the round applies. Open the brief and read the full problem, no signup required.

HARD~105 min

Travel Booking Hold & Cancel

Time-bound holds and safe cancellation.

Open the challenge →
HARD~90 min

Escrow Hold & Release

Release held money exactly once.

Open the challenge →
MEDIUMFree~90 min

Seat Reservation System

Time-bound inventory reservations. Free to try.

Open the challenge →
MEDIUM~40 min

Idempotent Booking API

Return one result for repeated writes.

Open the challenge →
HARD~90 min

Billing & Proration Engine

Exact charges and plan changes.

Open the challenge →

Rehearse the round before you sit it

Open a real repository, see the failing tests, and make them pass against the clock — the loop a Expedia India-style machine coding round actually grades. Start free, no card required.

FAQ

Were these Expedia India questions?

No. They are Gronex originals in the style of booking-platform rounds. Gronex is not affiliated with Expedia.

What is the difference between hold and booking?

A hold temporarily owns inventory; a confirmed booking creates the durable commitment.

How do I handle provider timeout?

Represent the outcome as unknown and reconcile with the same request identity.

Do I need live provider APIs?

No. Use fakes that return success, failure, and timeout deterministically.

Related

Gronex is not affiliated with, endorsed by, or sponsored by Expedia India. All company names and trademarks belong to their respective owners. The problems on this page are Gronex originals written in the style of such interview rounds — not actual interview questions from Expedia India.