url: {domamin}/DichVuAPI.php


1+2 AutoComplete Hàng Hoá && Get Hàng Hoá theo _id : tương tự mục 3+4 ở api-dich-vu.json


url : {domamin}/BillAPI.php

3.AutoComplete cả hàng hoá và dịch vụ và combo

input
(Trường hợp 1: Search dịch vụ + option name và cả hàng hoá sử dụng trong autoComplete trong Combo)
{
    "action":"autoCompleteBillItem", (*)
    "kw":"m", (*)
    "option_name": "Từ 10 - 15kg",
    "is_combo": false,(*)
    "is_dich_vu": true(*)
}

(Trường hợp 2: Search dịch vụ + option name , hàng hoá và combo + option name sử dụng trong bill khám và spa)
{
    "action":"autoCompleteBillItem", (*)
    "kw":"m", 
    "trong_luong_thu_cung": 2,
    "is_combo": true,(*)
    "is_dich_vu": true (*)
}

(Trường hợp 3: Search hàng hoá và combo hàng hoá sử dụng cho bill bán hàng thuần không có dịch vụ) //không dùng cho search bán sỉ
{
    "action":"autoCompleteBillItem",
    "kw":"m", 
    "is_combo": true, (*)
    "is_dich_vu": false, (*)
    "is_combo_hang_hoa": true // chỗ này phải luôn phương trả là true
}


output 

Trường hợp 1
{
    "status": "success",
    "data": {
        "hang_hoa": [],
        "dich_vu": [
            {
                "_id": "6915f82c297df7fd3201c245",
                "ten_dich_vu": "Mổ cho mèo đực",
                "options": [
                    {
                        "ten_option": "Từ 10kg - 15kg"
                    }
                ]
            }
        ],
        "combo": []
    }
}


Trường hợp 2
{
    "status": "success",
    "data": {
        "hang_hoa": [],
        "dich_vu": [
            {
                "_id": "6915f82c297df7fd3201c245",
                "ten_dich_vu": "Mổ cho mèo đực",
                "options": [
                    {
                        "ten_option": "Dưới 10kg"
                    }
                ]
            }
        ],
        "combo": [
            {
                "_id": "6942bdcbaac5fbfafc0a4b96",
                "ten_combo": "Combo Meo-0"
            },
            {
                "_id": "6942bd7baac5fbfafc0a4b95",
                "ten_combo": "Triệt sản cho mèo",
                "options": [
                    {
                        "ten_option": "Dưới 5kg"
                    }
                ]
            },
            {
                "_id": "6942baacaac5fbfafc0a4b94",
                "ten_combo": "Combo Tắm Cạo Lông Chó dịp Tết"
            }
        ]
    }
}

Trường hợp 3
{
    "status": "success",
    "data": {
        "hang_hoa": [],
        "dich_vu": [],
        "combo": [
            {
                "_id": "6942bdcbaac5fbfafc0a4b96",
                "ten_combo": "Combo Meo-0"
            }
        ]
    }
}

4. AutoComplete Dịch Vụ với option

input
{
    "action": "autoCompleteDichVu", (*)
    "kw": "mèo", (*)
    "trong_luong_thu_cung": 5 
}

output
{
    "status": "success",
    "data": [
        {
            "_id": "6915f82c297df7fd3201c245",
            "ten_dich_vu": "Mổ cho mèo đực",
            "options": [
                {
                    "ten_option": "Dưới 10kg",
                    "gia_option": 220000
                },
                {
                    "ten_option": "Từ 10kg - 15kg",
                    "gia_option": 350000
                },
                {
                    "ten_option": "Trên 15kg",
                    "gia_option": 933000
                }
            ]
        },
        {
            "_id": "6918435cacd1cff33c0185b4",
            "ten_dich_vu": "Tắm cho mèo"
        }
    ]
}

5. Get Hàng hoá theo trọng lượng
{
    "action": "getHangHoa", (*)
    "id": "", (*)
    "id_chi_nhanh": "", // Nếu lấy hàng hoá có tồn kho
    "weight": "" //có thể có hoặc không tuỳ pet

}

