Cấu hình app khách
Dữ liệu đồng bộ với app Flutter (SalonProfile): nút trang chủ, Maps, thẻ khách, nhân viên đặt lịch.
Salon & chỉ đường (Google Maps)
Tên salon
Điện thoại
Email liên hệ
Địa chỉ hiển thị
Từ khóa Maps (map_query) — nếu trống app có thể dùng địa chỉ
Danh sách ảnh (một URL mỗi dòng)
Bảng màu — gallery
Thư viện salon
Bảng giá — price_board_images
Ưu đãi — promotion_board_images
Ảnh trong app khi khách bấm nút Ưu đãi . Nếu để trống, app dùng ảnh từ Salon Admin → Dịch vụ (có URL ảnh).
Ảnh chào sau quét QR mời (app khách)
Tối đa 5 URL (một dòng mỗi ảnh). Khách quét QR vào app sẽ vuốt ngang fullscreen trước khi vào trang chủ.
Để trống = bỏ qua bước này.
invite_onboarding_images
Freunde einladen — 2 mã QR
Mã 1 — ảnh cố định worldnailqr-code.png (tải app iOS + Android).
Mã 2 — mời vào salon này (quét trong app sau khi đã cài).
Giống màn Mời bạn bè trong app khách.
QR 1 — app_download_qr_image_url
QR 2 — Salon-Einladung (tự sinh theo salon)
Xuất PNG in salon
Xem / In
Thẻ khách — số ô đóng dấu & % ô ưu đãi (cuối)
Mỗi lịch đặt hẹn có một thẻ khách tương ứng (vd. massage).
Số ô đóng dấu — app hiển thị thêm 1 ô % giảm giá ở cuối. Tối thiểu 2.
Cột Ảnh nền = URL hình nền thẻ trong app.
Loại thẻ
Số ô đóng dấu
% ô cuối
Ảnh nền (URL)
Cập nhật JSON từ bảng
Đọc JSON vào bảng
JSON đầy đủ (customer_cards)
type, title, qr_data, stamp_slot_count, discount_percent, reward_label, background_image_url
Lịch đặt hẹn động (booking_calendars)
Mỗi dòng = một loại lịch trong app (tay, chân, mi, hoặc loại mới). ID chỉ dùng chữ thường, số, gạch dưới
(vd. brows). App chỉ hiện lịch bật và có ít nhất một nhân viên.
Mỗi lịch cần bảng dịch vụ (tên + thời gian, bội 20 phút) — khách chọn khi đặt slot.
+ Thêm lịch
Đóng
Lưu cấu hình