# 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" ] }