6. Add bill 
input
{
    "action": "addBill", (*)
    "id_chi_nhanh": "CHI_NHANH_ID", (*)
    "id_khach_hang": "KHACH_HANG_ID", (*)// Trừ khách lẻ ra còn lại các trường hợp khác là bắt buộc 
    "is_khach_le": false,
    "type": , "" (*) // có 3 type luu_tru, ban_hang, ban_hang_si 
    //"status": "working"; "working" có nghĩa là đang thực hiện, "done" là đã thanh toán, "remove" bill đã bị xoá, ko cần đưa lên
    "tien_tam_ung": 0, // Chỉ gửi lên khi lưu trú
    "list_bill":   [
        {
            "id_nhan_vien": "NHAN_VIEN_ID",
            "id_thu_cung": "THU_CUNG_ID", //nếu có 

            "dich_vu": [
                {
                    "id_dich_vu": "DICH_VU_ID",
                    "ten_dich_vu": "Tắm cho chó 5kg",
                    "ten_don_vi": "lần",
                    "thue_VAT": 0,
                    "tags": ["spa", "cạo lông"],
                    "so_luong": 1,
                    "gia_ban": 200000,
                    "list_hang_hoa": [
                        {
                            "id_hang_hoa": "69159f4204122799e2050625",
                            "so_luong": 2
                        }
                    ]
                }
            ],

            "hang_hoa": [
                {
                    "id_hang_hoa": "HANG_HOA_ID",
                    "ten_hang_hoa": "Meo-O",
                    "ten_don_vi": "gói",
                    "so_luong": 2,
                    "gia_ban": 15000,
                    "thue_VAT": 0
                }
            ],

            "combo": [
                {
                    "id_combo": "COMBO_ID",
                    "ten_combo": "Cạo lông chó mèo VIP - Khuyến mãi tặng cục xà bông",
                    "thue_VAT": 0,
                    "tags": ["spa", "cạo lông"],
                    "gia_ban": 200000,

                    "hang_hoa": [
                        {
                            "id_hang_hoa": "69159f4204122799e2050625",
                            "so_luong": 2
                        }
                    ],

                    "dich_vu": [
                        {
                            "id_dich_vu": "DICH_VU_ID",
                            "so_luong": 1,
                            "list_hang_hoa": [
                                {
                                    "id_hang_hoa": "69159f4204122799e2050625",
                                    "so_luong": 2
                                }
                            ]
                        }
                    ]
                }
            ],

            "tong_tien": 230000,
        }
    ],

    "tong_tien_bill": 230000
}

output // nếu có bill con thì trả về id bill con
{
    "status": "success",
    "data": {
        "id_bill": "69535d6144b42db4d3004e94",
        "bill_items": [
            "69535d6144b42db4d3004e93"
        ]
    }
}

// Thêm cục lam_san với type của pet visit + truyền thêm id chi nhánh, ten_nhan_vien nữa mới làm được 
7. Append Bill Con
{
    "action": "addBillChild", (*)
    "id_bill": "", (*)
    "id_nhan_vien": "NHAN_VIEN_ID", (*)
    "ten_nhan_vien": "", (*)
    "id_thu_cung": "THU_CUNG_ID", //nếu có 
    "id_chi_nhanh": "", (*)

    // Data tạo pet visit tương ứng với bill child
    "lam_san": {
      "tinh_trang_da": 2,
      "mo_ta_da": "da bình thường",
      "tinh_trang_long": 1,
      "mo_ta_long": "lông bình thường",
      "tinh_trang_tai": 5,
      "mo_ta_tai": "tai bình thường",
      "phan_ung_dung_cu_spa": 4,
      "mo_ta_phan_ung": "binh thường",
      "img": [
          "link3.png",
          "link4.png"
      ],
      "ghi_chu_noi_bo": "Ổn định và đẹp"
    },
    "type": "kham_benh", //để vậy cho nó đồng bộ
    // END - data pet visit

    "dich_vu": [
            {
                "id_dich_vu": "6953657d71373ea7b4068f12",
                "ten_dich_vu": "Truyền dịch dưới da trên Mèo",
                "ten_don_vi": "lần",
                "thue_VAT": 0,
                "tags": ["spa", "cạo lông"],
                "so_luong": 1,
                "gia_ban": 200000,
                "list_hang_hoa": [
                    {
                        "id_hang_hoa": "69159f4204122799e2050625",
                        "so_luong": 2
                    }
                ]
            }
        ],

    "hang_hoa": [
            {
                    "id_hang_hoa": "HANG_HOA_ID",
                    "ten_hang_hoa": "Meo-O",
                    "ten_don_vi": "gói",
                    "so_luong": 2,
                    "gia_ban": 15000,
                    "thue_VAT": 0
            }
        ],

    "combo": [
                {
                    "id_combo": "COMBO_ID",
                    "ten_combo": "Cạo lông chó mèo VIP - Khuyến mãi tặng cục xà bông",
                    "thue_VAT": 0,
                    "tags": ["spa", "cạo lông"],
                    "gia_ban": 200000,

                    "hang_hoa": [
                        {
                            "id_hang_hoa": "69159f4204122799e2050625",
                            "so_luong": 2
                        }
                    ],

                    "dich_vu": [
                        {
                            "id_dich_vu": "DICH_VU_ID",
                            "so_luong": 1,
                            "list_hang_hoa": [
                                {
                                    "id_hang_hoa": "69159f4204122799e2050625",
                                    "so_luong": 2
                                }
                            ]
                        }
                    ]
                }
            ],


    "tong_tien": 230000
}


