Superapp / Product requirements / flights

Palisade Air — product requirements

Version 4.08 features33 requirements13 Must Open appJSONMarkdown

Palisade Air is an airline booking site. Travellers search one-way, return and multi-city trips, compare Basic, Standard and Flex fares, pick seats, add bags and extras, pay by card and receive a booking reference. Members sign in to Manage booking to review their trips, change seats and cancel with fare-based refunds. The clock is fixed at Monday 2 Nov 2026, 12:00.

Problem. Travellers must see one honest price for every passenger type, be stopped from choosing seats they are not allowed to take, and know exactly what a cancellation refunds before they confirm it.

Users

Goals

Out of scope

Contents

Search and results

Trip search, fare calendar and the flight list.

FR-SRC-01
Must
The Book a flight screen shows the Palisade Air brand, a single heading "Book a flight", the trip types One-way, Return and Multi-city, "Popular routes" and the three fare families as cards.
  • Fare families Basic, Standard and Flex are shown under "Three fares on every flight"
FR-SRC-02
Must
A one-way search lists every flight of the day, cheapest first, each with three fares.
  • ALQ to BKW on 2026-11-10 shows heading "Albuquerque to Brookwater" and "8 of 8 flights"
  • First row SK 474, 05:30 to 07:24, Nonstop, from $67.00; fares Basic $67.00, Standard $112.00, Flex $187.00; "6 seats left"
FR-SRC-03
Should
A seven-day fare calendar centred on the searched date shows each day's lowest fare and marks the cheapest day "Lowest". Days before today have no price and cannot be selected.
  • Search 10 Nov shows 7 Nov to 13 Nov; 10 Nov $67.00 (Lowest), 8 Nov $79.00, 13 Nov $90.00
  • Search 2 Nov: 30 Oct to 1 Nov show no price; 2 to 5 Nov are $78.00, $75.00, $66.00, $72.00
  • Clicking a day reloads the list for that day
FR-SRC-04
Should
Origin and destination must differ.
  • "Origin and destination must be different" beside the To field and no results
FR-SRC-05
Must
A return trip cannot return before it departs.
  • Depart 2026-11-10 and Return 2026-11-09 shows "Return date cannot be before the departure date" and lists no flights
FR-SRC-06
Should
The earliest searchable date is today (2 Nov 2026) and the latest is 330 days ahead.
  • A search for today returns results
  • 2027-12-10 shows "Flights can be booked up to 330 days ahead" beside the date
FR-SRC-07
Could
Long routes mix nonstop and one-stop flights and name the stop airport and the total duration.
  • ALQ to LMZ on 2026-11-10: CM 252 05:15 to 08:12 Nonstop 5 h 57 min, Basic $271.00
  • SK 837 15:40 to 20:22 "1 stop · GRV", Basic $225.00
  • CM 147 09:15, "1 stop · CVX", 7 h 42 min, Basic $249.00
FR-SRC-08
Could
The results screen uses a framed-sheet layout: fare calendar on top, filters on the left, flight list on the right, with one heading; an opened row shows three fare cards with prices and rules.

Pricing

Fares, passenger-type rates, taxes and bags.

FR-PRC-01
Must
Fares are priced per passenger type: adult 100%, child 75%, infant 10% of the adult fare. Taxes and fees are 12% of the fare plus $18.50 per paying passenger, plus $12.00 per infant.
  • 1 adult on SK 474 Basic: fare $67.00, taxes $26.54, total $93.54
  • 2 adults, 1 child, 1 infant: fares $134.00 + $50.25 + $6.70, taxes $89.61, total $280.56
  • 1 adult + 1 child: fares $67.00 + $50.25, taxes $51.07, total $168.32
FR-PRC-02
Must
Extra checked bags cost $40.00 each beyond the fare allowance (Basic 0, Standard 1, Flex 2), up to 4 bags per passenger, and the order total includes the fee.
  • 3 bags on Basic: line "Extra checked bags $120.00"; total $213.54 (fare $67.00 + taxes $26.54 + bags $120.00)
  • The add button stops at 4; removing bags reduces the line and the total ($80.00 at 2 bags; line gone and $93.54 at 0)
FR-PRC-03
Should
Passenger rules: an infant needs an adult (infants cannot outnumber adults) and an infant does not get a seat.
  • "Infants travel on an adult's lap" is shown in place of a seat for the infant

Passenger details

Names, dates of birth and contact details.

FR-PAX-01
Should
Each passenger field refuses bad input with its own message and the screen only advances when all fields are valid.
  • "First name is required"
  • "First name can only contain letters, spaces, hyphens and apostrophes"
  • "Date of birth is required"
  • "Adults must be 16 or older on the travel date"

Seat selection

Priced seat map with safety rules.

FR-SET-01
Should
Legroom seats cost $35.00, exit-row seats $28.00 and standard seats $12.00 on Basic; occupied seats cannot be selected; selecting a new seat releases the previous one and Clear seat removes the charge.
  • 2A (legroom) $35.00; 14A (exit row) $28.00 and 2A is released
  • 14B and 9A are occupied and not selectable
  • After Clear seat the total is $93.54
FR-SET-02
Must
Passengers under 16 cannot take an exit-row seat.
  • "Passengers under 16 cannot sit in an exit row" and the seat is not assigned
  • Row 12 is allowed for the child; an adult without an infant may take 14A
