Booking Status
Pantau daftar peserta yang telah booking per sesi.
{{ sch.className }}
{{ sch.coachName }}
Pilih sesi kelas di sebelah kiri
{{ selectedBookingClass.className }}
{{ selectedBookingClass.displayDate }} | {{ selectedBookingClass.timeString }}
Ganti Password
Perbarui kata sandi akun Staff Anda demi keamanan.
System Dashboard
Ringkasan performa dan data Vertex 8 System.
No Dashboard Access
You don't have permission to view any dashboard tab. Please contact your administrator.
Total Members
{{ members.length }}
{{ sch.timeString }}
{{ sch.className }}
{{ sch.coachName }}
{{ new Date(sch.date).toLocaleDateString('id-ID', { weekday: 'long', day: 'numeric', month: 'long', year: 'numeric' }) }}
{{ sch.totalCount }}
Total
{{ sch.regularCount }}
Regular
{{ sch.freeCount }}
Free
{{ sch.checkedInCount }}
In
{{ sch.totalCount }}/{{ sch.maxSlots || 20 }} Slots
Today's Sales
Rp {{ (salesAnalystData.today.total).toLocaleString() }}
This Month
Rp {{ (salesAnalystData.month.total).toLocaleString() }}
This Year
Rp {{ (salesAnalystData.year.total).toLocaleString() }}
All Time Sales
Rp {{ (salesAnalystData.all.total).toLocaleString() }}
Sales Trend (Bulan Ini)
{{ new Date().toLocaleDateString('id-ID', { month: 'long', year: 'numeric' }) }}Cek Sales per Tanggal
Total Revenue
Rp {{ salesAnalystSelectedDateSummary.total.toLocaleString() }}
Total Transaksi
{{ salesAnalystSelectedDateSummary.count }}({{ salesAnalystSelectedDateSummary.totalAll - salesAnalystSelectedDateSummary.count }} dibatalkan)
| Waktu | Customer | Items | Metode | Sales | Total | Status |
|---|---|---|---|---|---|---|
| {{ new Date(tx.date).toLocaleTimeString('id-ID', { hour: '2-digit', minute: '2-digit' }) }} | {{ tx.customerName }} | {{ tx.items }} | {{ tx.paymentMethod }} | {{ tx.salesRef }} | Rp {{ Number(tx.total).toLocaleString() }} | {{ tx.status || 'PAID' }} |
| Tidak ada transaksi di tanggal ini. | ||||||
Loading Warriors Data...
{{ board.raceName }}
{{ board.top3[1].nickname }}
{{ board.top3[1].time }}
{{ board.top3[0].nickname }}
{{ board.top3[0].time }}
{{ board.top3[2].nickname }}
{{ board.top3[2].time }}
Pre Renewed
Follow up member yang masa aktifnya akan/sudah habis.
| No | Member Info | Expiry Status | PIC Sales | To-Do Status | Aksi | |
|---|---|---|---|---|---|---|
| Target follow-up tidak ditemukan. | ||||||
| {{ index + 1 }} | {{ mem.fullname }} Pkg: {{ mem.activePackage }} 🟡 Pending 🔴 Expired | {{ mem.statusLabel }} | {{ mem.whatsapp }} | {{ mem.displayPicSales }} | {{ mem.calculatedStatus }} | |
Semua target sudah terfollow-up / tidak ditemukan.
{{ mem.fullname }}
{{ mem.whatsapp }}
Active Package
{{ mem.activePackage }}
{{ selectedPreRenewed.fullname }}
POS Detail
{{ selectedMilesTxDetail.txId }}
{{ selectedActiveClass?.isToday ? '📅 Today' : '📅 Tomorrow' }} · {{ selectedActiveClass?.timeString }}
{{ selectedActiveClass?.className }}
{{ selectedActiveClass?.coachName }}
{{ selectedActiveClass?.totalCount || 0 }}
Total
{{ selectedActiveClass?.regularCount || 0 }}
🟢 Regular
{{ selectedActiveClass?.freeCount || 0 }}
🟡 Free
{{ selectedActiveClass?.checkedInCount || 0 }}
🔵 In
Slot Capacity
{{ selectedActiveClass?.totalCount || 0 }} / {{ selectedActiveClass?.maxSlots || 20 }}
CHECK-IN SYSTEM
{{ currentTimeStr }}
{{ currentDateStr }}
{{ currentActiveSchedule.className }}
{{ currentActiveSchedule.description }}
Time Slot
{{ currentActiveSchedule.timeString }}
Coach
{{ currentActiveSchedule.coaches && currentActiveSchedule.coaches.length ? currentActiveSchedule.coaches[0] : 'TBA' }}
Checked In
{{ currentSessionLogCount }} / 20
Upcoming Class
{{ nextUpSchedule.className }}
Head Coach
{{ nextUpSchedule.coachName }}
{{ nextUpSchedule.coachName }}
PUBLIC PERFORMANCE
ACCESS
Please tap the card to access Gym.
Free for all active members.
System Ready • Waiting for Tap
{{ scannedMember.name || 'Unknown Member' }}
{{ scannedMember.id || '-' }}
Active Package
{{ scannedMember.package }}
NO PACKAGE
Expiration Date
{{ formatExpiryDate(scannedMember.expiry) }}
Anda sudah berada di dalam kelas ini
Silakan booking terlebih dahulu
Please contact admin immediately
GATE ACCESS
{{ currentTimeStr }}
{{ currentDateStr }}
GENERAL ACCESS
Tap member card to enter. Open for all active members.
Gate Ready • Waiting for Tap
{{ scannedMember.name || 'Unknown Member' }}
{{ scannedMember.id || '-' }}
Active Package
{{ scannedMember.package }}
NO PACKAGE
Expiration Date
{{ formatExpiryDate(scannedMember.expiry) }}
Anda sudah berada di dalam kelas ini
Silakan booking via kasir terlebih dahulu
Please contact admin immediately
Check-In Report
| Tanggal | Class | Jam (Sesi) | Total Checkin |
|---|
Member Details ({{ group.count }})
| Time | Member ID | Name | Status |
|---|---|---|---|
| {{ member.checkInTime }} | {{ member.memberId }} | {{ member.memberName }} | {{ member.status }} |
No check-in data found.
RFID Management
Assign atau perbarui kartu tap akses untuk member.
1. Pilih Member
2. Tap Kartu Baru
Pilih member terlebih dahulu
Target Member
{{ selectedRfidMember.fullname }}
Member ini sudah punya kartu. Tap kartu baru untuk me-replace.
System WIKI
Daftar tautan referensi & dokumen penting internal.
Belum ada data WIKI yang disimpan.
{{ item.title }}
{{ item.url }}
{{ wikiForm.id ? 'EDIT' : 'CREATE' }} WIKI
SYSTEM SETTINGS
PADEL Schedule
{{ currentMonthName }} {{ currentYear }}
Instructions
Klik pada tanggal di kalender untuk melihat detail booking lapangan.
*Jadwal booking dibuat otomatis dari transaksi POS (Pembelian Produk Padel).
PADEL Management
{{ item.name }}
{{ item.description }}
Achievement Leaderboard
| Rank | Member | Total Points | Badge |
|---|---|---|---|
| #{{ idx + 1 }} |
{{ mem.fullname }}{{ mem.id }}
|
{{ mem.points || 0 }} PTS | - |
Manage Missions
{{ msn.title }}
{{ msn.description }}
Achievement Schedule
{{ currentMonthName }} {{ currentYear }}
Instructions
Klik tanggal untuk menambahkan Misi Harian.
Manage Classes
Kelola master data kelas dan fasilitas.
{{ cls.name }}
ID: {{ cls.id }} | {{ cls.category || 'Hyrox Class' }} | {{ cls.maxSlots || 20 }} Pax
{{ cls.description }}
Free Class Management
Atur kuota tiket gratis untuk promo Grand Opening.
{{ cls.className }}
{{ cls.date }} | {{ cls.time }}
{{ cls.coach || 'TBA' }}
Terpakai
{{ cls.bookedCount }} / {{ cls.freeQuota }}
{{ freeClassForm.id ? 'Edit Free Class' : 'Add Free Class' }}
HYROX Schedule
{{ currentMonthName }} {{ currentYear }}
Instructions
Klik pada tanggal di kalender untuk melihat detail kelas atau menambahkan jadwal baru.
Pre Registration Leads
Kelola data calon member baru.
| Tgl Masuk | Calon Member | Kontak | PIC / Sales | Status | Aksi |
|---|---|---|---|---|---|
| Data tidak ditemukan sesuai filter. | |||||
|
{{ new Date(lead.timestamp).toLocaleDateString('id-ID', { day: 'numeric', month: 'short', year: 'numeric' }) }} {{ new Date(lead.timestamp).toLocaleTimeString('id-ID', { hour: '2-digit', minute: '2-digit' }) }} |
{{ lead.fullname }} {{ lead.location }} |
{{ lead.whatsapp }}
{{ lead.email }}
|
{{ lead.assignedTo }} | {{ lead.status }} | |
Data leads tidak ditemukan.
Tanggal Daftar
{{ new Date(lead.timestamp).toLocaleDateString('id-ID', {day:'numeric', month:'short'}) }} • {{ new Date(lead.timestamp).toLocaleTimeString('id-ID', {hour:'2-digit', minute:'2-digit'}) }}
{{ lead.fullname }}
{{ lead.whatsapp }}
{{ lead.email }}
Member List
PERINGATAN DATA DUPLIKAT!
- {{ msg }}
*Harap edit dan perbaiki kontak member di atas agar Check-in dan notifikasi berjalan optimal.
| No | Name | Title | Active Bundle | Contact | Joined Date | Action |
|---|---|---|---|---|---|---|
| Data member tidak ditemukan. | ||||||
| {{ (memberCurrentPage - 1) * 20 + index + 1 }} |
{{ mem.fullname }}
{{ mem.id }}
|
{{ getMemberTitle(mem.id) }} - | {{ mem.activePackage }} No Package 🟡 Pending Activation 🔴 Expired |
{{ String(mem.whatsapp).replace(/'/g, '') }} {{ mem.email }} |
{{ mem.timestamp ? new Date(mem.timestamp).toLocaleString('id-ID', {day:'numeric', month:'short', year:'numeric', hour:'2-digit', minute:'2-digit'}) : '-' }} | |
Data member tidak ditemukan.
{{ mem.fullname }}
{{ mem.id }}
{{ mem.whatsapp }}
{{ mem.email }}
Joined: {{ mem.timestamp ? new Date(mem.timestamp).toLocaleDateString('id-ID') : '-' }}
Referral Code
Kelola kode dan pantau komisi member.
| Kode Referral | Pemilik (Member) | Diskon Customer | Rincian Komisi Pemilik | Action |
|---|---|---|---|---|
| Belum ada kode referral dibuat. | ||||
| {{ ref.code }} | {{ ref.member_name }} | {{ ref.discount_percent }}% |
|
|
| Pemilik (Member) | Kode Referral | Total Dipakai | Total Revenue Tercipta | Total Komisi Pemilik |
|---|---|---|---|---|
| Belum ada data komisi. | ||||
| {{ data.member_name }} | {{ data.code }} | {{ data.totalUsed }}x | Rp {{ data.totalRevenue.toLocaleString() }} | Rp {{ data.totalCommission.toLocaleString() }} |
Create Referral
Rincian Komisi
Pemilik: {{ selectedReferralDetail.member_name }} | Kode: {{ selectedReferralDetail.code }}
Banned Account
Manage frozen accounts & no-show penalty data
Search Frozen Member
{{ m.fullname }}
{{ m.whatsapp }} · {{ m.email }}
{{ m.noShowCount }}x no-show
Type to search all frozen accounts in real-time.
{{ selectedFrozenMember.fullname }}
{{ selectedFrozenMember.email }} · {{ selectedFrozenMember.whatsapp }}
| Member | No-Show Count | Status | Active Package | Last No-Show | Freeze Date | Unfrozen By | Penalty Notes |
|---|---|---|---|---|---|---|---|
| No penalty data found. | |||||||
|
{{ p.memberName }} {{ p.email }} {{ p.whatsapp }} |
{{ p.noShowCount }} / 3 | {{ p.status }} | {{ p.activePackage || '-' }} | {{ p.lastNoShowDate || '-' }} | {{ p.freezeDate !== '-' ? p.freezeDate : '-' }} |
{{ p.unfreezeBy }}
-
{{ p.unfreezeDate }} |
{{ p.penaltyNotes !== '-' ? p.penaltyNotes : '-' }} |
Total: {{ filteredPenaltyList.length }} records
Simple POS
Tembak Bundle/Voucher ke 1 atau banyak member sekaligus (Bypass WA).
Pilih Target Member
{{ simplePosSelectedMembers.length }} TerpilihKonfigurasi Penembakan
Manage Race
Buat template Race untuk Training Card Member.
{{ race.name }}
{{ race.description }}
TRAINING CARD
{{ tcSelectedMember.fullname }}
{{ race.name }}
{{ race.description }}
Previous Best Record:
{{ getPreviousRaceRecord(race.id) || 'No Record Yet' }}
{{ raceForm.id ? 'Edit Race' : 'Create Race' }}
{{ selectedRaceData?.name }}
Athlete: {{ tcSelectedMember?.fullname }}
Previous Record
{{ getPreviousRaceRecord(selectedRaceData?.id) || 'None' }}
Growth (Est.)
{{ calculatedGrowth.text }}
RACE HISTORY
Athlete: {{ tcSelectedMember?.fullname }}
POS History
| Date | TxID | Branch | Customer | Items | Payment | Referral | Total | Action |
|---|---|---|---|---|---|---|---|---|
| Data transaksi tidak ditemukan. | ||||||||
| {{ new Date(tx.date).toLocaleDateString('id-ID', {day:'numeric', month:'short', year:'numeric'}) }} | {{ tx.txId }} Cancelled | {{ tx.branch || 'Eastvara BSD' }} | {{ tx.customerName }} {{ tx.type }} |
{{ tx.items }}
{{ tx.notes }}
|
{{ tx.paymentMethod || 'Cash' }} | {{ tx.referralCode && tx.referralCode !== '-' ? tx.referralCode : '-' }} | Rp {{ tx.total.toLocaleString() }} | |
Tidak ada riwayat transaksi.
Invoice No.
{{ tx.txId }}
Tanggal
{{ new Date(tx.date).toLocaleDateString('id-ID', {day:'numeric', month:'short', year:'numeric'}) }}
Rincian Pembelian:
{{ tx.items }}
Grand Total
Rp {{ tx.total.toLocaleString() }}
FOUNDER 100th
Daftar eksklusif 100 member pertama yang terus aktif memperbarui paket elit Vertex 8.
{{ mem.fullname }}
Inactive{{ mem.gender }} | {{ mem.id }}
{{ mem.activePackage }}First Joined
{{ mem.firstDateBuyStr }}
Loyalty
{{ mem.activeDays }}Days
Renewals
{{ mem.totalRenewed }}Times
Expires In
{{ mem.daysLeft }}Days
Belum ada member yang memenuhi syarat Founder 100th.
Effective Date Bulk
Set "Mulai Jalan" paket untuk banyak member sekaligus. Expiry Date dikalkulasi otomatis.
| Member Info | Active Package | Current Expiry | |
|---|---|---|---|
| Member dengan paket aktif tidak ditemukan. | |||
| {{ mem.fullname }} {{ mem.whatsapp }} | {{ mem.id }} | {{ mem.activePackage }} | {{ formatExpiryDate(mem.expiry) }} | |
Report Member List
Analitik spending & masa aktif member.
{{ mem.fullname }}
{{ mem.whatsapp }} | {{ mem.id }}
Total Packages
{{ mem.packageCount }}x Beli
Total Spending
Rp {{ (mem.totalSpending / 1000).toLocaleString() }}K
{{ mem.daysLeft < 0 ? 'Expired' : (mem.daysLeft === 0 ? 'Last Day' : `H-${mem.daysLeft}`) }}
Tidak ada member yang sesuai filter/pencarian.
SETTLEMENT SALES
Rekonsiliasi uang masuk dari POS ke Bank.
Total Sales POS
Rp {{ stlKpi.pos.toLocaleString() }}
Total Bank (Settled)
Rp {{ stlKpi.bank.toLocaleString() }}
Total Variance
Rp {{ stlKpi.variance.toLocaleString() }}
Status: NEW
{{ stlKpi.newCount }} Days
Status: SETTLED
{{ stlKpi.settledCount }} Days
| Tanggal Transaksi | Cabang | Total Sistem (Kotor) | Status | Action |
|---|---|---|---|---|
| Belum ada data penjualan sesuai filter. | ||||
| {{ new Date(item.date).toLocaleDateString('id-ID', { weekday: 'short', day: 'numeric', month: 'long', year: 'numeric' }) }} | {{ item.branch }} | Rp {{ item.systemTotal.toLocaleString() }} | {{ item.status }} | |
SETTLEMENT DETAILS
Tanggal: {{ new Date(settlementForm.date).toLocaleDateString('id-ID', { weekday: 'long', day: 'numeric', month: 'long', year: 'numeric' }) }} | Cabang: {{ settlementForm.branch }}
SETTLEMENT KOMISI
Pembayaran komisi (Tiering System).
Total Gross Sales
Rp {{ ssKpi.gross.toLocaleString() }}
Komisi Sales (70%)
Rp {{ ssKpi.komisiSales.toLocaleString() }}
Komisi Head (30%)
Rp {{ ssKpi.komisiHead.toLocaleString() }}
Total Variance
Rp {{ ssKpi.variance.toLocaleString() }}
Outstanding
{{ ssKpi.outstanding }} Person
Settled
{{ ssKpi.settled }} Person
| Salesman | Head Sales | Gross Sales | Tier | Komisi Sales (70%) | Actual Paid | Status | Action |
|---|---|---|---|---|---|---|---|
| Belum ada data komisi. | |||||||
| {{ item.salesName }} | {{ item.headName }} | Rp {{ item.netSales.toLocaleString() }} | {{ item.tier }} | Rp {{ item.komisiSales.toLocaleString() }} | {{ item.status === 'Settled' ? 'Rp ' + item.stlData.actual_paid.toLocaleString() : '-' }} | {{ item.status }} | |
| Head Sales | Tim Sales | Total Gross Sales (Tim) | Komisi Head (30%) | Actual Paid | Status | Action |
|---|---|---|---|---|---|---|
| Belum ada data komisi Head. | ||||||
| {{ item.headName }} | {{ item.teamCount }} Orang | Rp {{ item.netSales.toLocaleString() }} | Rp {{ item.komisiHead.toLocaleString() }} | {{ item.status === 'Settled' ? 'Rp ' + item.stlData.actual_paid.toLocaleString() : '-' }} | {{ item.status }} | |
SETTLEMENT KOMISI
{{ ssForm.type === 'Sales' ? 'Salesman' : 'Head Sales' }}: {{ ssForm.type === 'Sales' ? ssForm.salesmanName : ssForm.headName }} | Periode: {{ new Date(ssStartDate).toLocaleDateString('id-ID') }} - {{ new Date(ssEndDate).toLocaleDateString('id-ID') }}
SETTLEMENT REFERRAL
Pembayaran komisi (Referral System).
Total Gross Sales
Rp {{ srKpi.gross.toLocaleString() }}
Total Komisi Referral
Rp {{ srKpi.commission.toLocaleString() }}
Total Variance
Rp {{ srKpi.variance.toLocaleString() }}
Outstanding
{{ srKpi.outstanding }} Person
Settled
{{ srKpi.settled }} Person
| Referral Owner (Member) | Kode Referral | Penggunaan | Gross Sales | Komisi Referral | Actual Paid | Status | Action |
|---|---|---|---|---|---|---|---|
| Belum ada data komisi referral. | |||||||
| {{ item.memberName }} | {{ item.referralCode }} | {{ item.totalUsed }}x | Rp {{ item.totalRevenue.toLocaleString() }} | Rp {{ item.totalCommission.toLocaleString() }} | {{ item.status === 'Settled' ? 'Rp ' + item.stlData.actual_paid.toLocaleString() : '-' }} | {{ item.status }} | |
SETTLEMENT REFERRAL
Member: {{ srForm.memberName }} | Kode: {{ srForm.referralCode }} | Periode: {{ new Date(srStartDate).toLocaleDateString('id-ID') }} - {{ new Date(srEndDate).toLocaleDateString('id-ID') }}
Commission Report
Kalkulasi 70/30 berdasarkan tier pencapaian individu bulan ini.
Whatsapp Broadcast
Kirim pesan massal dengan aman. (Jeda acak otomatis 20-35 detik per kontak).
Pilih Target Kontak
Tulis Pesan
Auto Greeting Aktif
Gambar Lampiran (Opsional)
Tambahkan flyer atau poster promosi. Format: JPG/PNG. Pastikan ukuran gambar tidak terlalu besar.
BROADCASTING...
Tolong JANGAN TUTUP halaman ini sampai proses selesai!
{{ waSendingState.current }} of {{ waSendingState.total }}
Broadcast Outbox
Manage Greetings
Variasi sapaan ini akan dipilih secara acak (random) setiap kali sistem mengirim pesan menggunakan variabel {{sapaan}}. Semakin banyak variasi, semakin aman dari blokir WhatsApp.
Rincian Komisi Salesman
Salesman: {{ selectedCommissionDetail.salesName }} | Head: {{ selectedCommissionDetail.headName }}
Salesman Performance
Sales Name
{{ name }}
{{ stat.count }}
Transactions
Rp {{ (stat.total / 1000000).toFixed(1) }}M
Revenue
My Booking Status
Your upcoming class bookings
No Upcoming Bookings
You don't have any upcoming class bookings. Go to Hyrox Arena to book a class.
{{ booking.className }}
HYROX ARENA
Official Training Ground
{{ liveSessionBanner.className }}
No Live Session
{{ nextSessionBanner.className }}
No Upcoming Classes
{{ currentMonthName }} {{ currentYear }}
Schedule List {{ selectedScheduleDateStr || 'Select Date' }}
{{ tcSelectedMember.fullname }}
{{ tcSelectedMember.id }}
Current Weight
{{ tcCurrentWeight }} kg
PERSONAL BEST
Belum ada rekor balapan.
{{ score.date }}
{{ score.raceName }}
TRAINING
{{ race.name }}
{{ race.description }}
Belum ada riwayat latihan.
{{ log.wod_name }}
Coach: {{ log.coach_name || 'Admin' }}
Belum ada riwayat komposisi tubuh.
| Tanggal | Weight | Fat % | Muscle | View |
|---|---|---|---|---|
| {{ new Date(bc.date).toLocaleDateString('id-ID', { day: 'numeric', month: 'short', year: 'numeric' }) }} | {{ bc.weight }} | {{ bc.fat }} | {{ bc.muscle }} |
Belum ada catatan Personal Record (PR).
| Tanggal | Total Time | 1km Run | View |
|---|---|---|---|
| {{ new Date(pr.date).toLocaleDateString('id-ID', { day: 'numeric', month: 'short', year: 'numeric' }) }} | {{ pr.total_time || '-' }} | {{ getPrValue(pr.records, '1km Run') }} |
TOP CHAMPIONS
Earn points by completing daily missions & classes.
Calculating Points...
{{ sortedMemberPoints[1].fullname }}
Runner Up
{{ sortedMemberPoints[0].fullname }}
The Champion
{{ sortedMemberPoints[2].fullname }}
3rd Place
Other Warriors
{{ mem.fullname }}
{{ mem.id }}
Leaderboard data is empty.
Loading Warriors Data...
{{ board.raceName }}
{{ board.top3[1].nickname }}
{{ board.top3[1].time }}
{{ board.top3[0].nickname }}
{{ board.top3[0].time }}
{{ board.top3[2].nickname }}
{{ board.top3[2].time }}
MY MILES
Total Miles Balance
{{ (currentMemberDetails?.miles || 0).toLocaleString() }}
Transaction History
{{ new Date(log.created_at).toLocaleString('id-ID') }}
{{ log.reference }}
{{ log.type }}
MILES REDEEM SHOP
Your Available Miles
{{ (currentMemberDetails?.miles || 0).toLocaleString() }}
Report Miles
Pantau total saldo Miles seluruh member sistem.
Total KPI Miles Tersebar (Seluruh Member)
{{ totalMilesSystem.toLocaleString() }} Miles
| Rank | Nama Customer | Total Saldo Miles | Detail | |
|---|---|---|---|---|
| Data tidak ditemukan. | ||||
| #{{ idx + 1 }} | {{ mem.fullname }} | {{ mem.whatsapp }} | {{ (Number(mem.miles) || 0).toLocaleString() }} | |
*Menampilkan Top 20 Member berdasarkan Saldo Miles.
Miles History
Customer: {{ selectedMilesMember.fullname }} | WA: {{ selectedMilesMember.whatsapp }}
MY PROFILE
{{ currentUser?.role || 'Member' }}{{ currentMemberDetails?.nickname || currentUser?.name }}
{{ currentUser?.id }}
Inactive
Points
{{ (memberPointsMap && memberPointsMap[currentUser?.id]) ? memberPointsMap[currentUser?.id] : 0 }}
Gender
{{ currentMemberDetails?.gender || '-' }}
Active Bundle
{{ currentUser?.package || 'No Active Bundle' }}
Status
🟡 Pending 🔴 Inactive 🟢 ActiveExpires On
Not Activated Yet
{{ formatExpiryDate(currentUser?.expiry) }}
My Vouchers
Buy a bundle to get started!
{{ item.voucher_category }}
{{ item.voucher_name }}
{{ item.expiry_date ? 'Exp: ' + formatExpiryDate(item.expiry_date) : 'Abadi / No Expiry' }}
Display Profile
Private
Voucher Activity Logs
| Date | Voucher | Type | Ref |
|---|---|---|---|
| Belum ada riwayat aktivitas voucher. | |||
| {{ log.date }} | {{ log.voucherName }} | +{{ log.qty }} -{{ log.qty }} | {{ log.reference }} |
TRAINING CARD
Pilih member untuk mencatat atau melihat progres latihan mereka.
{{ mem.fullname }}
{{ mem.id }}
Member tidak ditemukan.
Athlete Profile
{{ tcSelectedMember.fullname }}
Current Weight
{{ tcCurrentWeight }} kg
PERSONAL BEST
Top RecordsAtlet ini belum memiliki catatan waktu (Personal Best).
{{ score.date }} | {{ score.timestamp }}
{{ score.raceName }}
Fastest Time
{{ score.time }}LOG LATIHAN
{{ tcSelectedMember.fullname }}
Belum ada riwayat latihan.
Klik "Add Log" untuk mencatat sesi latihan.
{{ log.wod_name }}
RPE: {{ log.rpe }}/10Coach: {{ log.coach_name || 'Admin' }}
{{ log.details || 'Tidak ada catatan spesifik.' }}
BODY COMPOSITION
{{ tcSelectedMember.fullname }}
Belum ada riwayat komposisi tubuh.
Masukkan hasil InBody pertama atlet.
| Tanggal Pengukuran | Weight (Kg) | Body Fat (%) | Muscle Mass (Kg) | Resting HR (BPM) | Action |
|---|---|---|---|---|---|
| {{ new Date(bc.date).toLocaleDateString('id-ID', { weekday: 'short', day: 'numeric', month: 'long', year: 'numeric' }) }} | {{ bc.weight }} | {{ bc.fat }} % | {{ bc.muscle }} | {{ bc.rhr || '-' }} |
|
{{ selectedLead.fullname }}
{{ selectedLead.location }}
{{ selectedLead.experience }}{{ selectedLead.whatsapp }}
{{ selectedLead.email }}
Tanggal Daftar
{{ new Date(selectedLead.timestamp).toLocaleString('id-ID') }}
Status Saat Ini
{{ selectedLead.status }}
Delegasi Sales
Ubah Status / Tindakan
Activity Logs
{{ new Date(selectedTcBodyComp.date).toLocaleDateString('id-ID', { weekday: 'long', day: 'numeric', month: 'long', year: 'numeric' }) }}
BODY COMPOSITION
Weight
{{ selectedTcBodyComp.weight }}Kg
Body Fat
{{ selectedTcBodyComp.fat }}%
Muscle Mass
{{ selectedTcBodyComp.muscle }}Kg
Resting HR
{{ selectedTcBodyComp.rhr || '-' }}BPM
HYROX PROGRESS
{{ tcSelectedMember.fullname }}
Belum ada catatan Personal Record (PR).
Klik "Add PR" untuk mencatat waktu Hyrox.
| Tanggal Uji | Total Time | 1km Run | 1000m Ski | 1000m Row | Action |
|---|---|---|---|---|---|
| {{ new Date(pr.date).toLocaleDateString('id-ID', { day: 'numeric', month: 'short', year: 'numeric' }) }} | {{ pr.total_time || '-' }} | {{ getPrValue(pr.records, '1km Run') }} | {{ getPrValue(pr.records, '1000m SkiErg') }} | {{ getPrValue(pr.records, '1000m Row') }} |
|
MANAGE KEY POINT
Atur Stasiun Log Latihan & Kategori Hyrox PR
Template Log Latihan (WOD)
Belum ada item. Silakan tambah.
Template Hyrox PR
Kategori kosong.
BODY COMPOSITION
Athlete: {{ tcSelectedMember.fullname }}
SALES PRESENTATION
Belum ada slide presentasi. Silakan upload di menu Catalog Setting.
Catalog Setting
Upload Slide PPT
Existing Slides
User Management
| Username | Full Name | Role | Action |
|---|---|---|---|
| User tidak ditemukan. | |||
| {{ user.username }} | {{ user.fullname }} | {{ user.role }} | |
User Logs
Riwayat aktivitas administrator dan staff.
| Waktu | Username | Aktivitas | Detail Keterangan |
|---|---|---|---|
| Data log tidak ditemukan pada periode ini. | |||
| {{ log.time }} | {{ log.username }} | {{ log.action }} | {{ log.details }} |
Product Management
{{ cat }}s
{{ prod.name }}
Rp {{ prod.price.toLocaleString() }}
{{ prod.description }}
Bundle Packages
{{ bnd.name }}
Bundle Includes:
- {{ item.name }} x{{ item.qty }}
{{ bundleForm.id ? 'Edit Bundle' : 'Create New Bundle' }}
Voucher Management
{{ vcr.name }}
{{ vcr.price === 0 ? 'FREE' : 'Rp ' + vcr.price.toLocaleString() }}