// Update cục lam_san với type của pet visit
8 Update Bill Con
{
    "action" : "updateBillChild",
    "id_bill": "", (*)
    "id_bill_child": "", (*)
    "id_nhan_vien": "NHAN_VIEN_ID", (*)
    "id_thu_cung": "THU_CUNG_ID", //nếu có 

    "lam_san": {
      "tinh_trang_da": 2,
      "mo_ta_da": "da bình thường",
      "tinh_trang_long": 1,
      "mo_ta_long": "lông bình thường",
      "tinh_trang_tai": 5,
      "mo_ta_tai": "tai bình thường",
      "phan_ung_dung_cu_spa": 4,
      "mo_ta_phan_ung": "binh thường",
      "img": [
          "link3.png",
          "link4.png"
      ],
      "ghi_chu_noi_bo": "Ổn định và đẹp"
    },
    "_id_pet_visit": "", (*)
    "dich_vu": [
            {
                "id_dich_vu": "DICH_VU_ID",
                "ten_dich_vu": "Tắm cho chó 5kg",
                "ten_don_vi": "lần",
                "thue_VAT": 0,
                "tags": ["spa", "cạo lông"],
                "so_luong": 1,
                "gia_ban": 200000,
                "list_hang_hoa": [
                    {
                        "id_hang_hoa": "69159f4204122799e2050625",
                        "so_luong": 2
                    }
                ]
            }
        ],

    "hang_hoa": [
            {
                    "id_hang_hoa": "HANG_HOA_ID",
                    "ten_hang_hoa": "Meo-O",
                    "ten_don_vi": "gói",
                    "so_luong": 2,
                    "gia_ban": 15000,
                    "thue_VAT": 0
            }
        ],

    "combo": [
                {
                    "id_combo": "COMBO_ID",
                    "ten_combo": "Cạo lông chó mèo VIP - Khuyến mãi tặng cục xà bông",
                    "thue_VAT": 0,
                    "tags": ["spa", "cạo lông"],
                    "gia_ban": 200000,

                    "hang_hoa": [
                        {
                            "id_hang_hoa": "69159f4204122799e2050625",
                            "so_luong": 2
                        }
                    ],

                    "dich_vu": [
                        {
                            "id_dich_vu": "DICH_VU_ID",
                            "so_luong": 1,
                            "list_hang_hoa": [
                                {
                                    "id_hang_hoa": "69159f4204122799e2050625",
                                    "so_luong": 2
                                }
                            ]
                        }
                    ]
                }
            ],

    "tong_tien": 230000
}

output
{
  "status": "success",
  "data": "695896b208f52f93db0f77e5"
}

8 Update Bill Con
input
{
  "action": "updateBillChild",
  "id_bill": "6958927808f52f93db0f77e3",
  "id_bill_child": "6958927808f52f93db0f77e2",
  "id_nhan_vien": "6927b80127944f767801f302",
  "id_thu_cung": "691cbb2abf1a6fabad099e13",
  "dich_vu": [
      {
          "id_dich_vu": "6953755e44b42db4d3004ebc",
          "ten_dich_vu": "Dịch vụ soi kính quang học - Ngoại KST",
          "ten_don_vi": "Lần",
          "thue_VAT": 8,
          "so_luong": 1,
          "gia_ban": 150000
      }
  ],
  "hang_hoa": [
      {
          "id_hang_hoa": "695374a0d75e1a07dd0956fa",
          "ten_hang_hoa": "TMS - Tô inox in họa tiết 16 cm",
          "ten_don_vi": "Cái",
          "so_luong": 1,
          "gia_ban": 40000,
          "thue_VAT": 8
      }
  ],
  "tong_tien": 205200
}

// Hàng hóa thêm ở ngoài bill tổng
9 Get Bill theo _id
{
    "action": "getBill", (*)
    "_id": "" (*)
}

