Tài liệu này mô tả chi tiết thiết kế các bảng dữ liệu chính từ nguồn `shared_source` (StarRocks/MySQL) được sử dụng để tích hợp vào hệ thống Chatbot AI.

### 1. `shared_source.magento_product_dimension_with_text_embedding`
Bảng dữ liệu sản phẩm tổng hợp. Bao gồm thông tin kích thước, mô tả và vector embedding để tìm kiếm ngữ nghĩa.

| Column Name | Data Type | Note |
|---|---|---|
| `internal_ref_code`* | `varchar` | Mã tổng sản phẩm từ dữ liệu nội bộ |
| `magento_ref_code`* | `varchar` | Mã tổng/tổng-màu tổng hợp từ db magento |
| `product_color_code`* | `varchar` | Mã tổng-màu từ dữ liệu nội bộ |
| `product_name` | `varchar` | Tên sản phẩm |
| `color_code` | `varchar` | Mã màu (vd: SW001) |
| `master_color` | `varchar` | Màu chủ đạo (vd: Trắng/ White) |
| `product_color_name` | `varchar` | Tên màu (vd: White 001) |
| `season_sale` | `varchar` | Mùa sale (vd: Summer) |
| `season` | `varchar` | Mùa ra mắt (vd: Spring Summer) |
| `style` | `varchar` | Phong cách thiết kế sản phẩm (vd: Basic) |
| `fitting` | `varchar` | Kiểu dáng sản phẩm (vd: Regular) |
| `size_scale` | `varchar` | Size sản phẩm (vd: S\|M\|L\|XL) |
| `graphic` | `varchar` | Hình in |
| `pattern` | `varchar` | Hoạ tiết |
| `weaving` | `varchar` | Kiểu dệt |
| `shape_detail` | `varchar` | Chi tiết hình dáng |
| `form_neckline` | `varchar` | Kiểu dáng cổ đối với áo (vd: Crew Neck) |
| `form_sleeve` | `varchar` | Kiểu dáng tay đối với áo (vd: Short Sleeve) |
| `form_length` | `varchar` | Độ dài form |
| `form_waistline` | `varchar` | Đường eo |
| `form_shoulderline` | `varchar` | Đường vai |
| `material` | `varchar` | Chất liệu |
| `product_group` | `varchar` | Nhóm sản phẩm (vd: Top) |
| `product_line_vn` | `varchar` | Dòng hàng (tiếng Việt) (vd: Áo phông) |
| `unit_of_measure` | `varchar` | Đơn vị bán (vd: Chiếc) |
| `sale_price` | `decimal` | Giá gốc của sản phẩm |
| `orginial_price` | `decimal` | Giá khuyến mãi của sản phẩm |
| `discount_amount` | `decimal` | Phần giảm giá (tính toán từ sale_price và original_price) |
| `material_group` | `varchar` | Nhóm chất liệu |
| `product_line_en` | `varchar` | Dòng hàng (tiếng Anh) |
| `age_by_product` | `varchar` | Tuổi |
| `gender_by_product` | `varchar` | Giới tính |
| `quantity_sold` | `int` | Số lượng đã bán |
| `is_new_product` | `boolean` | `TRUE` nếu sản phẩm mới trong vòng 2 tháng, ngược lại `FALSE` |
| `product_image_url` | `string` | URL ảnh sản phẩm hiển thị trên web |
| `description_text` | `string` | Mô tả ngắn |
| `product_image_url_thumbnail` | `string` | URL ảnh thumbnail |
| `product_web_url` | `string` | URL sản phẩm trên web + UTM param để tracking |
| `product_web_material` | `string` | Mô tả chất liệu sản phẩm trên web |
| `description_text_full` | `string` | Mô tả đầy đủ để nhúng vector |
| `vector`* | `array<float>` | Vector embedding của `description_text_full` cho chatbot search bằng vector index |

---

### 2. `shared_source.chatbot_rsa_salerule_with_text_embedding`
Bảng dữ liệu CTKM (online/offline) tổng hợp từ magento + người dùng input.

| Column Name | Data Type | Note |
|---|---|---|
| `id`* | `text` | Primary key (dùng để update dữ liệu) |
| `from_date` | `date` | Ngày bắt đầu CTKM |
| `to_date` | `date` | Ngày kết thúc CTKM |
| `name` | `varchar` | Tên ngắn gọn của CTKM |
| `description` | `string` | Mô tả CTKM (cách thức áp dụng, địa điểm áp dụng,...) |
| `description_full` | `string` | Thông tin mô tả tổng hợp trước khi embedding |
| `applied_channel` | `varchar` | Kênh áp dụng CTKM (`only_online`/`only_offline`/`both`) |
| `vector` | `array<float>` | Vector embedding của `description_full` |

---

### 3. `shared_source.chatbot_rsa_knowledge`
Bảng dữ liệu thông tin chung (chính sách khách hàng, câu hỏi thường gặp,...).

| Column Name | Data Type | Note |
|---|---|---|
| `id`* | `varchar` | Primary key (dùng để update dữ liệu) |
| `title` | `varchar` | Tiêu đề kiến thức |
| `content` | `text` | Nội dung kiến thức chi tiết |
| `metadata` | `json` | Các meta thông tin đính kèm |
| `embedding` | `array<float>` | Vector embedding của nội dung cho chatbot search bằng vector index |

---

### 4. `shared_source.chatbot_rsa_store_schedule_with_text_embedding`
Bảng dữ liệu cửa hàng (địa chỉ, thời gian mở/đóng cửa hàng ngày).

| Column Name | Data Type | Note |
|---|---|---|
| `id`* | `varchar` | Primary key (dùng để update dữ liệu) |
| `store_name` | `varchar` | Tên cửa hàng (vd: CANIFA - 139 Bạch Mai) |
| `address` | `varchar` | Địa chỉ cửa hàng dạng text |
| `city` | `varchar` | Quận/huyện (vd: Quận Hai Bà Trưng) |
| `state` | `varchar` | Thành phố (vd: Hà Nội) |
| `phone_number` | `varchar` | Số điện thoại của cửa hàng |
| `schedule_name` | `varchar` | Thời gian mở cửa - đóng cửa dạng text |
| `time_open_today` | `time` | Thời gian mở cửa hôm nay (thay đổi theo ngày) |
| `time_close_today` | `time` | Thời gian đóng cửa hôm nay (thay đổi theo ngày) |
| `description_full` | `text` | Thông tin mô tả tổng hợp dạng text trước khi embedding |
| `vector` | `array<float>` | Vector embedding của `description_full` |
