---
# System prepended metadata

title: airplane booking

---

# airplane booking

## mô tả 

## fontend feature

## backend feature

### user addmin
- tạo hãng máy bay, chuyến bay 
- kiểm tra được thông tin chuyến bay như (người đặt chuyến bay)
### user information
- tạo thông tin người dùng (email, pasword, sdt,mã chuyến bay, số chổ ngồi(count))
 - nếu người dùng đặt chuyến bay mà k co tk đăng nhập thì cần email, ,sdt và thông tin booking (cool feature)
### booking
- nếu người dùng đặt chuyến bay mà có tk đăng nhập thì lấy thông tin từ tk rồi push thêm thông tin booking
- tạo booking: 
     - userID
     - flightID
     - status 
- người dùng chọn ngày bay trước 1 tháng 
- người dùng có thể cancel chuyến bay trước 1 ngày, và hoàn 80% tiền chuyến bay
## models
### user addmin
- create
  - create user addmin
    - status: addmin 
  - create airlines
  - create ariplane flight
    - contain 30 chair
- status ariplane flight
   - [pending, accepted, done]  
### user infomation
 - name, email, password, sdt
 - isdeleted
 - 
### booking 
- author: User
- cccd
- flight
- number chair
- price booking
- status: { }
- địa điểm xuất phát và địa điểm hạ cánh
- số chổ ngồi của máy bay hiện tại còn chỗ
- thời gian xuất phát chuyến bay máy bay
- thanh toán thông qua thẻ
### flight
- airlines
- plane
- from ( HCM ) 
- to ( DN )
- time from
- time to 
- price / 1 User: { type: number, required: true }
<!-- - signed luggage: { type: number, defaul: 7kg } -->
<!-- - ratings -->
- user booking count: { type: string, defaul: number }
- status: { type: string, }

### arilines
- name: { type: "String", required: true, enum: [ "Vietnam Airlines", "Vietjet Air", "Jetstar Pacific Airlines", "Bamboo Airways" ] ] }
- planes: [ planeId ]
- count plane: { type: string, defaul: number }

### plane
- name plane: {type: String, required: true}
- mã số hiệu plane: { type: String, required: true }
- authorAirlines: { arilinesId }
- chair count: number
<!-- - cabin count: { type: string, defaul: number } -->

<!-- ### cabin
- name: { type: String, required: true }
- authorPlane: { planeId }
- chair count : { type: string, defaul: 30 } -->

### chair
- indexSeat: { type: number, required: true }
- flight
- status: { type: String,  required: true, enum: [ "none", "place" ] }