output
{
  "status": "success",
  "data": {
      "_id": "6958927808f52f93db0f77e3",
      "id_chi_nhanh": "6922c1a25b507bf431082a72",
      "id_khach_hang": "691cb6d893079506d2023743",
      "status": "working",
      "type": "ban_hang",
      "list_bill": [
          {
              "id_nhan_vien": "6927b80127944f767801f302",
              "id_thu_cung": "691cbb2abf1a6fabad099e13",
              "hang_hoa": [
                  {
                      "id_hang_hoa": "695374a0d75e1a07dd0956fa",
                      "ten_hang_hoa": "TMS - Tô inox in họa tiết 16 cm",
                      "ten_don_vi": "Cái",
                      "so_luong": 1,
                      "gia_ban": 40000,
                      "thue_VAT": 8
                  }
              ],
              "tong_tien": 43200,
              "_id": "6958927808f52f93db0f77e2"
          },
          {
              "id_nhan_vien": "6927b80127944f767801f302",
              "id_thu_cung": "691cbb2abf1a6fabad099e13",
              "hang_hoa": [
                  {
                      "id_hang_hoa": "695374a0d75e1a07dd0956fa",
                      "ten_hang_hoa": "TMS - Tô inox in họa tiết 16 cm",
                      "ten_don_vi": "Cái",
                      "so_luong": 1,
                      "gia_ban": 40000,
                      "thue_VAT": 8
                  }
              ],
              "tong_tien": 43200,
              "_id": "6958935a08f52f93db0f77e4"
          }
      ],
      "hang_hoa": [
          {
              "id_hang_hoa": "695374a0d75e1a07dd0956fa",
              "ten_hang_hoa": "TMS - Tô inox in họa tiết 16 cm",
              "ten_don_vi": "Cái",
              "so_luong": 1,
              "gia_ban": 40000,
              "thue_VAT": 8
          }
      ],
      "tong_tien_hang_hoa": 43200,
      "tong_tien_bill": 86400,
      "is_done": false,
      "created_time": "03-01-2026 10:52"
  }
}

10 Get Bill con theo id_bill và id_bill_child
{
    "action": "getBillItem", (*)
    "id_bill": ,(*)
    "id_bill_chill": (*)
} 

// Nếu khách hàng chưa có bill tổng thì tạo bill tổng trống với type (ban_hang, ban_hang_si, luu_tru)
// Luôn luôn phải có bill tổng trả về
11 Tìm bill tổng 
{
  "action": "findBill", (*)
  "id_khach_hang": "", (*)
  "id_chi_nhanh":"", (*)
  "status": "working",
  "type": "ban_hang" (*)
}
output
{
  "status": "success",
  "data": "6958006561477ebc2802ccd3"
}


13 Hàm get ALL bill theo chi nhánh, type và status có phân trang, có thể xem được 1 chi nhánh hoặc toàn bộ chi nhánh
{
    "action": "getAllBill", (*)
    "type": "luu_tru",(*)
    "status": "working", (*)
    "id_chi_nhanh": "", (*)
    "page": 1, (*)
    "all_chi_nhanh": false //false là lấy 1 chi nhánh true là toàn bộ chi nhánh
}

14 Hàm delete Bill Child 
{
    "action": "deleteBillChild", (*)
    "id_bill": "", (*)
    "id_bill_child": "" (*)

}

15. Update Bill Tổng
input {
  "action": "updateBill", (*)
  "_id": "", (*)
  "hang_hoa_bill_tong": [
        {
            "id_hang_hoa": "HANG_HOA_ID",
            "ten_hang_hoa": "Meo-O",
            "ten_don_vi": "gói",
            "so_luong": 2,
            "gia_ban": 15000,
            "thue_VAT": 0
        }
  ],
    "combo_bill_tong": [
                {
                    "id_combo": "COMBO_ID",
                    "ten_combo": "Cạo lông chó mèo VIP - Khuyến mãi tặng cục xà bông",
                    "thue_VAT": 0,
                    "tags": ["spa", "cạo lông"],
                    "gia_ban": 200000,

                    "hang_hoa": [
                        {
                            "id_hang_hoa": "69159f4204122799e2050625",
                            "so_luong": 2
                        }
                    ]
                }
            ],

  "status": "working", //có thể update hoặc không 
  "type": "ban_hang", // có thể update hoặc không
  "tong_tien_hang_hoa": 200000,
  "tong_tien": 200000
}

16.Hàm này dùng để thanh toán bill
input
{
    "action": "payBill", (*)
    "id_bill": "", (*)
    "id_bill_child": "" // chỉ sử dụng nếu kiểm tra hàng hoá có vượt quá cho bill child
}

//output: nếu trả về success Pay success, nếu trả về error nếu là Pay fail là bình thường, còn trả về mảng json là
//check tồn kho thiếu trả về mảng hàng hoá thiếu