Design trip booking REST API and schema

Read the full interview experience this question came from →

Quick Overview

This question evaluates RESTful API design, temporal data modeling, inventory management strategies, request/response/status-code design, data schema and indexing, and handling booking lifecycle changes such as extensions.

Design trip booking REST API and schema

Company: Turo

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Technical Screen

Design a RESTful API for a guest to book a trip. Include: - Core endpoints (search availability, create booking, view/cancel booking, payment/confirmation if needed) - Request/response shapes and key status codes - Data model design and indexing - Two inventory modeling approaches: 1) "Per-date inventory" (store availability per day) 2) "Range/interval-based inventory" (store availability as date ranges) Compare pros/cons. Follow-up: Add support for extending an existing order/booking (e.g., extending checkout date). What changes are needed in the API and the data model?

Overview: This question evaluates RESTful API design, temporal data modeling, inventory management strategies, request/response/status-code design, data schema and indexing, and handling booking lifecycle changes such as extensions.

Read the full Turo Software Engineer interview experience this question came from

Turo logo
Turo
Feb 12, 2026
mediumSoftware EngineerTechnical ScreenSystem Design
14
0

Design a RESTful API for a guest to book a trip.

Include:

  • Core endpoints (search availability, create booking, view/cancel booking, payment/confirmation if needed)
  • Request/response shapes and key status codes
  • Data model design and indexing
  • Two inventory modeling approaches:
    1. "Per-date inventory" (store availability per day)
    2. "Range/interval-based inventory" (store availability as date ranges) Compare pros/cons.

Follow-up: Add support for extending an existing order/booking (e.g., extending checkout date). What changes are needed in the API and the data model?