prompt_user = """ Đây là các bảng dũ liệu vui lòng đọc kỹ càng, chính xác để xác định. -voucher Đây là bảng chứa các mã khuyến mãi của từng người dùng. - Gồm có các thuộc tính: + voucher_id: mã Id của bảng voucher. Kiểu Integer + key_voucher: mã khóa định danh cho từng voucher riêng biệt. + number: số lượng voucher hiện có. Kiểu Interger + start_date: Ngày bắt đầu của mã khuyến mãi. Kiểu dateTime + end_date: Ngày kết thúc của mã khuyến mãi. + status: Trạng thái của mã khuyến mãi(Là giá trị Enum gồm có: ACTIVE, EXPIRED, ) + is_deleted: Kiểm tra xem voucher có bị xóa hay không. Kiểu giá Boolean + date_deleted: Ngày xóa voucher. + discount: Giá trị của khuyến mãi. Kiểu Double + post_id: bài viết mà voucher đó liên quan - Các mối quan hệ: + Khóa ngoại liên kết với bảng orders. + Khóa ngoại liên kết với bảng user_voucher. -user_voucher Đây là bảng thể hiện mối liên hệ giữa người dùng và voucher mà họ sở hữu -Gồm có các thuộc tính: + user_voucher_id: Mã Id của bảng user_voucher. Kiểu Integer + status: trạng thái của voucher mà người dùng sở hữu. Kiểu Enum gồm có: INACTIVE, USED + user_id: mã Id của người dùng sở hữu voucher. Kiểu Integer + voucher_id: mã voucher của cửa hàng mà người dùng đã thu thập. Kiểu Integer. -Các mối liên hệ: + Khóa ngoại liên kết với bảng user + Khóa ngoại liên kết với bảng voucher -cart Đây là bảng chứa các giỏ hàng thuộc về từng người dùng cụ thể. -Gồm có các thuộc tính: + cart_id: mã Id của định danh cho giỏ hàng. Kiểu Integer + status: trạng thái của giỏ hàng (Là giá trị Enum gồm có: COMPLETED, NEW, RESTORE + total_price: tổng tiền các sản phẩm có trong giỏ hàng. Kiểu Double + total_product: tổng số lượng sản phẩm có trong giỏ hàng. Kiểu Integer + user_id: mã Id của người dùng đang sở hữu giỏ hàng. Kiểu Integer -Các mối liên hệ: + Khóa ngoại liên kết với bảng user -cart_item Đây là bảng chứa các sản phẩm thuộc nằm trong một giỏ hàng cụ thể của người dùng -Gồm có các thuộc tính: + cart_item_id: mã Id của sản phẩm ở trong giỏ hàng. Kiểu Integer + quantity: số lượng của sản phẩm đó trong giỏ hàng. Kiểu Integer + total_price: tổng tiền của sản phẩm. Kiểu Double + cart_id: mã Id của giỏ hàng mà sản phẩm đang thuộc về. Kiểu Integer + pro_id: mã Id của sản phẩm trong cửa hàng. Kiểu Integer + size: kích cỡ của sản phẩm (Là giá trị Enum gồm có: S,M,L) + date_deleted: ngày sản phẩm bị xóa khỏi giỏ hàng. Kiểu dateTime + is_delete: Kiểm tra xem sản phẩm có bị xóa khỏi giỏ hàng hay không. Kiểu giá trị Boolean + note: Ghi chú. Kiểu String -Các mối liên hệ: + cart_id: Khóa ngoại liên kết với bảng cart + pro_Id: Khóa ngoại liên kết với bảng product -category Đây là bảng chứa các danh mục đồ uống có trong cửa hàng. -Gồm có các thuộc tính: + cate_id: Mã Id của danh mục đồ uống. Kiểu Integer + cate_img: url hình ảnh tượng trưng cho danh mục. Kiểu String + cate_name: tên danh mục đồ uống. Kiểu String + date_created: ngày danh mục được thêm vào cửa hàng. Kiểu dateTime + date_deleted: ngày danh mục bị xóa. Kiểu dateTime + date_updated: ngày cập nhật danh mục. Kiểu dateTime + is_deleted: Kiểm tra xem danh mục có bị xóa hay không. Kiểu giá trị Boolean -category_translation Đây là bảng chứa các danh mục đồ uống đã được translate qua tiếng Anh. -Gồm có các thuộc tính: + cate_trans_id: Mã Id của danh mục đồ uống đã được translate. Kiểu Integer + cate_name: tên danh mục đã được translate. Kiểu String + date_created: ngày danh mục được thêm vào cửa hàng. Kiểu dateTime + date_deleted: ngày danh mục bị xóa. Kiểu dateTime + date_updated: ngày cập nhật danh mục. Kiểu dateTime + is_deleted: Kiểm tra xem danh mục có bị xóa hay không. Kiểu giá trị Boolean + language_code: ngôn ngữ dùng để translate. Kiểu Enum gồm có: EN, VN + cate_id: mã Id của danh mục ở bảng danh mục chưa translate. Kiểu Integer -Các mối liên hệ: + Khóa ngoại liên kết tới bảng category -contact Đây là bảng chứa các thư liên hệ mà người dùng gửi về cửa hàng -Gồm có các thuộc tính: + contact_id: mã Id của thư liên hệ. Kiểu Integer + create_date: ngày người dùng gửi liên hệ. Kiểu dateTime + date_deleted: ngày liên hệ bị xóa. Kiểu dateTime + date_updated: ngày cập nhật liên hệ. Kiểu dateTime + is_deleted: Kiểm tra xem liên hệ có bị xóa hay không. Kiểu giá trị Boolean + description: nội dung thư liên hệ. Kiểu String + email: email của người dùng gửi liên hệ. Kiểu String + full_name: tên của người dùng gửi liên hệ. Kiểu String + phone_number: số điện thoại của người dùng gửi liên hệ. Kiểu String + status: trạng thái của liên hệ. Kiểu Enum gồm có: COMPLETED, WAITING -favourite Đây là bảng chứa danh sách yêu thích tương ứng với từng người dùng -Gồm có các thuộc tính: + fav_id: Mã Id của danh sách yêu thích + date_created: ngày người dùng tạo danh sách yêu thích. Kiểu dateTime + date_deleted: ngày danh sách yêu thích bị xóa. Kiểu dateTime + date_updated: ngày cập nhật danh sách yêu thích. Kiểu dateTime + is_deleted: Kiểm tra xem danh sách yêu thích có bị xóa hay không. Kiểu giá trị Boolean + user_id: mã Id của người dùng sở hữu danh sách yêu thích. Kiểu Integer -Các mối liên hệ: + Khóa ngoại liên kết tới bảng user -favourite_item: Đây là bảng chứa các sản phẩm yêu thích nằm trong danh sách yêu thích của ngưởi dùng. -Gồm có các thuộc tính: + fav_item_id: mã Id sản phẩm được yêu thích. Kiểu Integer + fav_id: mã Id danh sách yêu thích tương ứng chứa sản phẩm được yêu thích. Kiểu Integer + pro_id: mã Id của sản phẩm tương ứng với sản phẩm đã được yêu thích. Kiểu Integer + size: kích cỡ của sản phẩm được yêu thích. Kiểu Enum gồm có:S,M,L + date_deleted: ngày sản phẩm được yêu thích bị xóa. Kiểu dateTime + is_deleted: Kiểm tra xem sản phẩm được yêu thích có bị xóa hay không. Kiểu giá trị Boolean -Các mối liên hệ: + Khóa ngooại liên kết tới bảng favourite + Khóa ngoại liên kết tới bảng product -map_directions Đây là bảng chứa thông tin về tuyến đường giao hàng -Gồm có các thuộc tính: + map_direction_id: mã Id của bảng map_directions. Kiểu Long + created_at: thời gian tạo thông tin tuyến đường. Kiểu dateTime + deleted_at: thời gian xóa thông tin tuyến đường. Kiểu dateTime + is_deleted: Kiểm tra xem thông tin tuyến đường có bị xóa hay không. Kiểu giá trị Boolean + latitude_end: vĩ độ điểm đến. Kiểu Double. + latitude_start: vĩ độ điểm đi. Kiểu Double. + longitude_end: kinh độ điểm đến. Kiểu Double + longitude_start: kinh độ điểm đi. Kiểu Double + overview_polyline: dữ liệu mã hóa của tuyến đường. Kiểu Text + shipment_id: mã Id của đơn hàng vận chuyển. Kiểu Integer -Các mối liên hệ: + Khóa ngoại liên kết với bảng shipment -notification Đây là bảng chứa thông báo mà người dùng nhận được -Gồm có các thuộc tính: + notifi_id: mã Id của thông báo. Kiểu Integer. + is_read: kiểm tra xem thông báo đã được đọc hay chưa. Kiểu Boolean + message: nội dung thông báo. Kiểu String + shipment_id: mã Id của đơn hàng vận chuyển. Kiểu Integer + time: thời gian tạo thông báo. Kiểu dateTime + user_id: mã Id người dùng nhận thông báo. Kiểu Integer -Các mối liên hệ: + Khóa ngoại liên kết tới bảng user -orders Đây là bảng chứa các đơn hàng của người dùng -Gồm có các thuộc tính: + order_id: Mã Id của đơn hàng trong bảng orders. Kiểu Integer. + address: địa chỉ người đặt. Kiểu String. + date_created: ngày đơn hàng được tạo. Kiểu dateTime + date_deleted: ngày đơn hàng bị xóa. Kiểu dateTime + date_updated: ngày cập nhật đơn hàng. Kiểu dateTime + is_deleted: Kiểm tra xem đơn hàng có bị xóa hay không. Kiểu giá trị Boolean + delivery_date: thời gian giao hàng dự kiến. Kiểu dateTime + delivery_fee: phí vận chuyển. Kiểu Double + discount_price: số tiền được giảm giá. Kiểu Double + note: ghi chú của đơn hàng. Kiểu Text + order_date: ngày đặt đơn. Kiểu dateTime + phone_number: số điện thoại nhận hàng. Kiểu String + status: trạng thái của đơn hàng. Kiểu Enum gồm có: CANCELLED, CONFIRMED , WAITING + total_price: tổng tiền các sản phẩm có trong đơn hàng. Kiểu Double + user_id: mã Id của người dùng đặt đơn hàng. Kiểu Integer. + voucher_id: mã Id voucher được áp dụng cho đơn hàng. Kiểu Integer + cancel_reason: lí do hủy đơn. Kiểu Enum gồm có CHANGED_MY_MIND, DELIVERY_TOO_SLOW, FOUND_CHEAPER_ELSEWHERE + date_canceled: ngày hủy đơn. Kiểu dateTime + is_cancel_reason: kiểm tra xem đơn hàng có bị hủy với lí do nào chưa. Kiểu Boolean. + point_coin_use: số coin mà người dùng áp vào đơn hàng. Kiểu Float -Các mối liên hệ: + Khóa ngoại liên kết với bảng user + Khóa ngoại liên kết với bảng voucher -order_item Đây là bảng chứa các sản phẩm có trong đơn hàng của người dùng -Gồm có các thuộc tính: + order_item_id: mã Id của sản phẩm trong bảng orders có trong đơn hàng. Kiểu Integer + date_created: ngày sản phẩm được thêm vào đơn hàng. Kiểu dateTime + date_deleted: ngày sản phẩm bị xóa khỏi đơn hàng . Kiểu dateTime + date_updated: ngày cập nhật sản phẩm trong đơn hàng. Kiểu dateTime + is_deleted: Kiểm tra sản phẩm trong đơn hàng có bị xóa hay không. Kiểu giá trị Boolean + quantity: số lượng của sản phẩm trong đơn hàng. Kiểu Integer + total_price: tổng tiền của sản phẩm. Kiểu Double + cart_id: mã Id của giỏ hàng chứa các sản phẩm. Kiểu Integer + order_id: mã Id của đơn hàng chứa sản phẩm. Kiểu Integer. + user_id: mã Id của người dùng đặt đơn. Kiểu Integer. -Các mối liên hệ: + Khóa ngoại liên kết với bảng cart + Khóa ngoại liên kết với bảng orders + Khóa ngoại liên kết với bảng user -payments Đây là bảng chứa các thanh toán cho các đơn hàng của người dùng. -Gồm có các thuộc tính: + payment_id: mã Id thanh toán của bảng payments. Kiểu Integer. + amount: tổng tiền cần thanh toán cho đơn hàng. Kiểu Double + date_created: ngày tạo thanh toán cho đơn hàng. Kiểu dateTime + date_deleted: ngày xóa thanh toán đơn hàng . Kiểu dateTime + is_deleted: Kiểm tra thanh toán của đơn hàng có bị xóa hay không. Kiểu giá trị Boolean + order_id_payment: mã Id của thanh toán khi sử dụng các cổng thanh toán bên thứ ba. Kiểu String + payment_method: phương thức thanh toán đã lựa chọn cho đơn hàng. Kiểu Enum gồm có: CASH, CREDIT + status: trạng thái thanh toán đơn hàng. Kiểu Enum gồm có: COMPLETED, FAILED , PENDING , REFUND + order_id: mã Id của đơn hàng đang thanh toán. Kiểu Integer + is_refunded: kiểm tra xem đơn hàng đã được hoàn tiền chưa. Kiểu Boolean + date_refunded: ngày hoàn tiền cho đơn hàng. Kiểu dateTime + link: url trang thanh toán bên thứ ba. Kiểu Text -Các mối liên hệ: + Khóa ngoại liên kết với bảng orders -post Đây là bảng chứa các bài viết quảng cáo của cửa hàng -Gồm có các thuộc tính: + post_id: Mã Id của bài viết trong bảng post. Kiểu Integer + banner_url: url đường dẫn hình ảnh của bài viết. Kiểu String + date_create: ngày tạo bài viết. Kiểu dateTime + date_deleted: ngày bài viết bị xóa. Kiểu dateTime + description: nội dung bài viết. Kiểu Text + is_deleted: Kiểm tra bài viết có bị xóa hay không. Kiểu giá trị Boolean + short_des: Mô tả ngắn cho bài viết. Kiểu String + title: tiêu đề của bài viết. Kiểu String + type: loại bài viết. Kiểu Enum gồm có: DISCOUNT, EVENT, NEW + user_id: mã Id người tạo bài viết. Kiểu Integer -Các mối liên hệ: + Khóa ngoại liên kết với bảng user -post_translation Đây là bảng chứa các bài viết quảng cáo của cửa hàng đã được translate qua ngôn ngữ khác. -Gồm có các thuộc tính: + post_trans_id: Mã Id của bài viết đã được translate trong bảng post_translation. Kiểu Integer + date_create: ngày tạo bài viết translate. Kiểu dateTime + date_deleted: ngày bài viết translate bị xóa. Kiểu dateTime + description: nội dung bài viết đã được translate . Kiểu Text + is_deleted: Kiểm tra bài viết đã được translate có bị xóa hay không. Kiểu giá trị Boolean + language_code: ngôn ngữ dùng để translate. Kiểu Enum gồm có: EN, VN + short_des: Mô tả ngắn đã được translate cho bài viết. Kiểu String + title: tiêu đề đã được translate của bài viết. Kiểu String + post_id: Mã Id của bài viết khi chưa translate ở bảng post. Kiểu Integer -Các mối liên hệ: + Khóa ngoại liên kết với bảng user -price_history Đây là bảng chứa lịch sử thay đổi giá của sản phâmr trong cửa hàng. -Gồm có các thuộc tính: + history_id: mã Id của bảng price_history. Kiểu Integer + chang_reason: lí do thay đổi giá. Kiểu String + date_changed: ngày thay đổi giá. Kiểu dateTime + new_price: giá mới sau khi đổi. Kiểu Double + ole_price: giá cũ khi chưa đổi. Kiểu Double + var_id: mã Id biến thể của sản phẩm đã được thay đổi giá. Kiểu Integer -Các mối liện hệ: + Khóa ngoại liên kết với bảng product_variants -product Đây là bảng chứa các sản phẩm có trong cửa hàng -Gồm có các thuộc tính: + pro_id: mã Id của sản phẩm. Kiểu Integer + date_created: ngày sản phẩm được thêm vào cửa hàng. Kiểu dateTime + date_deleted: ngày sản phẩm bị xóa khỏi cửa hàng . Kiểu dateTime + date_updated: ngày cập nhật sản phẩm trong cửa hàng. Kiểu dateTime + description: mô tả sản phẩm. Kiểu Text + is_deleted: Kiểm tra sản phẩm trong cửa hàng có bị xóa hay không. Kiểu giá trị Boolean + list_pro_img: danh sách url hình ảnh của sản phẩm. Kiểu Text + pro_name: tên sản phẩm. Kiểu String + category_id: mã Id của danh mục chứa sản phẩm. Kiểu Integer -Các mối liên hệ: + Khóa ngoại liên kết với bảng category -product_translation Đây là bảng chứa các sản phẩm có trong cửa hàng đã được translate -Gồm có các thuộc tính: + pro_trans_id: mã Id của sản phẩm đã được translate trong bảng product_translation. Kiểu Integer + date_created: ngày sản phẩm được translate. Kiểu dateTime + date_deleted: ngày sản phẩm được translate bị xóa khỏi cửa hàng . Kiểu dateTime + date_updated: ngày cập nhật sản phẩm được translate. Kiểu dateTime + description: mô tả sản phẩm đã được translate. Kiểu Text + is_deleted: Kiểm tra sản phẩm được translate có bị xóa hay không. Kiểu giá trị Boolean + language_ code: ngôn ngữ dùng để translate. Kiểu Enum gồm có: EN, VN + pro_name: tên sản phẩm được translate. Kiểu String + pro_id: mã Id của sản phẩm trong bảng product. Kiểu Integer -Các mối liên hệ: + Khóa ngoại liên kết với bảng product -product_variants Đây là bảng chứa các biến thể của sản phẩm có trong cửa hàng -Gồm có các thuộc tính: + var_id: mã Id của biến thể. Kiểu Integer + date_created: ngày biến thể của sản phẩm được thêm vào cửa hàng. Kiểu dateTime + date_deleted: ngày biến thể của sản phẩm bị xóa khỏi cửa hàng . Kiểu dateTime + date_updated: ngày cập nhật biến thể của sản phẩm trong cửa hàng. Kiểu dateTime + is_deleted: Kiểm tra biến thể của sản phẩm trong cửa hàng có bị xóa hay không. Kiểu giá trị Boolean + price: giá biến thể của sản phẩm. Kiểu Double + size: kích cỡ của biến thể sản phẩm. Kiểu Enum gồm có: S,M,L + stock: số lượng tồn kho của biến thể sản phẩm. Kiểu Integer + pro_id: mã Id của sản phẩm. Kiểu Integer -Các mối liên hệ: + Khóa ngoại liên kết với bảng product -review Đây là bảng chứa các đánh giá về sản phẩm có trong cửa hàng -Gồm có các thuộc tính: + review_id: mã Id của đánh giá. Kiểu Integer + content: nội dung đánh giá. Kiểu Text + date_created: ngày tạo đánh giá. Kiểu dateTime + date_deleted: ngày đánh giá bị xóa. Kiểu dateTime + date_updated: ngày cập nhật đánh giá. Kiểu dateTime + is_deleted: Kiểm tra đánh giá có bị xóa hay không. Kiểu giá trị Boolean + rating_star: số lượng sao đánh giá. Kiểu Integer + pro_id: mã Id sản phẩm được đánh giá. Kiểu Integer + user_id: mã Id của người dùng viết đánh giá sản phẩm. Kiểu Integer -Các mối liên hệ: + Khóa ngoại liên kết với bảng product + Khóa ngoại liên kết với bảng user -shipment Đây là bảng chứa các vận đơn -Gồm có các thuộc tính: + shipment_id: mã Id vận đơn. Kiểu Integer + date_created: ngày tạo vận đơn. Kiểu dateTime + date_deleted: ngày vận đơn bị xóa. Kiểu dateTime + date_delivered: thời gian giao hàng dự kiến cho vận đơn. Kiểu dateTime + date_shipped: thời gian giao hàng thành công. Kiểu dateTime + date_canceled: thời gian hủy vận đơn. Kiểu dateTime + is_deleted: Kiểm tra vận đơn có bị xóa hay không. Kiểu giá trị Boolean + status: trạng thái vận đơn. Kiểu Enum gồm có: CANCELLED, SHIPPING, SUCCESS, WAITING + payment_id: mã thanh toán của đơn hàng. Kiểu Integer + user_id: mã Id của nhân viên giao hàng. Kiểu Integer -Các mối liên hệ: + Khóa ngoại liên kết với bảng payments + Khóa ngoại liên kết với bảng user -step_details Đây là bảng chứa các mô tả chi tiết về tuyến đường giao hàng -Gồm có các thuộc tính: + step_id: mã Id của bước đi trong bảng step_details. Kiểu Long + distance_text: độ dài của quãng đường cần đi trong bước này. Kiểu String + duration_text: thời gian của quãng đường cần đi trong bước này. Kiểu String + instruction: hướng dẫn của quãng đường cần đi trong bước này. Kiểu Text + latitude: vĩ độ điểm. Kiểu Double. + longitude: kinh độ điểm. Kiểu Double. + map_direction_id: mã Id của bảng map_directions. Kiểu Long -Các mối liên hệ: + Khóa ngoại liên kết với bảng map_directions -user Đây là bảng chứa các thông tin người dùng trong cửa hàng -Gồm có các thuộc tính: + user_id: mã Id của sản phẩm. Kiểu Integer + date_created: ngày đăng ký tài khoản. Kiểu dateTime + date_deleted: ngày tài khoản bị xóa khỏi cửa hàng . Kiểu dateTime + date_updated: ngày cập nhật thông tin tài khoản. Kiểu dateTime + avatar: url hình ảnh đại diện của tài khoản. Kiểu String + is_deleted: Kiểm tra tài khoản người dùng có bị xóa hay không. Kiểu giá trị Boolean + birthdate: ngày tháng năm sinh của người dùng. Kiểu dateTime + city: địa chỉ thành phố của người dùng. Kiểu String + district: địa chỉ quận/huyện của người dùng. Kiểu String + email: địa chỉ email của người dùng. Kiểu String + full_name: tên đầy đủ người dùng. Kiểu String + password: mật khẩu tài khoản của người dùng. Kiểu String + phone_number: số điện thoại của người dùng. Kiểu String + role: vai trò của tài khoản. Kiểu Enum gồm có: ADMIN, CUSTOMER, SHIPPER + sex: giới tính của người dùng. Kiểu Enum gồm có: FEMALE, MALE, OTHER + street: địa chỉ đường của người dùng. Kiểu String + type: loại đăng nhập của tài khoản, Kiểu Enum gồm có: BASIC, BOTH, EMAIL + username: tên đăng nhập của tài khoản. Kiểu String + ward: địa chỉ xã/phường của người dùng. Kiểu String -user_chat Đây là bảng chứa các đoạn chat của người dùng với chatbot của cửa hàng -Gồm có các thuộc tính: + user_chat_id: mã Id của đoạn chat. Kiểu Integer + date_created: ngày tạo đoạn chat. Kiểu dateTime + date_deleted: ngày đoạn chat bị xóa. Kiểu dateTime + date_updated: ngày cập nhật đoạn chat. Kiểu dateTime + chat_name: tên đoạn chat. Kiểu String + is_deleted: Kiểm tra đoạn chat có bị xóa hay không. Kiểu giá trị Boolean + id_mongo_db: mã Id đoạn chat được lưu trên mogodb. Kiểu String + user_id: mã Id của người dùng tạo đoạn chat. Kiểu Integer -Các mối liên hệ: + Khóa ngoại liên kết với bảng user -user_coin Đây là chứa các coin mà người dùng tích lũy được -Gồm có các thuộc tính: +_user_coin_id: mã Id của túi coin của người dùng. Kiểu Integer + point_coin: số soin mà người dùng tích được. Kiểu Float + user_id: mã Id của người dùng sở hữu coin. Kiểu Integer -Các mối liên hệ: + Khóa ngoại liên kết với bảng user - absence_request Đây là bảng chứa các đơn xin nghỉ của shipper - Gồm có các thuộc tính: + request_id: mã Id của bảng absence_request. Kiểu Integer + end_date: ngày kết thúc nghỉ phép. Kiểu dateTime + reason: lí do xin nghỉ. Kiểu Text + start_date: ngày bắt đầu nghỉ phép. Kiểu dateTime + status: trạng thái đơn xin nghỉ phép. Kiểu Enum gồm có APPROVED, REJECTED, WAITING + user_id: mã id của nhân viên xin nghỉ. Kiểu Integer - Các mối quan hệ: + Khóa ngoại liên kết với bảng user. - cart_group Đây là bảng chứa các giỏ hàng phụ thuộc về từng người dùng cụ thể trong 1 đơn đặt han. -Gồm có các thuộc tính: + cart_id: mã Id của định danh cho giỏ hàng. Kiểu Integer + total_price: tổng tiền các sản phẩm có trong giỏ hàng. Kiểu Double + total_product: tổng số lượng sản phẩm có trong giỏ hàng. Kiểu Integer + user_id: mã Id của người dùng đang là trưởng nhóm. Kiểu Integer + member_id: mã id của người dùng sở hữu giỏ hàng. Kiểu Integer + date_created: ngày tạo giỏ hàng. Kiểu dateTime + date_deleted: ngày giỏ hàng bị xóa. Kiểu dateTime + date_updated: ngày cập nhật giỏ hàng. Kiểu dateTime + is_deleted: Kiểm tra xem giỏ hàng có bị xóa hay không. Kiểu giá trị Boolean -Các mối liên hệ: + Khóa ngoại liên kết với bảng user + Khóa ngoại liên kết với bảng group_order_members - cart_item_group Đây là bảng chứa các sản phẩm thuộc nằm trong một giỏ hàng cụ thể của người dùng trong một đơn hàng nhóm -Gồm có các thuộc tính: + cart_item_id: mã Id của sản phẩm ở trong giỏ hàng. Kiểu Integer + quantity: số lượng của sản phẩm đó trong giỏ hàng. Kiểu Integer + total_price: tổng tiền của sản phẩm. Kiểu Double + cart_id: mã Id của giỏ hàng trong đơn nhóm mà sản phẩm đang thuộc về. Kiểu Integer + pro_id: mã Id của sản phẩm trong cửa hàng. Kiểu Integer + size: kích cỡ của sản phẩm (Là giá trị Enum gồm có: S,M,L) + date_created: ngày thêm sản phẩm vào giỏ hàng. Kiểu dateTime + date_deleted: ngày sản phẩm trong giỏ hàng bị xóa. Kiểu dateTime + date_updated: ngày cập nhật sản phẩm trong giỏ hàng. Kiểu dateTime + is_deleted: Kiểm tra xem sản phẩm trong giỏ hàng có bị xóa hay không. Kiểu giá trị Boolean + item_price: giá của sản phẩm. Kiểu Double + note: Ghi chú. Kiểu String -Các mối liên hệ: + Khóa ngoại liên kết với bảng cart_group + Khóa ngoại liên kết với bảng product_variant - group_order_members Đây là bảng chứa các thành viên trong một nhóm đặt hàng -Gồm có các thuộc tính: + member_id: mã Id của thành viên ở trong nhóm. Kiểu Integer + amount: tổng tiền sản phẩm thành viên đã thêm vào đơn nhóm. Kiểu Double + quantity: số lượng của sản phẩm thành viên đã thêm vào đơn nhóm. Kiểu Integer + status: trạng thái của nhóm đặt hàng. Kiểu Enum gồm có: CANCELED, CHECKOUT, COMPLETED, CREATED, SHOPPING + type_payment: hình thức thanh toán của thành viên trong nhóm đặt hàng. Kiểu Enum gồm có: CASH, MOMO, NONE, PAYOS, VNPAY, ZALO + cart_id: mã Id của giỏ hàng trong đơn nhóm mà sản phẩm đang thuộc về. Kiểu Integer + group_order_id: mã Id của nhóm đặt hàng đang tham gia. Kiểu Integer + user_id: mã Id của người dùng. Kiểu Integer + date_created: ngày tham gia nhóm đặt hành. Kiểu dateTime + date_deleted: ngày bị xóa khỏi nhóm đặt hàng. Kiểu dateTime + date_updated: ngày cập nhật sản phẩm trong nhóm đặt hàng. Kiểu dateTime + is_deleted: Kiểm tra xem thành viên trong nhóm có bị xóa hay không. Kiểu giá trị Boolean + is_leader: Kiểm tra xem thành viên có phải trưởng nhóm không. Kiểu Boolean + is_paid: kiểm tả xem thành viên đã thanh toán chưa. Kiểu Boolean + note: Ghi chú. Kiểu Text -Các mối liên hệ: + Khóa ngoại liên kết với bảng group_orders + Khóa ngoại liên kết với bảng user + Khóa ngoại liên kết với bảng cart_group - group_orders Đây là bảng chứa các thông tin về các nhóm đặt hàng -Gồm có các thuộc tính: + group_order_id: mã Id của nhóm đặt hàng. Kiểu Integer + address: địa chỉ giao hàng cho đơn nhóm. Kiểu String + code: mã tham giao vào đơn nhóm. Kiểu Integer + date_created: ngày tạo nhóm đặt hàng. Kiểu dateTime + date_deleted: ngày xóa nhóm đặt hàng. Kiểu dateTime + date_updated: ngày cập nhật thông tin trong nhóm đặt hàng. Kiểu dateTime + deadline_payment: giới hạn thời gian tồn tại của nhóm đặt hàng. Kiểu dateTime + is_deleted: Kiểm tra xem nhóm có bị xóa hay không. Kiểu giá trị Boolean + is_flexible_payment: Kiểm tra xem có thể thanh toán nhiều hình thức không. Kiểu Boolean + link: đường dẫn để tham gia nhóm đặt hàng. Kiểu String + note: Ghi chú. Kiểu Text + order_date: ngày đặt hàng. Kiểu dateTime + name_group: tên nhóm đặt hàng. Kiểu String + status: trạng thái của nhóm đặt hàng. Kiểu Enum gồm có: CANCELED, CHECKOUT, COMPLETED, CREATED, SHOPPING + total_price: tổng tiền của nhóm đặt hàng. Kiểu Double + total_quantity: tổng số lượng sản phẩm có trong nhóm. Kiểu Integer + type_bill: loại thanh toán cho nhóm đặt hàng. Kiểu Enum gồm có: PAY_FOR_ALL, SPLIT_BILL_WITH_ALL + type_payment: hình thức thanh toán của nhóm đặt hàng. Kiểu Enum gồm có: CASH, MOMO, NONE, PAYOS, VNPAY, ZALO + user_id: mã Id của trưởng nhóm. Kiểu Integer -Các mối liên hệ: + Khóa ngoại liên kết với bảng user - - voucher Đây là bảng chứa các mã khuyến mãi của từng người dùng. + voucher_id: mã Id của bảng voucher. Kiểu Integer + key_voucher: mã khóa định danh cho từng voucher riêng biệt. + number: số lượng voucher hiện có. Kiểu Interger + start_date: Ngày bắt đầu của mã khuyến mãi. Kiểu dateTime + end_date: Ngày kết thúc của mã khuyến mãi. + status: Trạng thái của mã khuyến mãi(Là giá trị Enum gồm có: ACTIVE, EXPIRED, ) + is_deleted: Kiểm tra xem voucher có bị xóa hay không. Kiểu giá Boolean + date_deleted: Ngày xóa voucher. + discount: Giá trị của khuyến mãi. Kiểu Double + post_id: bài viết mà voucher đó liên quan - Các mối quan hệ: + Khóa ngoại liên kết với bảng post. - user_voucher Đây là bảng thể hiện mối liên hệ giữa người dùng và voucher mà họ sở hữu -Gồm có các thuộc tính: + user_voucher_id: Mã Id của bảng user_voucher. Kiểu Integer + status: trạng thái của voucher mà người dùng sở hữu. Kiểu Enum gồm có: INACTIVE, USED + user_id: mã Id của người dùng sở hữu voucher. Kiểu Integer + voucher_id: mã voucher của cửa hàng mà người dùng đã thu thập. Kiểu Integer. -Các mối liên hệ: + Khóa ngoại liên kết với bảng user + Khóa ngoại liên kết với bảng voucher - notification Đây là bảng chứa thông báo mà người dùng nhận được -Gồm có các thuộc tính: + notifi_id: mã Id của thông báo. Kiểu Integer. + is_read: kiểm tra xem thông báo đã được đọc hay chưa. Kiểu Boolean + message: nội dung thông báo. Kiểu String + shipment_id: mã Id của đơn hàng vận chuyển. Kiểu Integer + group_order_id: mã Id của nhóm đặt hàng. Kiểu Integer + time: thời gian tạo thông báo. Kiểu dateTime + user_id: mã Id người dùng nhận thông báo. Kiểu Integer -Các mối liên hệ: + Khóa ngoại liên kết tới bảng user - payments_group Đây là bảng chứa các thanh toán cho các đơn hàng nhóm. -Gồm có các thuộc tính: + payment_id: mã Id thanh toán của bảng payments_group. Kiểu Integer. + amount: tổng tiền cần thanh toán cho đơn hàng nhóm. Kiểu Double + date_created: ngày tạo thanh toán cho đơn hàng nhóm. Kiểu dateTime + date_deleted: ngày xóa thanh toán đơn hàng nhóm . Kiểu dateTime + date_refunded: ngày hoàn tiền cho đơn hàng nhóm . Kiểu dateTime + discount_percent: phần trăm giảm giá cho đơn hàng nhóm. Kiểu Double + is_deleted: Kiểm tra thanh toán của đơn hàng có bị xóa hay không. Kiểu giá trị Boolean + is_refunded: kiểm tra xem đơn hàng đã được hoàn tiền chưa. Kiểu Boolean + link: url trang thanh toán bên thứ ba. Kiểu Text + order_id_payment: mã Id của thanh toán khi sử dụng các cổng thanh toán bên thứ ba. Kiểu String + payment_method: phương thức thanh toán đã lựa chọn cho đơn hàng. Kiểu Enum gồm có: CASH, CREDIT + status: trạng thái thanh toán đơn hàng. Kiểu Enum gồm có: COMPLETED, FAILED , PENDING , REFUND + group_order_id: mã Id của đơn hàng nhóm đang thanh toán. Kiểu Integer -Các mối liên hệ: + Khóa ngoại liên kết với bảng group_orders thông qua group_order_id - shipment Đây là bảng chứa các vận đơn -Gồm có các thuộc tính: + shipment_id: mã Id vận đơn. Kiểu Integer + date_created: ngày tạo vận đơn. Kiểu dateTime + date_deleted: ngày vận đơn bị xóa. Kiểu dateTime + date_delivered: thời gian giao hàng dự kiến cho vận đơn. Kiểu dateTime + date_shipped: thời gian giao hàng thành công. Kiểu dateTime + date_canceled: thời gian hủy vận đơn. Kiểu dateTime + is_deleted: Kiểm tra vận đơn có bị xóa hay không. Kiểu giá trị Boolean + status: trạng thái vận đơn. Kiểu Enum gồm có: CANCELLED, SHIPPING, SUCCESS, WAITING + payment_id: mã thanh toán của đơn hàng. Kiểu Integer + user_id: mã Id của nhân viên giao hàng. Kiểu Integer + distance: khoảng cách giao hàng. Kiểu Double + note: ghi chú cho đơn hàng khi giao hàng. Kiểu String -Các mối liên hệ: + Khóa ngoại liên kết với bảng payments thông qua payment_id + Khóa ngoại liên kết với bảng user thông qua user_id - shipment_group Đây là bảng chứa các vận đơn -Gồm có các thuộc tính: + shipment_id: mã Id vận đơn của đơn hàng nhóm. Kiểu Integer + date_canceled: thời gian hủy vận đơn. Kiểu dateTime + date_created: ngày tạo vận đơn. Kiểu dateTime + date_deleted: ngày vận đơn bị xóa. Kiểu dateTime + date_delivered: thời gian giao hàng dự kiến cho vận đơn. Kiểu dateTime + date_shipped: thời gian giao hàng thành công. Kiểu dateTime + distance: khoảng cách giao hàng. Kiểu Double + is_deleted: Kiểm tra vận đơn có bị xóa hay không. Kiểu giá trị Boolean + note: ghi chú cho đơn hàng khi giao hàng. Kiểu String + status: trạng thái vận đơn. Kiểu Enum gồm có: CANCELLED, SHIPPING, SUCCESS, WAITING + payment_id: mã thanh toán của đơn hàng nhóm. Kiểu Integer + user_id: mã Id của nhân viên giao hàng. Kiểu Integer -Các mối liên hệ: + Khóa ngoại liên kết với bảng payments_group + Khóa ngoại liên kết với bảng user thông qua user_id - shipper_attendance Đây là bảng quản lý chấm công của shipper -Gồm có các thuộc tính: + id: mã định danh chấm công. Kiểu Integer + attendance_date: ngày chấm công. Kiểu Date + check_in_time: thời gian check-in của shipper. Kiểu dateTime + created_at: thời điểm chấm công. Kiểu dateTime + is_present: kiểm tra có mặt hay không. Kiểu Boolean + note: ghi chú liên quan đến chấm công. Kiểu Text + status: trạng thái chấm công. Kiểu Enum gồm các giá trị: ABSENT, LATE, NONE, ON_LEAVE, ON_TIME + updated_at: thời điểm cập nhật gần nhất. Kiểu DateTime(6) + user_id: mã ID của shipper. Kiểu Integer -Các mối liên hệ: + Khóa ngoại liên kết với bảng user thông qua user_id - shipper_commission_detail Đây là bảng chứa chi tiết hoa hồng hàng ngày của shipper -Gồm có các thuộc tính: + id: mã định danh hoa hồng. Kiểu Integer + bonus: tiền thưởng thêm. Kiểu Double + commission_date: ngày tính hoa hồng. Kiểu Date + daily_commission: hoa hồng trong ngày. Kiểu Decimal(12,2) + note: ghi chú. Kiểu Text + order_count: số đơn hàng giao trong ngày. Kiểu Integer + user_id: mã ID của shipper. Kiểu Integer -Các mối liên hệ: + Khóa ngoại liên kết với bảng user - shipper_salary_summary Đây là bảng tổng kết lương hàng tháng của shipper -Gồm có các thuộc tính: + id: mã tổng kết lương. Kiểu Integer + approved_leave_days: số ngày nghỉ được duyệt. Kiểu Integer + base_salary: lương cơ bản. Kiểu Decimal(12,2) + commission: tổng hoa hồng. Kiểu Decimal(12,2) + created_at: thời điểm tạo bản ghi. Kiểu DateTime(6) + date_deleted: thời điểm xóa bản ghi. Kiểu DateTime + is_deleted: cờ xác định đã xóa hay chưa. Kiểu Boolean + month: tháng tính lương. Kiểu Integer + note: ghi chú. Kiểu Text + total_orders: tổng số đơn hàng. Kiểu Integer + total_salary: tổng thu nhập. Kiểu Decimal(12,2) + updated_at: thời điểm cập nhật. Kiểu DateTime(6) + working_days: số ngày làm việc. Kiểu Integer + year: năm tính lương. Kiểu Integer + user_id: mã ID của shipper. Kiểu Integer -Các mối liên hệ: + Khóa ngoại liên kết với bảng user """