0% found this document useful (0 votes)
5 views

assignment 2

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

assignment 2

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Business platform topic: Flight booking system

Architecture design

Presentation layer

Web/ mobile app

User Interface (UI)

Business layer

Booking Flight User


management management management

Payment Notification
processing service

Integration layer

Third party API integration

Database Layer

Flight booking system DB

Infrastructure Layer

Web App Database Security


server server server service
Database design (E-R diagram)
Table airlines { Table passengers {
AirlineID int(10) [primary key] PassengerID int(20) [primary key]
AirlineName varchar(50) FirstName varchar(50)
AirlineContactNum int(30) LastName varchar(50)
} DateOfBirth time
Email varchar(50)
Table flights { PhoneNum int(50)
FlightID int(10) [primary key] PassportNum varchar(50)
AirlineID int(10) }
DepartureDateTime timestamp
ArrivalDateTime timestamp Table bookings{
DepartureAirport varchar(50) BookingID int(30) [primary key]
ArrivalAirport varchar(50) PassengerID int(20)
FlightDuration varchar(50) FlightID int(10)
FlightStatus varchar(50) BookingDate date
} BookingStatus varchar(50)
PaymentID int(50)
Table seats { }
SeatID int(10) [primary key]
FlightID int(10) Table payment {
SeatNum varchar(10) PaymentID int(50) [primary key]
SeatClass varchar(10) BookingID int(30)
SeatStatus bool PaymentDate date
} PaymentMethod varchar(50)
Amount double
Table airport { }
AirportID int(10) [primary key]
AirportName varchar(50)
City varchar(50)
Country varchar(50)
}

Ref: flights.AirlineID > airlines.AirlineID


Ref: flights.DepartureAirport - airport.AirportID
Ref: flights.ArrivalAirport - airport.AirportID
Ref: bookings.PassengerID > passengers.PassengerID
Ref: flights.FlightID - bookings.FlightID
Ref: payment.PaymentID - bookings.PaymentID
REf: seats.FlightID > flights.FlightID
API design documents
Methods Endpoints Descriptions
GET api/flights Lists of flights
GET api/flights/{FlightID} View a flight
POST api/bookings Make a booking for the selected flight
PUT api/bookings/{BookingID}/seat Select a seat for an existing booking
POST api/payments Make a payment for the booking

You might also like