File size: 37,980 Bytes
325b400
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
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





"""