Panduan Post Metabox: Dynamic 1-to-N Event Sessions Repeater
Fitur Dynamic 1-to-N Event Sessions Repeater pada metabox RSVPKit adalah modul pembagian sesi acara tanpa batas yang memungkinkan vendor mengatur berbagai rangkaian prosesi pernikahan (Akad, Pemberkatan, Resepsi Siang, Resepsi Malam) dengan alokasi kuota mandiri, rentang jam khusus, serta proteksi integritas data server Cascading Guard.
Memahami Kebutuhan Rangkaian Acara Multi-Sesi
Tren pesta pernikahan modern pasca-pandemi bergeser ke arah pembagian sesi (staggered sessions). Mengumpulkan seluruh 500 tamu undangan dalam satu ruangan dan waktu yang sama sering kali menimbulkan kepadatan ekstrem di area parkir, antrean panjang di meja prasmanan, serta suasana yang kurang khidmat.
Oleh karena itu, calon pengantin kini membagi tamu ke dalam beberapa sesi: sesi pagi khusus akad nikah untuk keluarga besar, sesi siang untuk rekan orang tua, dan sesi malam santai untuk teman sebaya (after party). Kendala timbul ketika formulir website konvensional hanya menyediakan satu pilihan kehadiran tunggal tanpa kemampuan membatasi kuota porsi per sesi secara spesifik.
WDP RSVPKit memecahkan tantangan ini melalui sub-tab Event Sessions Repeater. Tanpa batasan jumlah (1-to-N), Anda dapat merancang skema alur kehadiran yang rapi dan terorganisir untuk setiap fase acara pengantin.
Prasyarat Sebelum Konfigurasi
Pastikan hal-hal berikut telah siap sebelum mengatur sesi acara:
- Rundown Acara Pernikahan: Dapatkan susunan jadwal jam dan lokasi dari calon pengantin atau wedding organizer.
- Kapasitas Ruangan Per Sesi: Tentukan batas maksimal kuota tamu yang diperbolehkan hadir pada masing-masing sesi prosesi.
- Editor Undangan Terbuka: Buka lembar kerja postingan undangan Anda di WP Admin.
Bedah Mendalam Fitur Event Sessions Repeater
Untuk mengatur modul ini, buka postingan undangan di WP Admin, lalu navigasikan ke sub-tab Event Sessions Repeater pada panel RSVPKit Settings:
1. Antarmuka Repeater Interaktif (1-to-N)
Modul ini dibangun menggunakan arsitektur repeater dinamis berbasis JavaScript yang sangat responsif:
- Tombol + Tambah Sesi Acara: Menambahkan kartu sesi baru di bagian bawah daftar secara instan tanpa memuat ulang halaman.
- Drag-and-Drop Reordering: Anda dapat mengubah urutan tampilan sesi hanya dengan menyeret ikon pegangan (handle) ke atas atau ke bawah.
- Tombol Hapus Sesi: Menghapus baris sesi yang dibatalkan dengan konfirmasi dialog keamanan.
2. Parameter Pengaturan Setiap Kartu Sesi
Setiap baris sesi menyediakan 5 kolom kontrol presisi:
- Nama Sesi Acara: Judul prosesi yang akan dibaca oleh tamu (contoh: Akad Nikah, Resepsi Sesi 1, atau Evening Reception).
- Keterangan Waktu: Rentang jam pelaksanaan acara (contoh: 08:00 - 10:00 WIB).
- Lokasi & Ruangan: Keterangan gedung atau ballroom khusus jika resepsi diadakan di ruangan terpisah.
- Batas Kuota Tamu (Capacity Limit): Angka maksimal porsi kehadiran yang diizinkan untuk sesi tersebut.
- Status Ketersediaan (Session Status): Saklar penanda apakah sesi berstatus Open (terbuka) atau Closed (ditutup karena kuota telah penuh).
3. Arsitektur Proteksi Server: Cascading Guard
Ketika sebuah sistem menangani data array bersarang (nested array), menghapus baris di urutan tengah sering kali merusak nomor indeks data pada rekaman respon tamu yang sudah ada sebelumnya.
WDP RSVPKit mengimplementasikan teknologi Cascading Guard:
- Setiap sesi diberikan pengenal acak permanen (Unique Session Hash ID) yang tidak pernah berubah meskipun urutan barisnya digeser.
- Saat salah satu sesi dihapus, skrip sanitasi server secara otomatis menyusun ulang kunci data tanpa merusak riwayat konfirmasi tamu yang telah tercatat di tabel respon.
4. Penyimpanan Terstruktur dalam Database
Seluruh konfigurasi sesi disimpan rapi sebagai metadata tunggal berformat JSON pada kunci _rsvpkit_sessions_data. Format ini menjamin proses pembacaan data oleh widget Elementor di frontend berjalan sangat cepat dengan konsumsi memori yang minimal.
Tabel Struktur Data JSON Sesi Acara
| Kunci Parameter JSON | Tipe Data | Contoh Nilai | Deskripsi Penggunaan |
|---|---|---|---|
session_id | VARCHAR(32) | sess_98ab21cd | Pengenal unik permanen untuk setiap baris sesi |
title | VARCHAR(150) | Resepsi Sesi Siang | Nama prosesi yang ditampilkan pada form |
time_range | VARCHAR(100) | 11:00 - 14:00 WIB | Keterangan jam pelaksanaan acara |
venue | VARCHAR(150) | Grand Ballroom Lt. 2 | Informasi ruangan atau lokasi khusus |
max_capacity | INTEGER | 250 | Batas maksimal alokasi kursi/porsi katering |
status | VARCHAR(20) | open / closed | Status ketersediaan pendaftaran sesi |
Skenario Praktik Lapangan: Andy & Zhea
Calon pengantin Andy & Zhea menyelenggarakan resepsi di sebuah hotel bintang lima dengan regulasi kapasitas ruang yang sangat ketat:
- Pemetaan 3 Sesi Acara: Melalui sub-tab Event Sessions Repeater, vendor menambahkan 3 kartu sesi:
- Sesi 1 (Akad Nikah): Waktu 08:00 - 10:00 WIB, Kuota 50 Pax (Khusus Keluarga Inti).
- Sesi 2 (Resepsi Siang): Waktu 11:00 - 14:00 WIB, Kuota 250 Pax (Keluarga Besar & Rekan Bisnis Orang Tua).
- Sesi 3 (After Party): Waktu 19:00 - 22:00 WIB, Kuota 150 Pax (Sahabat Muda & Rekan Kerja).
- Kustomisasi Widget Elementor: Pada formulir di halaman undangan, opsi sesi ditampilkan menggunakan kartu tombol modern.
- Pengendalian Kuota: Saat pendaftaran Sesi 2 telah mencapai angka 250 tamu, sistem secara otomatis memberikan label Penuh dan mengarahkan tamu lain untuk memilih opsi sesi yang masih tersedia.
- Hasil Operasional: Acara berlangsung dengan tertib, tanpa penumpukan tamu, dan kuota katering terdistribusi dengan akurasi 100%.
Tips & Praktik Terbaik Manajemen Sesi
- Berikan Jeda Waktu Antar-Sesi: Sediakan jeda minimal 1 jam antara sesi siang dan sesi malam untuk memberikan waktu bagi pihak vendor katering dan dekorasi merapikan area acara.
- Gunakan Nama Sesi yang Jelas: Hindari nama sesi yang ambigu. Cantumkan jam acara langsung pada judul sesi agar tamu tidak salah jadwal saat hadir di lokasi.
- Periksa Kuota Total Katering: Pastikan total akumulasi kuota dari seluruh baris sesi tidak melebihi pesanan porsi katering yang telah disepakati pengantin dengan pihak gedung.