Collection: packages
Menyimpan data paket subscription — nama, durasi, fitur, dan harga.
Struktur Dokumen
{
"_id": "uuid-string",
"name": "Premium",
"duration": "1 Month",
"price": 100000,
"features": ["product", "order", "wallet", "broadcast"],
"status": "active",
"type": "direct",
"description": "Paket premium untuk toko online",
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-06-25T14:30:00.000000Z"
}Field
| Field | Type | Deskripsi |
|---|---|---|
_id | string (UUID) | Primary key |
name | string | Nama paket (unique) |
duration | string | Durasi: "1 Month", "1 Year", "30 Day" |
price | int | Harga per durasi |
features | array | Fitur yang termasuk |
status | string | Status: active, inactive |
type | string | Tipe: direct, link |
description | string | Deskripsi paket |
Duration Format
Duration disimpan sebagai string "N Unit" dan di-parse dengan explode(' '):
$duration = explode(' ', $package->duration);
$d_value = (int) $duration[0]; // 1, 2, 3, ...
$d_satuan = $duration[1]; // "Month", "Year", "Day"Features
Fitur yang tersedia:
| Feature | Deskripsi |
|---|---|
product | Manajemen produk |
order | Manajemen order |
wallet | Wallet & withdraw |
broadcast | Broadcast message |
live_chat | Live chat |
ai_agent | AI agent |
team_chat | Team chat |
shipping | Shipping integration |
report | Laporan |
Query Umum
// Package aktif
db.packages.find({ status: "active" })
// Package by type
db.packages.find({ type: "direct" })
// Package dengan feature CRM
db.packages.find({ features: "crm" })