FR-SET-03
Must
An adult travelling with an infant cannot take an exit-row seat.
  • "Passengers travelling with an infant cannot sit in an exit row" and 14A is not assigned
FR-SET-04
Could
The seat map shows a 3-3 grid with an aisle, row numbers, a legend and distinct looks for free, occupied, exit-row and legroom seats.

Payment

Card payment with priced summary.

FR-PAY-01
Should
Card number, expiry and security code are validated before payment.
  • Failing check digit: "Enter a valid 16-digit card number"
  • Expiry 10/26: "This card has expired"
  • Expiry 13/29: "Use the format MM/YY"
  • Two-digit code: "Security code must be 3 digits"
FR-PAY-02
Should
A declined card shows an error, keeps the traveller on Payment and creates no booking.
  • Card number 4000 0000 0000 0002 shows "Your card was declined. Try another card." on the card number
  • Retrying with a valid card confirms the booking
FR-PAY-03
Could
The payment form sits beside a sticky price summary (Fares, Taxes and fees, Total) with all text at least 12px.

Booking and confirmation

End-to-end booking and the confirmation receipt.

FR-BKG-01
Must
A guest can book a one-way flight with a seat and receives a six-character booking reference and a receipt whose total equals the amount at payment.
  • SK 474 Basic with seat 14A: Payment total $121.54 (fare $67.00, taxes $26.54, seat $28.00)
  • "Booking confirmed"; Total paid $121.54; "Paid with card ending 4242"; passenger and seat 14A listed
FR-BKG-02
Must
A return booking prices both flights, each with its own fare family, in one total.
  • SK 474 Standard out + SK 606 Basic back with seat 14A: Fares $206.00, taxes $61.72, seat $28.00, total $295.72
  • Both flights are listed on the confirmation; seats are chosen per flight on tabs
FR-BKG-03
Must
A family booking prices every passenger at their own rate and the confirmation total matches the payment total.
  • 2 adults, 1 child, 1 infant on SK 474 Basic: total paid $280.56
FR-BKG-04
Could
The confirmation shows the booking reference in a bordered box, then the itinerary card, then the passengers card with price lines and a right-aligned "Total paid" row.

Manage booking

Member sign-in and booking list.

FR-MNG-01
Must
A member signs in and sees their own bookings split into Upcoming and Cancelled.
  • Heading "Manage booking", "Signed in as" the member name
  • Upcoming: PX4K7M, QT9W2C, ZL6R3N; Cancelled: MB2D8H
FR-MNG-02
Must
Bad credentials are refused with specific messages.
  • Empty: "Enter your username or email and your password"
  • Wrong password: "Invalid credentials" and the screen stays on sign-in
FR-MNG-03
Should
A booking detail shows its flights, fares, seats per passenger and payment.
  • PX4K7M: Confirmed; ALQ to BKW 12 Nov CM 953 09:20 Standard and BKW to ALQ 16 Nov PA 459 11:30 Standard
  • Amelia Hart 9C out / 9D back; Noah Hart 9B out / 9E back; Total $660.88, card ending 4242
FR-MNG-04
Should
A member can only open their own bookings.
  • Looking up a reference of another member shows "Booking RC5V1T was not found" and reveals nothing
FR-MNG-05
Could
Manage pages require sign-in; a signed-out visit to a booking shows "Sign in to manage your booking" and returns to that booking after login.

Cancellation and seat changes

Fare-based refunds and the seat-change window.

FR-CAN-01
Must
Cancelling a Standard booking deducts a $75.00 fee per paying passenger per flight from the fare; taxes and seats are refunded. Refund = amount paid minus fee. The dialog shows Paid, Cancellation fee and Refund to card, and nothing changes until confirmed.
  • PX4K7M: Paid $660.88; Cancellation fee $300.00; Refund to card $360.88
  • Escape or "Keep booking" closes the dialog; status stays Confirmed
  • Confirming: status Cancelled and note "Refunded $360.88 to the card ending 4242, after a $300.00 cancellation fee"
  • The booking moves to the Cancelled tab (2 cancelled, 2 upcoming)
FR-CAN-02
Should
Cancelling a Basic booking refunds taxes only; the fare and seats are kept. Flex refunds in full.
  • QT9W2C: Paid $132.42; Cancellation fee $0.00; Not refundable $103.00; Refund to card $29.42
FR-CAN-03
Could
Seat changes close 24 hours before departure.
  • QT9W2C (departs next day 05:05): "Seat changes close 24 hours before departure" and the seat is unchanged
FR-CAN-04
Could
The bookings table has Reference, Trip, Departs, Passengers, Status and Total columns with right-aligned totals; the cancel dialog is centred over a dimmed page with "Keep booking" as the quiet button and "Cancel booking" as the danger button.

Non-functional requirements

NFR-01
Could
At 390px width the sidebar collapses behind a Menu button (with a drawer that "Close menu" dismisses), results stack with filters above the list and there is no horizontal page scroll.

Glossary and rules

Fare familyBasic (no bags, no changes, taxes-only refund), Standard (1 bag, $75 fee), Flex (2 bags, free changes, full refund).
Exit rowRow 14; not available to passengers under 16 or adults travelling with an infant.