Book Resources Effortlessly & Instantly

Your all-in-one platform for booking company resources.

April 2026

Sun
Mon
Tue
Wed
Thu
Fri
Sat
29
30
31
1
Group 4 resources
MOHAMMAD THAQIF BIN MOHAMMAD HANAFIAH
10:00 - 17:00
Returned
2
Bilik Meeting
Zuraihan Abd Rahim
10:00 - 11:00
Completed
Bilik Meeting
'AISYAH KHUMAIRA' BINTI MOHD RIZAL
14:00 - 16:00
Completed
+1 more
3
4
5
6
7
Bilik Meeting
Sabrina A.Hamid
15:00 - 17:00
Completed
Group 7 resources
MOHAMMAD THAQIF BIN MOHAMMAD HANAFIAH
10:00 - 17:00
Cancelled
8
Group 7 resources
MOHAMMAD THAQIF BIN MOHAMMAD HANAFIAH
10:00 - 17:00
Cancelled
9
Bilik Meeting
Zuraihan Abd Rahim
11:00 - 12:00
Completed
Bilik Meeting
Zuraihan Abd Rahim
15:00 - 16:00
Completed
+2 more
10
Extension Wire 10m
Syahmi Sadan
All day
Returned
11
Extension Wire 10m
Syahmi Sadan
All day
Returned
12
Extension Wire 10m
Syahmi Sadan
All day
Returned
13
Extension Wire 10m
Syahmi Sadan
09/04 18:00 → 18:00
Returned
14
Bilik Meeting
Zuraihan Abd Rahim
14:00 - 15:00
Completed
15
Group 5 resources
MOHAMMAD THAQIF BIN MOHAMMAD HANAFIAH
11:00 - 17:00
Returned
16
Group 5 resources
MOHAMMAD THAQIF BIN MOHAMMAD HANAFIAH
11:00 - 17:00
Returned
17
Bilik Meeting
'AISYAH KHUMAIRA' BINTI MOHD RIZAL
09:00 - 12:00
Completed
Group 5 resources
MOHAMMAD THAQIF BIN MOHAMMAD HANAFIAH
11:00 - 17:00
Returned
18
19
20
Group 9 resources
MOHAMMAD THAQIF BIN MOHAMMAD HANAFIAH
11:00 - 23:00
Approved
21
Group 9 resources
MOHAMMAD THAQIF BIN MOHAMMAD HANAFIAH
11:00 - 23:00
Approved
22
23
24
25
26
27
28
29
30
1
2
Asset Management
Asset Marketing
Asset Project
Asset SkellUp

Browse & Book Resources

Apply filters to see available resources

Asset Management

Bilik Meeting

Available
Asset Management

Card - Card Parking

RM 10.00

Available
Asset Management

Card - TNG

RM 10.00

Available
Asset Management

Nissan Navara VHY 9290

RM 135,000.00

Available
Box Background
Asset Marketing

Box Background

RM 80.00

Available
CAMERA 2 (CANON G7X MARK iii)
Asset Marketing

CAMERA 2 (CANON G7X MARK iii)

RM 3,100.00

Available
CAMERA 3 (CANON EOS M50 MARK ii)
Asset Marketing

CAMERA 3 (CANON EOS M50 MARK ii)

RM 3,200.00

Available
Clapper
Asset Marketing

Clapper

RM 30.00

Available
GIMBAL
Asset Marketing

GIMBAL

RM 570.00

Available
Green Screen
Asset Marketing

Green Screen

RM 125.00

Available
Lighting (40 Watt)
Asset Marketing

Lighting (40 Watt)

RM 350.00

Available
MIC 1 (AMGRASS)
Asset Marketing

MIC 1 (AMGRASS)

RM 100.00

Available
Showing 1 to 12 of 54 results

Share Your Feedback

Help us improve the system with your ideas and suggestions

Enter the last 4 digits of your IC number for identification
JPG, PNG or WebP only. Max 5MB each.

MANUAL PENGGUNA USER MANUAL

RD BookHub

Peranan: Staff Role: Staff

VersiVersion : 1.0
TarikhDate : 18 April 2026
OrganisasiOrganisation : Revenue Discovery Sdn Bhd

1.0 Pengenalan Introduction

RD BookHub ialah sistem tempahan sumber yang membolehkan kakitangan menempah peralatan, kenderaan, bilik mesyuarat, dan sumber lain secara dalam talian.

1.1 Keupayaan Staff

Jadual 1.1: Fungsi Staff

Bil.FungsiKeterangan
1Layari & Cari SumberLayari dan cari sumber yang tersedia
2Buat TempahanBuat tempahan baru (individu atau kumpulan)
3Urus Tempahan SendiriLihat dan batalkan tempahan sendiri
4Kutip SumberKutip sumber yang telah diluluskan
5Pulangkan SumberPulangkan sumber yang telah dikutip
6Beri UlasanBeri ulasan selepas pemulangan
7Kemaskini ProfilKemaskini maklumat peribadi
8Eksport TempahanEksport senarai tempahan ke Excel
Had: Staff tidak boleh meluluskan/menolak tempahan, mengurus sumber, pengguna, atau kategori, atau mengakses panel pentadbir.
Nota: Anda juga boleh mengakses fungsi kutipan dan pemulangan melalui halaman awam (tanpa log masuk) menggunakan pengesahan IC. Lihat Bahagian 15.

RD BookHub is a resource booking system that allows staff to book equipment, vehicles, meeting rooms, and other resources online.

1.1 Staff Capabilities

Table 1.1: Staff Functions

No.FunctionDescription
1Browse & Search ResourcesBrowse and search available resources
2Create BookingsCreate new bookings (individual or group)
3Manage Own BookingsView and cancel your own bookings
4Collect ResourcesCollect approved resources
5Return ResourcesReturn collected resources
6Submit ReviewsSubmit reviews after returning resources
7Update ProfileUpdate personal information
8Export BookingsExport booking list to Excel
Limitations: Staff cannot approve/reject bookings, manage resources, users, or categories, or access the admin panel.
Note: You can also access collection and return functions via the public page (without logging in) using IC verification. See Section 15.

2.0 Pendaftaran & Log Masuk Registration & Login

2.1 Pendaftaran

Jika anda belum mempunyai akaun:

Jadual 2.1: Langkah Pendaftaran

LangkahTindakan
1Pergi ke halaman log masuk (/login)
2Klik pautan "Register here"
3Isi borang pendaftaran dalam modal
4Klik "Register"
5Semak e-mel untuk pautan pengesahan
6Klik pautan pengesahan untuk mengaktifkan akaun
7Log masuk dengan kelayakan anda

Jadual 2.2: Medan Borang Pendaftaran

MedanKeteranganWajib?
Full NameNama penuh andaYa
IC Last 4 Digits4 digit terakhir nombor IC andaYa
EmailAlamat e-mel aktifYa
Phone NumberNombor telefonYa
DepartmentJabatan (pilih dari senarai)Tidak
PasswordKata laluan (minimum 8 aksara)Ya
Confirm PasswordUlang kata laluanYa
Nota: Akaun baru diberikan peranan Staff secara automatik. Pendaftaran hanya melalui modal — tiada halaman pendaftaran berasingan.

2.1.1 Ralat Pendaftaran

Jadual 2.3: Ralat Pendaftaran

RalatPunca
"Email already registered"E-mel sudah digunakan oleh akaun lain
"IC already registered"IC sudah digunakan
"Password must be at least 8 characters"Kata laluan terlalu pendek
"Passwords do not match"Kata laluan tidak sepadan

2.2 Log Masuk

Jadual 2.4: Langkah Log Masuk

LangkahTindakan
1Pergi ke /login
2Masukkan IC Last 4 Digits dan Password
3(Pilihan) Tandakan "Remember Me"
4Klik "Sign In"

2.2.1 Situasi Khas

Jadual 2.5: Situasi Khas Log Masuk

SituasiApa Yang Berlaku
IC tidak dijumpaiMesej ralat "No account found" + pilihan untuk mendaftar
Kata laluan salahMesej ralat "These credentials do not match"
E-mel belum disahkanDiminta untuk mengesahkan e-mel terlebih dahulu
2FA diaktifkanDialihkan ke halaman pengesahan dua faktor

2.3 Lupa Kata Laluan

Jadual 2.6: Langkah Reset Kata Laluan

LangkahTindakan
1Di halaman log masuk, klik "Forgot your password?"
2Masukkan alamat e-mel anda
3Klik "Send Password Reset Link"
4Semak e-mel untuk pautan reset
5Klik pautan dan tetapkan kata laluan baru

2.4 Pengesahan Dua Faktor (2FA)

Jika 2FA diaktifkan pada akaun anda:

  • Selepas memasukkan IC dan kata laluan, anda akan diminta kod pengesahan
  • Masukkan kod dari aplikasi authenticator anda
  • Klik "Verify"

2.1 Registration

If you do not yet have an account:

Table 2.1: Registration Steps

StepAction
1Go to the login page (/login)
2Click the "Register here" link
3Fill in the registration form in the modal
4Click "Register"
5Check your email for the verification link
6Click the verification link to activate your account
7Log in with your credentials

Table 2.2: Registration Form Fields

FieldDescriptionRequired?
Full NameYour full nameYes
IC Last 4 DigitsLast 4 digits of your IC numberYes
EmailActive email addressYes
Phone NumberPhone numberYes
DepartmentDepartment (select from list)No
PasswordPassword (minimum 8 characters)Yes
Confirm PasswordRe-enter passwordYes
Note: New accounts are automatically assigned the Staff role. Registration is only available through a modal — there is no separate registration page.

2.1.1 Registration Errors

Table 2.3: Registration Errors

ErrorCause
"Email already registered"Email is already in use by another account
"IC already registered"IC is already in use
"Password must be at least 8 characters"Password is too short
"Passwords do not match"Passwords do not match

2.2 Login

Table 2.4: Login Steps

StepAction
1Go to /login
2Enter your IC Last 4 Digits and Password
3(Optional) Check "Remember Me"
4Click "Sign In"

2.2.1 Special Situations

Table 2.5: Special Login Situations

SituationWhat Happens
IC not foundError message "No account found" + option to register
Wrong passwordError message "These credentials do not match"
Email not verifiedPrompted to verify email first
2FA enabledRedirected to two-factor authentication page

2.3 Forgot Password

Table 2.6: Password Reset Steps

StepAction
1On the login page, click "Forgot your password?"
2Enter your email address
3Click "Send Password Reset Link"
4Check your email for the reset link
5Click the link and set a new password

2.4 Two-Factor Authentication (2FA)

If 2FA is enabled on your account:

  • After entering your IC and password, you will be prompted for a verification code
  • Enter the code from your authenticator app
  • Click "Verify"

3.0 Dashboard Dashboard

URL: /dashboard

Selepas log masuk, anda akan dibawa ke halaman Dashboard.

3.1 Kad Statistik (3 KPI)

Jadual 3.1: Kad Statistik Dashboard Staff

KadKeterangan
My BookingsJumlah semua tempahan anda
Pending ApprovalBilangan tempahan yang menunggu kelulusan admin
Total BookingsJumlah tempahan bulan ini. Sub-badge menunjukkan bilangan collected, overdue, missed dan completed

3.2 Kalendar Tempahan

Kalendar interaktif menunjukkan semua tempahan mengikut tarikh. Anda boleh:

  • Navigasi bulan (klik anak panah kiri/kanan)
  • Klik pada tempahan untuk melihat butiran

3.3 Tempahan Terkini (Top 10)

Jadual menunjukkan 10 tempahan terkini anda dengan:

  • Nombor tempahan, nama sumber, kategori, tarikh, status
  • Butang "View" untuk melihat butiran

Klik "View All" untuk pergi ke halaman Tempahan Saya.

URL: /dashboard

After logging in, you will be taken to the Dashboard page.

3.1 Statistics Cards (3 KPIs)

Table 3.1: Staff Dashboard Statistics Cards

CardDescription
My BookingsTotal number of all your bookings
Pending ApprovalNumber of bookings awaiting admin approval
Total BookingsTotal bookings this month. Sub-badges show collected, overdue, missed and completed counts

3.2 Booking Calendar

An interactive calendar displays all your bookings by date. You can:

  • Navigate months (click left/right arrows)
  • Click on a booking to view its details

3.3 Recent Bookings (Top 10)

A table displays your 10 most recent bookings with:

  • Booking number, resource name, category, date, status
  • "View" button to see details

Click "View All" to go to the My Bookings page.

4.0 Layari Sumber Browse Resources

URL: /resources

4.1 Penapis

Jadual 4.1: Penapis Sumber

PenapisKeterangan
SearchCari mengikut nama sumber
Start Date & TimeTarikh dan masa mula
End Date & TimeTarikh dan masa tamat
CategoryTapis mengikut kategori
LocationTapis mengikut lokasi

Klik "Apply" untuk menapis, atau "Reset" untuk bersihkan semua penapis.

4.2 Kad Sumber

Setiap sumber dipaparkan sebagai kad yang menunjukkan:

  • Gambar sumber dan badge kategori (berwarna mengikut warna yang ditetapkan oleh pentadbir)
  • Nama sumber dan harga (jika ada)
  • Penerangan ringkas dan kapasiti (jika ada)

4.3 Status Ketersediaan

Jadual 4.2: Status Ketersediaan

StatusKeterangan
AvailableBoleh ditempah untuk tarikh yang dipilih
UnavailableSudah ditempah pada waktu tersebut

4.4 Tindakan

  • "View Details" (ikon mata) — Lihat maklumat penuh sumber termasuk sub-item, gambar, dan statistik tempahan
  • "Book Now" (ikon kalendar) — Terus ke halaman tempahan baru dengan sumber ini dipilih
Penapis Wajib: Butang "Book Now" memerlukan semua penapis tarikh/masa (Start Date, Start Time, End Date, End Time) diisi dan "Apply Filters" diklik terlebih dahulu. Jika mana-mana medan kosong, amaran akan dipaparkan.

URL: /resources

4.1 Filters

Table 4.1: Resource Filters

FilterDescription
SearchSearch by resource name
Start Date & TimeStart date and time
End Date & TimeEnd date and time
CategoryFilter by category
LocationFilter by location

Click "Apply" to filter, or "Reset" to clear all filters.

4.2 Resource Cards

Each resource is displayed as a card showing:

  • Resource image and category badge (coloured based on badge color set by admin)
  • Resource name and price (if any)
  • Brief description and capacity (if any)

4.3 Availability Status

Table 4.2: Availability Status

StatusDescription
AvailableCan be booked for the selected dates
UnavailableAlready booked for the selected time

4.4 Actions

  • "View Details" (eye icon) — View full resource information including sub-items, images, and booking statistics
  • "Book Now" (calendar icon) — Go directly to the new booking page with this resource selected
Filter Required: The "Book Now" button requires all date/time filters (Start Date, Start Time, End Date, End Time) to be filled and "Apply Filters" clicked first. If any field is empty, a warning will be displayed.

5.0 Tempahan Baru New Booking

5.1 Tambah ke Troli

Jadual 5.1: Langkah Tambah ke Troli

LangkahTindakan
1Dari halaman Browse Resources, pilih sumber yang tersedia
2Klik "Add to Cart" atau "Book"
3Sumber akan ditambah ke troli anda
4Anda boleh menambah beberapa sumber sebelum checkout
Nota: Anda tidak boleh menambah sumber yang sama dua kali ke dalam troli.

5.2 Urus Troli

URL: /cart

Di halaman troli, anda boleh:

  • Melihat semua item yang ditambah
  • Membuang item yang tidak diperlukan
  • Meneruskan ke checkout

5.3 Checkout

Jadual 5.2: Langkah Checkout

LangkahTindakan
1Di halaman troli, semak semua item
2Klik "Checkout" — modal pengesahan akan muncul
3Isi Tujuan Tempahan (wajib)
4Tambah Peserta (pilihan) — taip nama dan tekan Enter
5Masukkan IC 4 Digit Terakhir untuk pengesahan
6Klik "Confirm & Checkout"

5.3.1 Semakan Sistem

Jadual 5.3: Semakan Semasa Checkout

SemakanKeterangan
Tarikh Akhir TempahanTempahan mestilah dibuat sekurang-kurangnya X hari kerja sebelum tarikh mula
Konflik MasaSumber tidak boleh bertindih dengan tempahan lain yang masih aktif
Pengesahan ICIC 4 digit terakhir mesti sepadan dengan rekod anda

5.4 Keputusan Tempahan

Jadual 5.4: Keputusan Selepas Checkout

SituasiKeputusan
Sumber tidak memerlukan kelulusanTempahan terus APPROVED
Sumber memerlukan kelulusanTempahan berstatus PENDING
Berbilang itemDicipta sebagai Group Booking dengan nombor kumpulan unik
Nota: Sumber yang tidak memerlukan kutipan fizikal (cth: bilik mesyuarat) akan kekal berstatus APPROVED selepas diluluskan — tiada proses kutipan atau pemulangan diperlukan. Selepas tarikh tamat, status akan bertukar kepada Completed secara automatik.

5.1 Add to Cart

Table 5.1: Add to Cart Steps

StepAction
1From the Browse Resources page, select an available resource
2Click "Add to Cart" or "Book"
3The resource will be added to your cart
4You can add multiple resources before checkout
Note: You cannot add the same resource twice to the cart.

5.2 Cart Management

URL: /cart

On the cart page, you can:

  • View all added items
  • Remove unwanted items
  • Proceed to checkout

5.3 Checkout

Table 5.2: Checkout Steps

StepAction
1On the cart page, review all items
2Click "Checkout" — a confirmation modal will appear
3Enter Purpose of Booking (required)
4Add Participants (optional) — type a name and press Enter
5Enter your IC Last 4 Digits for verification
6Click "Confirm & Checkout"

5.3.1 System Checks

Table 5.3: Checkout Validation Checks

CheckDescription
Booking DeadlineBookings must be made at least X working days before the start date
Time ConflictResources cannot overlap with other active bookings
IC VerificationIC last 4 digits must match your records

5.4 Booking Outcome

Table 5.4: Post-Checkout Outcomes

SituationOutcome
Resource does not require approvalBooking is immediately APPROVED
Resource requires approvalBooking is set to PENDING
Multiple itemsCreated as a Group Booking with a unique group number
Note: Resources that do not require physical collection (e.g. meeting rooms) will remain APPROVED after approval — no collection or return process is needed. After the end date, the status will automatically change to Completed.

6.0 Tempahan Saya My Bookings

URL: /bookings

6.1 Penapis & Carian

Jadual 6.1: Penapis Tempahan Saya

PenapisKeterangan
SearchCari mengikut nombor tempahan atau nama sumber
StatusTapis: All, Pending, Approved, Rejected, Collected, Returned, Completed, Cancelled, Missed
CategoryTapis mengikut kategori sumber

Butang: "Start New Booking", "Export", "Reset"

6.2 Jadual Tempahan

Jadual 6.2: Lajur Jadual Tempahan

LajurKeterangan
Booking #Nombor tempahan (badge "GROUP" jika tempahan kumpulan)
ResourceNama sumber
Start Date & TimeTarikh dan masa mula
End Date & TimeTarikh dan masa tamat
StatusBadge status
ActionsButang tindakan mengikut status

6.3 Butang Tindakan

Jadual 6.3: Butang Tindakan

ButangBila MunculFungsi
ViewSentiasaLihat butiran tempahan
CollectStatus = Approved, dalam tetingkap masaKutip sumber
ReturnStatus = CollectedPulangkan sumber
ReviewStatus = Returned, belum beri ulasanBeri ulasan
CancelStatus = Pending/ApprovedBatalkan tempahan
ExtendStatus = Approved/Collected/OverdueLanjutkan tempoh tempahan

URL: /bookings

6.1 Filters & Search

Table 6.1: My Bookings Filters

FilterDescription
SearchSearch by booking number or resource name
StatusFilter: All, Pending, Approved, Rejected, Collected, Returned, Completed, Cancelled, Missed
CategoryFilter by resource category

Buttons: "Start New Booking", "Export", "Reset"

6.2 Bookings Table

Table 6.2: Bookings Table Columns

ColumnDescription
Booking #Booking number ("GROUP" badge for group bookings)
ResourceResource name
Start Date & TimeStart date and time
End Date & TimeEnd date and time
StatusStatus badge
ActionsAction buttons based on status

6.3 Action Buttons

Table 6.3: Action Buttons

ButtonWhen ShownFunction
ViewAlwaysView booking details
CollectStatus = Approved, within time windowCollect resource
ReturnStatus = CollectedReturn resource
ReviewStatus = Returned, no review yetSubmit review
CancelStatus = Pending/ApprovedCancel booking
ExtendStatus = Approved/Collected/OverdueExtend booking duration

7.0 Butiran Tempahan Booking Details

URL: /bookings/{id}

7.1 Kad Status

Jadual 7.1: Paparan Kad Status

StatusPaparan
PendingKad kuning — "Tempahan anda sedang menunggu kelulusan admin"
ApprovedKad hijau — "Sedia untuk kutipan" dengan tarikh/masa kutipan
RejectedKad merah — "Tempahan anda tidak diluluskan"
CollectedKad biru — "Sila pulangkan mengikut masa"
OverdueKad merah — "Sila pulangkan segera!"
CompletedKad sian — "Tempahan selesai" (sumber tanpa kutipan fizikal, cth: bilik mesyuarat)
MissedKad oren — "Tempahan tamat tempoh — sumber tidak dikutip" (sumber memerlukan kutipan fizikal)
ReturnedKad ungu — "Berjaya dipulangkan"
CancelledKad kelabu — "Tempahan dibatalkan"

7.2 Maklumat Tempahan

  • Butiran sumber (nama, kategori, penerangan)
  • Tarikh mula dan tamat
  • Tujuan tempahan
  • Senarai peserta (jika ada)
  • Maklumat pelanjutan (jika telah dilanjutkan): tarikh tamat asal, siapa yang melanjutkan, dan bila

7.3 Sejarah Kutipan & Pemulangan

Jika sumber telah dikutip/dipulangkan, bahagian ini menunjukkan:

  • Tarikh/masa kutipan dan siapa yang mengutip
  • Item yang dikutip dan nota keadaan
  • Gambar kutipan
  • Tarikh/masa pemulangan dan status item (Returned / Missing)
  • Gambar pemulangan
Tempahan Kumpulan: Jika semua sumber dikutip dan dipulangkan pada masa yang sama, maklumat akan digabungkan dalam satu paparan ringkas (merged view).

URL: /bookings/{id}

7.1 Status Card

Table 7.1: Status Card Display

StatusDisplay
PendingYellow card — "Your booking is awaiting admin approval"
ApprovedGreen card — "Ready for collection" with collection date/time
RejectedRed card — "Your booking was not approved"
CollectedBlue card — "Please return on time"
OverdueRed card — "Please return immediately!"
CompletedCyan card — "Booking completed" (non-collection resources, e.g. meeting rooms)
MissedOrange card — "Booking expired — resource not collected" (collection-required resources)
ReturnedPurple card — "Successfully returned"
CancelledGrey card — "Booking cancelled"

7.2 Booking Information

  • Resource details (name, category, description)
  • Start and end dates
  • Booking purpose
  • Participant list (if any)
  • Extension info (if extended): original end date, who extended, and when

7.3 Collection & Return History

If the resource has been collected/returned, this section shows:

  • Collection date/time and who collected
  • Items collected and condition notes
  • Collection photos
  • Return date/time and item status (Returned / Missing)
  • Return photos
Group Bookings: If all resources are collected and returned at the same time, information is merged into a single compact view.

8.0 Kutipan Collection

8.1 Bila Boleh Kutip?

Anda boleh mengutip sumber apabila:

  • Status tempahan = Approved
  • Masa semasa ≥ tarikh/masa mula tempahan
  • Masa semasa ≤ tarikh/masa tamat tempahan

8.2 Proses Kutipan (Individu)

Jadual 8.1: Langkah Kutipan

LangkahTindakan
1Dari My Bookings atau Booking Details, klik butang "Collect"
2Modal kutipan akan muncul
3Tandakan checkbox sumber yang diterima
4Isi nota keadaan (pilihan)
5Muat naik sekurang-kurangnya 1 gambar keadaan sumber
6Klik "Confirm Collection"

Jadual 8.2: Medan Modal Kutipan

MedanKeteranganWajib?
Resource StatusCheckbox — tandakan jika sumber diterimaYa
Condition NotesNota keadaan sumber semasa kutipanTidak
PhotosGambar keadaan sumber (minimum 1)Ya
Nota: Gambar dimampatkan secara automatik (Canvas API, maks 1280px, 70% kualiti JPEG) sebelum dimuat naik.
Pintasan Muat Naik (Baru): Semasa modal Kutipan terbuka, anda boleh —
  • Klik pada medan untuk memilih fail dari peranti
  • Tampal tangkapan skrin secara terus menggunakan Ctrl + V
  • Seret & Lepas (drag & drop) gambar dari desktop atau penjelajah fail terus ke dalam modal

8.3 Kutipan Kumpulan

Untuk tempahan kumpulan:

  • Klik butang "Collect" pada kumpulan
  • Modal menunjukkan semua sumber dalam kumpulan dengan checkbox
  • Select All untuk kutip semua sekali gus
  • Isi nota keadaan dan muat naik gambar
  • Klik "Confirm Collection"

8.1 When Can You Collect?

You can collect a resource when:

  • Booking status = Approved
  • Current time ≥ booking start date/time
  • Current time ≤ booking end date/time

8.2 Collection Process (Individual)

Table 8.1: Collection Steps

StepAction
1From My Bookings or Booking Details, click the "Collect" button
2A collection modal will appear
3Check the checkbox for the received resource
4Fill in condition notes (optional)
5Upload at least 1 photo of the resource condition
6Click "Confirm Collection"

Table 8.2: Collection Modal Fields

FieldDescriptionRequired?
Resource StatusCheckbox — check if resource is receivedYes
Condition NotesNotes on resource condition at collectionNo
PhotosPhotos of resource condition (minimum 1)Yes
Note: Photos are automatically compressed (Canvas API, max 1280px, 70% JPEG quality) before upload.
Upload Shortcuts (New): While the Collection modal is open, you can —
  • Click the field to browse files on your device
  • Paste a screenshot directly with Ctrl + V
  • Drag & Drop images from your desktop or file explorer into the modal

8.3 Group Collection

For group bookings:

  • Click the "Collect" button on the group
  • Modal shows all resources in the group with checkboxes
  • Select All to collect all at once
  • Fill in condition notes and upload photos
  • Click "Confirm Collection"

9.0 Pemulangan Return

9.1 Bila Boleh Pulang?

  • Status tempahan = Collected
  • Rekod kutipan wujud
Nota: Anda boleh memulangkan sebelum tarikh tamat — sumber akan menjadi tersedia untuk orang lain.

9.2 Proses Pemulangan (Individu)

Jadual 9.1: Langkah Pemulangan

LangkahTindakan
1Klik butang "Return" dari My Bookings atau Booking Details
2Modal pemulangan muncul
3Tetapkan status setiap sumber (Returned / Missing)
4Isi nota pemulangan (wajib jika ada item Missing)
5Muat naik sekurang-kurangnya 1 gambar
6Klik "Confirm Return"

Jadual 9.2: Status Toggle Pemulangan

StatusKeterangan
ReturnedSumber dipulangkan — biarkan checkbox ditandakan
MissingSumber hilang — nyahtanda checkbox

9.2.1 Susunan Pengesahan

  • 1. Nota wajib dahulu (jika ada item Missing)
  • 2. Gambar wajib selepas itu
Pintasan Muat Naik (Baru): Semasa modal Pemulangan terbuka, anda boleh —
  • Klik pada medan untuk memilih fail
  • Tampal tangkapan skrin dengan Ctrl + V
  • Seret & Lepas gambar terus ke dalam modal

9.3 Pemulangan Kumpulan

  • Klik butang "Return" pada kumpulan
  • Modal menunjukkan semua sumber dengan checkbox dan status
  • Select All untuk tandakan/nyahtandakan semua
  • Isi Return Notes (wajib jika ada yang Missing)
  • Muat naik gambar dan klik "Confirm Return"
Nota: "Toggle each resource status. Unchecked items will be marked as Missing."

9.4 Kesan Item Missing

Jika ada sumber ditandakan sebagai Missing:

  • Sumber ditetapkan sebagai tidak tersedia (is_available = false)
  • Keadaan ditukar kepada "under maintenance"
  • Admin diberitahu melalui notifikasi
  • Nota penyelenggaraan direkodkan secara automatik

9.1 When Can You Return?

  • Booking status = Collected
  • Collection record exists
Note: You can return before the end date — the resource will become available for others.

9.2 Return Process (Individual)

Table 9.1: Return Steps

StepAction
1Click the "Return" button from My Bookings or Booking Details
2A return modal will appear
3Set the status for each resource (Returned / Missing)
4Fill in return notes (mandatory if any item is Missing)
5Upload at least 1 photo
6Click "Confirm Return"

Table 9.2: Return Status Toggle

StatusDescription
ReturnedResource returned — leave checkbox checked
MissingResource missing — uncheck the checkbox

9.2.1 Validation Order

  • 1. Mandatory notes first (if any item is Missing)
  • 2. Mandatory photo after that
Upload Shortcuts (New): While the Return modal is open, you can —
  • Click the field to browse files
  • Paste a screenshot with Ctrl + V
  • Drag & Drop images straight into the modal

9.3 Group Return

  • Click the "Return" button on the group
  • Modal shows all resources with checkboxes and status
  • Select All to check/uncheck all at once
  • Fill in Return Notes (mandatory if any item is Missing)
  • Upload photos and click "Confirm Return"
Note: "Toggle each resource status. Unchecked items will be marked as Missing."

9.4 Missing Item Impact

If any resource is marked as Missing:

  • Resource is set to unavailable (is_available = false)
  • Condition is changed to "under maintenance"
  • Admin is notified via notification
  • Maintenance notes are recorded automatically

10.0 Ulasan Review

10.1 Bila Boleh Beri Ulasan?

  • Status tempahan = Returned
  • Belum pernah memberi ulasan untuk tempahan ini

10.2 Proses Beri Ulasan

Jadual 10.1: Langkah Ulasan

LangkahTindakan
1Klik butang "Review" dari My Bookings atau Booking Details
2Modal ulasan muncul
3Pilih penilaian bintang (1–5)
4Tulis komen (pilihan)
5Klik "Submit Review"

Jadual 10.2: Medan Modal Ulasan

MedanKeteranganWajib?
RatingPenilaian bintang 1–5Ya
CommentKomen terperinciTidak

10.1 When Can You Review?

  • Booking status = Returned
  • You have not yet submitted a review for this booking

10.2 Review Process

Table 10.1: Review Steps

StepAction
1Click the "Review" button from My Bookings or Booking Details
2A review modal will appear
3Select a star rating (1–5)
4Write a comment (optional)
5Click "Submit Review"

Table 10.2: Review Modal Fields

FieldDescriptionRequired?
RatingStar rating 1–5Yes
CommentDetailed commentNo

11.0 Pembatalan Cancellation

11.1 Bila Boleh Batal?

  • Status = Pending atau Approved
  • Anda ialah pemilik tempahan
  • Masa semasa ≤ tarikh/masa tamat

11.2 Proses Pembatalan

Jadual 11.1: Langkah Pembatalan

LangkahTindakan
1Klik butang "Cancel" dari My Bookings atau Booking Details
2Modal pengesahan muncul (nama sumber, nombor tempahan)
3Klik "Yes, Cancel" untuk mengesahkan
4Status tempahan bertukar kepada CANCELLED
Tempahan Kumpulan: Anda boleh membatalkan tempahan individu dalam kumpulan, atau membatalkan keseluruhan kumpulan.

11.1 When Can You Cancel?

  • Status = Pending or Approved
  • You are the booking owner
  • Current time ≤ end date/time

11.2 Cancellation Process

Table 11.1: Cancellation Steps

StepAction
1Click the "Cancel" button from My Bookings or Booking Details
2A confirmation modal appears (resource name, booking number)
3Click "Yes, Cancel" to confirm
4Booking status changes to CANCELLED
Group Bookings: You can cancel individual bookings within a group, or cancel the entire group.

12.0 Pelanjutan Tempahan Extend Booking

Fungsi ini membolehkan anda melanjutkan tempoh tempahan sedia ada tanpa perlu membuat tempahan baru. Sistem akan menyemak ketersediaan sumber secara automatik.

12.1 Bila Boleh Extend?

  • Status = Approved atau Collected (termasuk Overdue)
  • Anda ialah pemilik tempahan
  • Tarikh/masa tamat baru mesti lebih lewat daripada tarikh/masa tamat semasa
  • Sumber mesti tersedia untuk tempoh lanjutan

12.2 Proses Pelanjutan (Individu)

Jadual 12.1: Langkah Pelanjutan Tempahan Individu

LangkahTindakan
1Dari My Bookings atau Booking Details, klik butang Extend (ikon jam)
2Modal muncul menunjukkan tarikh/masa tamat semasa
3Pilih tarikh tamat baru dan masa tamat baru
4Klik "Extend Booking" untuk mengesahkan
5Sistem menyemak ketersediaan dan melanjutkan tempahan

12.3 Pelanjutan Tempahan Kumpulan

Untuk tempahan kumpulan, anda boleh memilih mana-mana tempahan dalam kumpulan untuk dilanjutkan:

Jadual 12.2: Langkah Pelanjutan Tempahan Kumpulan

LangkahTindakan
1Klik butang Extend pada baris kumpulan
2Modal muncul dengan senarai tempahan yang boleh dilanjutkan
3Pilih tempahan yang ingin dilanjutkan (guna checkbox, boleh pilih semua)
4Pilih tarikh tamat baru dan masa tamat baru
5Klik "Extend Selected" untuk mengesahkan
Nota: Selepas pelanjutan, badge Extended akan dipaparkan bersebelahan status tempahan. Tarikh tamat asal juga disimpan untuk rujukan.

This feature allows you to extend the duration of an existing booking without creating a new one. The system will automatically check resource availability.

12.1 When Can You Extend?

  • Status = Approved or Collected (including Overdue)
  • You are the booking owner
  • New end date/time must be later than the current end date/time
  • Resource must be available for the extended period

12.2 Individual Extend Process

Table 12.1: Individual Extend Steps

StepAction
1From My Bookings or Booking Details, click the Extend button (clock icon)
2A modal appears showing the current end date/time
3Select a new end date and new end time
4Click "Extend Booking" to confirm
5System checks availability and extends the booking

12.3 Group Booking Extension

For group bookings, you can select which bookings within the group to extend:

Table 12.2: Group Extend Steps

StepAction
1Click the Extend button on the group row
2A modal appears listing all extendable bookings in the group
3Select bookings to extend (use checkboxes, select all available)
4Select a new end date and new end time
5Click "Extend Selected" to confirm
Note: After extension, an Extended badge will be displayed next to the booking status. The original end date is also saved for reference.

13.0 Permohonan Pembelian Purchase Requests

Fungsi ini membolehkan kakitangan menghantar permohonan untuk membeli item. Permohonan akan disemak oleh Account dan diluluskan oleh Admin.

13.1 Senarai Permohonan Saya

URL: /purchase-requests

Halaman ini memaparkan semua permohonan pembelian anda dengan penapis berikut:

Jadual 13.1: Penapis Permohonan

PenapisKeterangan
SearchCari mengikut nombor permohonan, nama vendor, item
StatusTapis mengikut status permohonan
PriorityTapis mengikut keutamaan

13.2 Cipta Permohonan Baru

URL: /purchase-requests/create

Borang permohonan terdiri daripada 5 bahagian:

Bahagian 1: Maklumat Permohonan (auto-isi)

  • Order No (auto-jana: PR-YYYYMMDD-XXXXXX)
  • Tarikh, Nama Pemohon, Jabatan (dari profil pengguna)

Bahagian 2: Maklumat Vendor / Syarikat

Jadual 13.2a: Medan Vendor

MedanKeteranganWajib?
Vendor / Company NameNama vendor atau syarikatTidak
AddressAlamat termasuk bandar, poskodTidak
TelephoneNombor telefon vendorTidak
TIN NoNombor Pengenalan CukaiTidak
EmailEmel vendorTidak

Bahagian 3: Item Yang Ingin Dibeli

Jadual dinamik — boleh tambah/buang baris item.

Jadual 13.2b: Medan Item

MedanKeteranganWajib?
QuantityBilangan unitYa
Item NumberSKU / Kod itemTidak
Item To Be PurchasedPenerangan itemYa
Unit Price (RM)Harga seunitYa
Discount (%)Diskaun dalam peratus (0-100)Tidak

Total per item dikira automatik: Qty × Unit Price × (1 - Discount/100)

Shipping Fees — yuran penghantaran (jika ada). Grand Total = Subtotal + Shipping Fees.

Bahagian 4: Nota / Catatan

  • Priority — Keutamaan: Low, Medium, High, Urgent
  • Notes / Remarks — Justifikasi untuk pembelian

Bahagian 5: Lampiran

  • Muat naik sebut harga, PO, atau dokumen berkaitan (maks 5 fail, 10MB setiap satu)
  • Format: JPG, PNG, WebP, PDF, DOC, DOCX
  • Amaran akan dipaparkan jika jumlah ≥ RM 5,000 (sebut harga/PO diperlukan)
  • Pratonton gambar untuk fail imej, ikon fail untuk dokumen
  • Baru: Anda boleh menampal (Ctrl+V) tangkapan skrin atau seret & lepas fail dari desktop terus ke dalam borang

13.3 Status Permohonan

Jadual 13.3: Senarai Status Permohonan

StatusWarnaKeterangan
SubmittedKuningPermohonan dihantar, menunggu semakan Account
Account ReviewedCyanDisemak oleh Account, menunggu kelulusan Admin
ApprovedHijauDiluluskan oleh Admin
RejectedMerahDitolak oleh Account atau Admin
Pending PurchaseOrenDiluluskan, menunggu pembelian
PurchasedBiruItem telah dibeli

13.4 Aliran Kelulusan

Staff hantar → Account semak (pilih kaedah penghantaran & pembayaran) → Admin luluskan/tolak → Pembelian

13.5 Butiran Permohonan

Klik pada permohonan untuk melihat butiran penuh termasuk maklumat vendor, senarai item, lampiran, dan komen semakan.

13.6 Ubah Suai Permohonan (Baru)

URL: /purchase-requests/{id}/edit

Anda kini boleh mengubah suai permohonan pembelian sendiri dalam keadaan tertentu sahaja.

Jadual 13.6: Syarat Ubah Suai

SyaratKeterangan
PemilikHanya pemohon asal boleh ubah permohonan sendiri
StatusStatus mesti Submitted sahaja. Setelah Account/Admin mula semak, ubah suai tidak lagi dibenarkan

Cara Ubah Suai:

  1. Dari senarai My Requests, klik ikon pensel (Edit) pada permohonan berstatus Submitted
  2. Borang dimuatkan dengan nilai sedia ada (vendor, item, lampiran)
  3. Kemaskini mana-mana medan. Anda boleh buang lampiran lama atau tambah lampiran baru (termasuk paste/drag-drop)
  4. Klik "Update Request" untuk simpan perubahan
Jejak Audit: Setiap ubah suai direkodkan — sistem menyimpan edit_count, edited_at, dan edited_by. Account & Admin akan menerima notifikasi bahawa permohonan telah dikemaskini.
Amaran: Jika ikon Edit tidak dipaparkan, ini bermakna permohonan sudah disemak atau diluluskan — anda tidak boleh ubah lagi. Hubungi Account/Admin jika perubahan perlu dibuat.

This feature allows staff to submit requests to purchase items. Requests will be reviewed by Account and approved by Admin.

13.1 My Request List

URL: /purchase-requests

This page displays all your purchase requests with the following filters:

Table 13.1: Request Filters

FilterDescription
SearchSearch by request number, vendor name, items
StatusFilter by request status
PriorityFilter by priority level

13.2 Create New Request

URL: /purchase-requests/create

The form consists of 5 sections:

Section 1: Request Information (auto-filled)

  • Order No (auto-generated: PR-YYYYMMDD-XXXXXX)
  • Date, Requisition By, Department (from user profile)

Section 2: Vendor / Company Information

Table 13.2a: Vendor Fields

FieldDescriptionRequired?
Vendor / Company NameName of vendor or companyNo
AddressFull address including city, postcodeNo
TelephoneVendor phone numberNo
TIN NoTax Identification NumberNo
EmailVendor emailNo

Section 3: Items To Be Purchased

Dynamic table — add/remove item rows.

Table 13.2b: Item Fields

FieldDescriptionRequired?
QuantityNumber of unitsYes
Item NumberSKU / Item codeNo
Item To Be PurchasedItem descriptionYes
Unit Price (RM)Price per unitYes
Discount (%)Discount in percentage (0-100)No

Total per item is auto-calculated: Qty × Unit Price × (1 - Discount/100)

Shipping Fees — delivery charges (if applicable). Grand Total = Subtotal + Shipping Fees.

Section 4: Notes / Remarks

  • Priority — Low, Medium, High, Urgent
  • Notes / Remarks — Justification for purchases

Section 5: Attachments

  • Upload quotation, PO, or related documents (max 5 files, 10MB each)
  • Formats: JPG, PNG, WebP, PDF, DOC, DOCX
  • Warning alert when grand total ≥ RM 5,000 (quotation/PO required)
  • Image preview for uploaded images, file icon for documents
  • New: You can paste (Ctrl+V) screenshots or drag & drop files from your desktop directly into the form

13.3 Request Statuses

Table 13.3: Request Status List

StatusColourDescription
SubmittedYellowRequest submitted, awaiting Account review
Account ReviewedCyanReviewed by Account, awaiting Admin approval
ApprovedGreenApproved by Admin
RejectedRedRejected by Account or Admin
Pending PurchaseOrangeApproved, awaiting purchase
PurchasedBlueItem has been purchased

13.4 Approval Flow

Staff submit → Account review (select shipping & payment method) → Admin approve/reject → Purchase

13.5 Request Details

Click on a request to view full details including vendor info, item list, attachments, and review comments.

13.6 Edit a Request (New)

URL: /purchase-requests/{id}/edit

You can now edit your own purchase request, but only under specific conditions.

Table 13.6: Edit Conditions

ConditionDescription
OwnerOnly the original requester can edit their own request
StatusStatus must be Submitted. Once Account/Admin begins reviewing, editing is no longer allowed

How to Edit:

  1. From My Requests, click the pencil (Edit) icon on a request with Submitted status
  2. The form loads with your existing values (vendor, items, attachments)
  3. Modify any field. You can remove existing attachments or add new ones (including paste / drag & drop)
  4. Click "Update Request" to save
Audit Trail: Every edit is tracked — the system records edit_count, edited_at, and edited_by. Account & Admin receive a notification that the request has been updated.
Warning: If the Edit icon does not appear, the request has already been reviewed or approved — you cannot edit it anymore. Contact Account/Admin if changes are still needed.

13.5 Maklum Balas (Feedback) Feedback

Sistem maklum balas membolehkan anda menghantar cadangan penambahbaikan, laporan pepijat, permintaan ciri baru, atau maklum balas umum kepada pentadbir.

13.5.1 Hantar Maklum Balas

  1. Pergi ke Feedback dari menu navigasi atau sidebar
  2. Klik "New Feedback"
  3. Isi borang:

    Jadual 13.5.1: Medan Borang Maklum Balas

    MedanKeteranganWajib?
    CategoryGeneral, Improvement, Bug Report, Feature RequestYa
    TitleTajuk ringkasYa
    DescriptionPenerangan terperinciYa
    ImagesSehingga 3 gambar (JPG/PNG/WebP, maks 5MB). Baru: Tampal (Ctrl+V) atau seret & lepas disokongTidak
  4. Klik "Submit Feedback"

13.5.2 Lihat & Balas

  • Klik pada maklum balas untuk melihat butiran penuh
  • Tulis balasan di ruangan "Write a Reply" dan klik "Send Reply"
  • Admin akan diberitahu melalui notifikasi, e-mel, dan WhatsApp

13.5.3 Status Maklum Balas

Jadual 13.5.3: Status Maklum Balas

StatusKeterangan
SubmittedBaru dihantar
In ReviewSedang disemak
In ProgressSedang dilaksanakan
CompletedSelesai
RejectedTidak diterima

13.5.4 Maklum Balas Awam

Anda juga boleh menghantar maklum balas melalui halaman awam (/) → tab "Feedback". Masukkan 4 digit terakhir IC untuk pengesahan.

The feedback system allows you to submit improvement suggestions, bug reports, feature requests, or general feedback to administrators.

13.5.1 Submit Feedback

  1. Go to Feedback from the navigation menu or sidebar
  2. Click "New Feedback"
  3. Fill in the form:

    Table 13.5.1: Feedback Form Fields

    FieldDescriptionRequired?
    CategoryGeneral, Improvement, Bug Report, Feature RequestYes
    TitleBrief summaryYes
    DescriptionDetailed descriptionYes
    ImagesUp to 3 images (JPG/PNG/WebP, max 5MB each). New: Paste (Ctrl+V) or drag & drop supportedNo
  4. Click "Submit Feedback"

13.5.2 View & Reply

  • Click on a feedback to view full details
  • Write a reply in the "Write a Reply" section and click "Send Reply"
  • Admin will be notified via notification, email, and WhatsApp

13.5.3 Feedback Status

Table 13.5.3: Feedback Status

StatusDescription
SubmittedNewly submitted
In ReviewUnder review
In ProgressBeing implemented
CompletedDone
RejectedNot accepted

13.5.4 Public Feedback

You can also submit feedback from the public page (/) → "Feedback" tab. Enter your IC last 4 digits for verification.

14.0 Profil Profile

URL: /profile

13.1 Maklumat Yang Boleh Dikemaskini

Jadual 13.1: Medan Profil

MedanKeterangan
Profile PhotoMuat naik gambar (maks 5MB, format JPG/PNG/GIF)
Full NameNama penuh
IC NumberNombor IC (4 digit terakhir)
EmailAlamat e-mel
Phone NumberNombor telefon
DepartmentJabatan (pilih dari senarai)
Nota: Peranan (Role) dipaparkan tetapi tidak boleh ditukar oleh anda.

13.2 Tukar Kata Laluan

Jadual 13.2: Medan Tukar Kata Laluan

MedanKeterangan
Current PasswordKata laluan semasa
New PasswordKata laluan baru (minimum 8 aksara)
Confirm New PasswordUlang kata laluan baru

Klik "Update Profile" untuk menyimpan. Biarkan medan kata laluan kosong jika tidak mahu menukar.

URL: /profile

13.1 Editable Fields

Table 13.1: Profile Fields

FieldDescription
Profile PhotoUpload photo (max 5MB, JPG/PNG/GIF)
Full NameFull name
IC NumberIC number (last 4 digits)
EmailEmail address
Phone NumberPhone number
DepartmentDepartment (select from list)
Note: Your Role is displayed but cannot be changed by you.

13.2 Change Password

Table 13.2: Password Change Fields

FieldDescription
Current PasswordYour current password
New PasswordNew password (minimum 8 characters)
Confirm New PasswordRe-enter new password

Click "Update Profile" to save. Leave the password fields empty if you do not wish to change your password.

15.0 Notifikasi Notifications

URL: /notifications

Staff menerima notifikasi melalui e-mel dan/atau WhatsApp bergantung kepada konfigurasi yang ditetapkan oleh Superadmin. Berikut ialah senarai lengkap jenis notifikasi mengikut kategori:

15.1 Jenis Notifikasi

Jadual 15.1: Notifikasi Tempahan Individu

JenisKeterangan
New Booking CreatedTempahan baru telah dicipta
Booking Submitted for ApprovalTempahan dihantar untuk kelulusan admin
Booking ApprovedTempahan anda telah diluluskan
Booking RejectedTempahan anda telah ditolak
Booking CancelledTempahan telah dibatalkan
Resource CollectedSumber telah dikutip
Resource ReturnedSumber telah dipulangkan
Booking ReminderPeringatan 24 jam sebelum tempahan
Collection ReminderPeringatan untuk mengutip sumber apabila tempahan bermula
Return ReminderPeringatan 1 jam sebelum masa pemulangan
Overdue ReturnSumber lewat dipulangkan

Jadual 15.2: Notifikasi Tempahan Kumpulan

JenisKeterangan
Group Booking CreatedTempahan kumpulan baru dicipta
Group Booking ApprovedTempahan kumpulan diluluskan
Group Booking RejectedTempahan kumpulan ditolak
Group Booking CancelledTempahan kumpulan dibatalkan
Group Resource CollectedSumber kumpulan dikutip
Group Resource ReturnedSumber kumpulan dipulangkan

Jadual 15.3: Notifikasi Permintaan Pembelian

JenisKeterangan
Purchase Request SubmittedPermintaan pembelian baru dihantar
Purchase Request Edited BaruPemohon telah mengubah suai permohonan berstatus Submitted (Admin & Account dimaklumkan)
Purchase Request Account ReviewedPermintaan pembelian disemak oleh Account, menunggu kelulusan Admin
Purchase Request ApprovedPermintaan pembelian diluluskan oleh Admin
Purchase Request RejectedPermintaan pembelian ditolak
Purchase Request Pending PurchasePermintaan pembelian sedang diproses untuk pembelian
Purchase Request PurchasedItem permintaan pembelian telah dibeli

Jadual 15.4: Notifikasi Lain

JenisKeterangan
Review SubmittedUlasan baru diberikan
Nota: Setiap jenis notifikasi boleh diaktifkan atau dinyahaktifkan oleh Superadmin melalui halaman Notification Configuration. Saluran penghantaran (E-mel / WhatsApp) juga dikonfigurasi di sana.

15.2 Urus Notifikasi

  • Klik pada notifikasi untuk membacanya
  • Klik "Mark as Read" untuk menandakan sebagai dibaca
  • Klik "Mark All as Read" untuk menandakan semua sebagai dibaca

URL: /notifications

Staff receive notifications via email and/or WhatsApp depending on the configuration set by the Superadmin. Below is the full list of notification types by category:

15.1 Notification Types

Table 15.1: Individual Booking Notifications

TypeDescription
New Booking CreatedA new booking has been created
Booking Submitted for ApprovalBooking submitted for admin approval
Booking ApprovedYour booking has been approved
Booking RejectedYour booking has been rejected
Booking CancelledA booking has been cancelled
Resource CollectedA resource has been collected
Resource ReturnedA resource has been returned
Booking ReminderReminder sent 24 hours before booking
Collection ReminderReminder to collect resource when booking starts
Return ReminderReminder sent 1 hour before return time
Overdue ReturnResource return is overdue

Table 15.2: Group Booking Notifications

TypeDescription
Group Booking CreatedA new group booking has been created
Group Booking ApprovedA group booking has been approved
Group Booking RejectedA group booking has been rejected
Group Booking CancelledA group booking has been cancelled
Group Resource CollectedGroup resources have been collected
Group Resource ReturnedGroup resources have been returned

Table 15.3: Purchase Request Notifications

TypeDescription
Purchase Request SubmittedA new purchase request has been submitted
Purchase Request Edited NewThe requester edited a Submitted request (Admin & Account are notified)
Purchase Request Account ReviewedA purchase request has been reviewed by Account, pending Admin approval
Purchase Request ApprovedA purchase request has been approved by Admin
Purchase Request RejectedA purchase request has been rejected
Purchase Request Pending PurchaseA purchase request is being processed for purchase
Purchase Request PurchasedA purchase request item has been purchased

Table 15.4: Other Notifications

TypeDescription
Review SubmittedA new review has been submitted
Note: Each notification type can be enabled or disabled by the Superadmin via the Notification Configuration page. Delivery channels (Email / WhatsApp) are also configured there.

15.2 Managing Notifications

  • Click on a notification to read it
  • Click "Mark as Read" to mark as read
  • Click "Mark All as Read" to mark all as read

16.0 Eksport & Cetak Export & Print

16.1 Eksport Tempahan

Jadual 16.1: Langkah Eksport

LangkahTindakan
1Pergi ke My Bookings (/bookings)
2Klik butang "Export"
3Fail Excel akan dimuat turun dengan senarai tempahan anda

Jadual 16.2: Lajur Fail Eksport

LajurKeterangan
NoNombor baris
Group NumberNombor kumpulan (jika tempahan kumpulan)
Booking NumberNombor tempahan
ResourceNama sumber
Start DateTarikh/masa mula
End DateTarikh/masa tamat
Original End DateTarikh/masa tamat asal sebelum pelanjutan (jika ada)
Extended ByNama dan tarikh siapa yang melanjutkan (jika ada)
PurposeTujuan tempahan
StatusStatus tempahan (termasuk Overdue)
Created AtTarikh tempahan dibuat

16.2 Cetak Butiran

Jadual 16.3: Langkah Cetak

LangkahTindakan
1Pergi ke Booking Details (/bookings/{id})
2Klik butang "Print"
3Tetingkap cetak pelayar akan muncul
4Pilih pencetak dan klik "Print"

16.1 Export Bookings

Table 16.1: Export Steps

StepAction
1Go to My Bookings (/bookings)
2Click the "Export" button
3An Excel file will be downloaded with your booking list

Table 16.2: Export File Columns

ColumnDescription
NoRow number
Group NumberGroup number (if group booking)
Booking NumberBooking number
ResourceResource name
Start DateStart date/time
End DateEnd date/time
Original End DateOriginal end date/time before extension (if extended)
Extended ByName and date of who extended (if extended)
PurposeBooking purpose
StatusBooking status (including Overdue)
Created AtBooking creation date

16.2 Print Details

Table 16.3: Print Steps

StepAction
1Go to Booking Details (/bookings/{id})
2Click the "Print" button
3The browser print dialog will appear
4Select your printer and click "Print"

17.0 Halaman Awam Public Page

Selain menggunakan sistem melalui log masuk, anda juga boleh mengakses beberapa fungsi melalui halaman awam (/) — tanpa perlu log masuk.

17.1 Halaman Utama

URL: /

Halaman utama memaparkan:

  • Logo dan nama aplikasi RD BookHub
  • Butang "Sign In" dan "Register here"

Halaman awam mempunyai 3 tab utama:

TabKeterangan
CalendarKalendar interaktif memaparkan semua tempahan mengikut bulan
Book ResourcesLayari dan tempah sumber, serta akses fungsi Collect, Return, Extend dan Cancel
User ManualManual pengguna lengkap untuk rujukan

17.2 Layari Sumber Awam

Fungsi layari sumber di halaman awam serupa dengan halaman /resources selepas log masuk.

Jadual 17.1: Penapis Sumber Awam

PenapisKeterangan
Search ResourceCari mengikut nama sumber (live search)
CategoryTapis mengikut kategori
Start Date / End DateTarikh mula dan tamat
Start Time / End TimeMasa mula dan tamat

Jadual 17.2: Petunjuk Status Penapis

BadgeKeterangan
Filters applied...Penapis telah digunakan — sumber tersedia ditunjukkan dahulu
Apply filters...Sila gunakan penapis untuk melihat ketersediaan

17.3 Tempahan Melalui Halaman Awam

Anda boleh membuat tempahan tanpa log masuk melalui halaman awam.

Jadual 17.3: Langkah Tempahan Awam

LangkahTindakan
1Di halaman awam, tetapkan tarikh dan masa menggunakan penapis (Start Date, Start Time, End Date, End Time) dan klik "Apply Filters"
2Sistem akan menunjukkan sumber yang Available dan Unavailable untuk masa tersebut
3Klik butang "Book" pada sumber yang tersedia
4Borang tempahan muncul dengan tarikh/masa dipra-isi dan dikunci
5Pilih "Add to Cart" untuk menambah lagi sumber, atau "Book Now" untuk terus ke troli
6Di halaman troli (/public-cart), semak item dan klik "Checkout"
7Modal pengesahan muncul — isi Tujuan (wajib), Peserta (pilihan), dan IC 4 Digit Terakhir
8Klik "Confirm & Checkout" — tempahan dicipta secara automatik
Penting: Anda mesti menetapkan tarikh dan masa melalui penapis di halaman layari terlebih dahulu. Tarikh/masa akan dipra-isi dan tidak boleh diubah di borang tempahan. Butang "Book" hanya muncul pada sumber yang tersedia.

Jadual 17.4: Medan Checkout Tempahan Awam

MedanKeteranganWajib?
ResourceSumber yang dipilih (dipra-isi dan dikunci)Ya (auto)
Start Date & TimeTarikh dan masa mula (dipra-isi dan dikunci dari penapis)Ya (auto)
End Date & TimeTarikh dan masa tamat (dipra-isi dan dikunci dari penapis)Ya (auto)
PurposeTujuan tempahan (diisi semasa checkout)Ya
ParticipantsSenarai peserta (diisi semasa checkout, auto-complete)Tidak
IC Last 4 DigitsPengesahan identiti (diisi semasa checkout)Ya
Pendaftaran: Jika IC anda tidak dijumpai semasa checkout, sistem akan memaparkan borang pendaftaran akaun baru. Selepas mendaftar, sahkan e-mel anda, kemudian masukkan semula IC untuk meneruskan checkout.
Nota: Troli awam disimpan dalam sesi pelayar — kekal walaupun refresh halaman, tetapi hilang apabila sesi tamat atau pelayar ditutup. Semakan tarikh akhir tempahan dan konflik masa turut dilakukan semasa Add to Cart.

17.4 Kalendar Awam

Kalendar interaktif di halaman awam menunjukkan semua tempahan:

  • Navigasi: Anak panah kiri/kanan untuk tukar bulan
  • Penapis pengguna: Dropdown "All Users" sebagai lalai
  • Info Status: Klik ikon (di sebelah kanan bar penapis) untuk melihat panduan maksud setiap status tempahan (Pending, Approved, Rejected, Cancelled, Collected, Returned, Overdue, Completed, Missed)
  • Tempahan individu dan kumpulan dipaparkan dengan badge status
  • Klik pada tempahan untuk melihat butiran dalam modal

17.5 Kutipan Melalui Halaman Awam

Jadual 17.7: Langkah Kutipan Awam

LangkahTindakan
1Klik tab "Book Resources" di halaman utama
2Klik butang "Collect"
3Masukkan IC Last 4 Digits
4Pilih tempahan yang hendak dikutip
5Isi nota keadaan dan muat naik gambar (minimum 1, maks 3)
6Klik "Confirm Collection"
Nota: Syarat kutipan sama: Status = Approved, masa semasa ≥ tarikh mula, ≤ tarikh tamat.

17.6 Pemulangan Melalui Halaman Awam

Jadual 17.8: Langkah Pemulangan Awam

LangkahTindakan
1Klik tab "Book Resources" di halaman utama
2Klik butang "Return"
3Masukkan IC Last 4 Digits
4Pilih tempahan dan tetapkan status setiap sumber (Returned / Missing)
5Isi nota pemulangan (wajib jika Missing) dan muat naik gambar
6Klik "Confirm Return"

Jadual 17.9: Keputusan Pemulangan

KeputusanIkonKeterangan
Semua dipulangkanHijau"Returned!"
Ada item hilangKuning"Returned with Missing Items"
Sebahagian gagalMerah"Partial Success"

17.7 Pelanjutan Melalui Halaman Awam

Jadual 17.10: Langkah Pelanjutan Awam

LangkahTindakan
1Klik tab "Book Resources" di halaman utama
2Klik butang "Extend"
3Masukkan IC Last 4 Digits
4Pilih tempahan yang hendak dilanjutkan (boleh pilih semua atau sebahagian)
5Tetapkan tarikh dan masa tamat baharu
6Klik "Extend Booking" atau "Extend Selected"
Nota: Hanya tempahan dengan status Approved, Collected atau Overdue boleh dilanjutkan. Sistem akan menyemak ketersediaan sumber secara automatik.

17.8 Pembatalan Melalui Halaman Awam

Jadual 17.11: Langkah Pembatalan Awam

LangkahTindakan
1Klik tab "Book Resources" di halaman utama
2Klik butang "Cancel"
3Masukkan IC Last 4 Digits
4Pilih tempahan yang hendak dibatalkan (boleh pilih semua atau sebahagian)
5Masukkan sebab pembatalan (wajib)
6Klik "Cancel Booking" atau "Cancel Selected"
Amaran: Pembatalan tidak boleh dibuat semula. Hanya tempahan dengan status Pending atau Approved boleh dibatalkan.

Besides using the system through login, you can also access some functions via the public page (/) — without logging in.

17.1 Welcome Page

URL: /

The welcome page displays:

  • Logo and application name RD BookHub
  • "Sign In" and "Register here" buttons

The public page has 3 main tabs:

TabDescription
CalendarInteractive calendar displaying all bookings by month
Book ResourcesBrowse and book resources, plus access Collect, Return, Extend and Cancel functions
User ManualComplete user manual for reference

17.2 Public Resource Browse

The public resource browsing functions similarly to the /resources page after login.

Table 17.1: Public Resource Filters

FilterDescription
Search ResourceSearch by resource name (live search)
CategoryFilter by category
Start Date / End DateStart and end dates
Start Time / End TimeStart and end times

Table 17.2: Filter Status Indicators

BadgeDescription
Filters applied...Filters have been applied — available resources shown first
Apply filters...Please apply filters to see availability

17.3 Public Booking

You can create bookings without logging in via the public page.

Table 17.3: Public Booking Steps

StepAction
1On the public page, set the date and time using the filters (Start Date, Start Time, End Date, End Time) and click "Apply Filters"
2The system will show resources that are Available and Unavailable for that time
3Click the "Book" button on an available resource
4The booking form appears with date/time pre-filled and locked
5Choose "Add to Cart" to add more resources, or "Book Now" to go directly to the cart
6On the cart page (/public-cart), review items and click "Checkout"
7A confirmation modal appears — enter Purpose (required), Participants (optional), and IC Last 4 Digits
8Click "Confirm & Checkout" — bookings are created automatically
Important: You must set the date and time via the filters on the browse page first. The date/time will be pre-filled and cannot be changed on the booking form. The "Book" button only appears on available resources.

Table 17.4: Public Booking Checkout Fields

FieldDescriptionRequired?
ResourceSelected resource (pre-filled and locked)Yes (auto)
Start Date & TimeStart date and time (pre-filled and locked from filters)Yes (auto)
End Date & TimeEnd date and time (pre-filled and locked from filters)Yes (auto)
PurposeBooking purpose (entered at checkout)Yes
ParticipantsParticipant list (entered at checkout, auto-complete)No
IC Last 4 DigitsIdentity verification (entered at checkout)Yes
Registration: If your IC is not found during checkout, the system will display a new account registration form. After registering, verify your email, then re-enter your IC to proceed with checkout.
Note: The public cart is stored in your browser session — it persists through page refreshes but is lost when the session expires or the browser is closed. Booking deadline and time conflict checks are also performed during Add to Cart.

17.4 Public Calendar

An interactive calendar on the public page displays all bookings:

  • Navigation: Left/right arrows to change month
  • User filter: Dropdown with "All Users" as default
  • Status Info: Click the icon (right side of filter bar) to view a guide explaining what each booking status means (Pending, Approved, Rejected, Cancelled, Collected, Returned, Overdue, Completed, Missed)
  • Individual and group bookings displayed with status badges
  • Click on a booking to view details in a modal

17.5 Public Collection

Table 17.7: Public Collection Steps

StepAction
1Click the "Book Resources" tab on the welcome page
2Click the "Collect" button
3Enter your IC Last 4 Digits
4Select the booking to collect
5Fill in condition notes and upload photos (min 1, max 3)
6Click "Confirm Collection"
Note: Same collection conditions apply: Status = Approved, current time ≥ start date, ≤ end date.

17.6 Public Return

Table 17.8: Public Return Steps

StepAction
1Click the "Book Resources" tab on the welcome page
2Click the "Return" button
3Enter your IC Last 4 Digits
4Select the booking and set each resource status (Returned / Missing)
5Fill in return notes (mandatory if Missing) and upload photos
6Click "Confirm Return"

Table 17.9: Return Results

ResultIconDescription
All returnedGreen"Returned!"
Missing itemsYellow"Returned with Missing Items"
Partial failureRed"Partial Success"

17.7 Public Extend

Table 17.10: Public Extend Steps

StepAction
1Click the "Book Resources" tab on the welcome page
2Click the "Extend" button
3Enter your IC Last 4 Digits
4Select bookings to extend (select all or individual)
5Set a new end date and time
6Click "Extend Booking" or "Extend Selected"
Note: Only bookings with status Approved, Collected or Overdue can be extended. The system will automatically check resource availability.

17.8 Public Cancel

Table 17.11: Public Cancel Steps

StepAction
1Click the "Book Resources" tab on the welcome page
2Click the "Cancel" button
3Enter your IC Last 4 Digits
4Select bookings to cancel (select all or individual)
5Enter a cancellation reason (required)
6Click "Cancel Booking" or "Cancel Selected"
Warning: Cancellations cannot be undone. Only bookings with status Pending or Approved can be cancelled.

18.0 Rujukan Status Status Reference

Berikut ialah senarai status tempahan yang digunakan dalam sistem RD BookHub.

Jadual 18.1: Senarai Status Tempahan

Below is the list of booking statuses used in the RD BookHub system.

Table 18.1: Booking Status List

Status WarnaColour KeteranganDescription
Pending KuningYellow Menunggu kelulusan adminAwaiting admin approval
Approved HijauGreen Diluluskan, sedia untuk kutipanApproved, ready for collection
Rejected MerahRed Tidak diluluskanNot approved
Collected Biru mudaLight Blue Sumber telah dikutipResource has been collected
Overdue Merah mudaLight Red Lewat dipulangkan (tarikh tamat sudah lepas)Past the return deadline
Completed SianCyan Tempahan selesai — sumber tanpa kutipan fizikal (cth: bilik mesyuarat) selepas tarikh tamatBooking completed — non-collection resource (e.g. meeting room) past end date
Missed OrenOrange Diluluskan tetapi tidak dikutip (tarikh tamat sudah lepas) — sumber memerlukan kutipan fizikalApproved but not collected (past end date) — resource requires physical collection
Returned BiruBlue Sumber telah dipulangkanResource has been returned
Cancelled KelabuGrey Tempahan dibatalkanBooking cancelled

18.1 Aliran Status 18.1 Status Flow

Pending Approved Collected Returned
Pending juga boleh → Rejected / Cancelled Pending may also → Rejected / Cancelled
Approved yang tidak dikutip selepas tarikh tamat → Missed (paparan sahaja, sumber memerlukan kutipan) Approved not collected after end date → Missed (display only, collection-required resources)
Approved selepas tarikh tamat (tanpa kutipan fizikal) → Completed (paparan sahaja, cth: bilik mesyuarat) Approved past end date (no physical collection) → Completed (display only, e.g. meeting rooms)

MANUAL PENGGUNA USER MANUAL

RD BookHub

Peranan: Admin Role: Admin

VersiVersion : 1.0
TarikhDate : 18 April 2026
OrganisasiOrganisation : Revenue Discovery Sdn Bhd

1.0 Pengenalan Introduction

Sebagai Admin, anda mempunyai semua keupayaan Staff ditambah dengan kuasa pentadbiran untuk mengurus sistem RD BookHub.

1.1 Keupayaan Tambahan Admin

Jadual 1.1: Fungsi Tambahan Admin

Bil. Fungsi Keterangan
1Meluluskan / Menolak TempahanMeluluskan atau menolak tempahan kakitangan
2Melihat Semua TempahanMelihat semua tempahan dari semua kakitangan
3Tempahan Bagi Pihak StaffMembuat tempahan bagi pihak kakitangan lain
4Pengurusan Sumber (CRUD)Cipta, baca, kemaskini, dan padam sumber
5Pengurusan PenggunaMengurus akaun pengguna, peranan, dan jabatan
6Pengurusan Kategori & JabatanMengurus kategori sumber dan jabatan organisasi
7Penjejakan Kutipan & PemulanganMenjejak kutipan dan pemulangan untuk semua tempahan
8Pengurusan UlasanMengurus ulasan yang diberikan oleh kakitangan
Nota: Dalam Personal Mode, Admin berfungsi sama seperti Staff — semua fungsi tempahan, kutipan, pemulangan, dan ulasan adalah sama seperti yang diterangkan dalam Manual Staff.

As an Admin, you have all Staff capabilities plus administrative powers to manage the RD BookHub system.

1.1 Additional Admin Capabilities

Table 1.1: Additional Admin Functions

No. Function Description
1Approve / Reject BookingsApprove or reject staff booking requests
2View All BookingsView all bookings from all staff members
3Book on Behalf of StaffCreate bookings on behalf of other staff members
4Resource Management (CRUD)Create, read, update, and delete resources
5User ManagementManage user accounts, roles, and departments
6Category & Department ManagementManage resource categories and organisation departments
7Collection & Return TrackingTrack collections and returns for all bookings
8Review ManagementManage reviews submitted by staff members
Note: In Personal Mode, the Admin functions exactly like a Staff user — all booking, collection, return, and review functions are the same as described in the Staff Manual.

2.0 Log Masuk & Dashboard Login & Dashboard

2.1 Log Masuk

Proses log masuk adalah sama seperti yang diterangkan dalam Manual Staff — gunakan IC Last 4 Digits dan Password di halaman /login.

2.2 Dashboard Admin

URL: /dashboard

2.2.1 Kad Statistik (4 KPI)

Jadual 2.1: Kad Statistik Dashboard Admin

Kad Keterangan
Pending ApprovalsBilangan tempahan yang menunggu kelulusan anda (status = pending, requires_approval = true)
Approved TodayBilangan tempahan yang diluluskan hari ini
Total BookingsJumlah tempahan bulan ini. Sub-badge menunjukkan bilangan pending, approved, collected, overdue, missed dan completed
Total ProcessedJumlah keseluruhan tempahan yang telah diluluskan/ditolak

2.2.2 Kalendar Tempahan

Kalendar interaktif menunjukkan semua tempahan. Klik pada tempahan untuk melihat butiran.

2.2.3 Jadual Pending Approvals (Top 5)

Menunjukkan 5 tempahan terkini yang menunggu kelulusan:

  • Nombor tempahan
  • Maklumat pengguna (avatar, nama, e-mel)
  • Sumber dan kategori
  • Tarikh

Jadual 2.2: Butang Tindakan Pending Approvals

Butang Tindakan
ViewLihat butiran penuh tempahan
ApproveLuluskan tempahan
RejectTolak tempahan

2.2.4 Jadual Recently Processed (Top 8)

Menunjukkan 8 tempahan terkini yang telah diproses (diluluskan/ditolak) dengan status badge.

2.1 Login

The login process is the same as described in the Staff Manual — use your IC Last 4 Digits and Password at the /login page.

2.2 Admin Dashboard

URL: /dashboard

2.2.1 Statistics Cards (4 KPIs)

Table 2.1: Admin Dashboard Statistics Cards

Card Description
Pending ApprovalsNumber of bookings awaiting your approval (status = pending, requires_approval = true)
Approved TodayNumber of bookings approved today
Total BookingsTotal bookings this month. Sub-badges show pending, approved, collected, overdue, missed and completed counts
Total ProcessedTotal number of bookings that have been approved/rejected

2.2.2 Booking Calendar

An interactive calendar displays all bookings. Click on a booking to view its details.

2.2.3 Pending Approvals Table (Top 5)

Displays the 5 most recent bookings awaiting approval:

  • Booking number
  • User information (avatar, name, email)
  • Resource and category
  • Date

Table 2.2: Pending Approvals Action Buttons

Button Action
ViewView full booking details
ApproveApprove the booking
RejectReject the booking

2.2.4 Recently Processed Table (Top 8)

Displays the 8 most recently processed bookings (approved/rejected) with status badges.

3.0 Mod Paparan View Mode

Admin boleh bertukar antara 2 mod paparan di halaman /bookings.

Jadual 3.1: Mod Paparan Admin

Mod Keterangan
Admin Mode (lalai)Lihat semua tempahan dari semua kakitangan
Personal ModeLihat hanya tempahan peribadi anda — fungsi sama seperti yang diterangkan dalam Manual Staff sepenuhnya

Cara tukar: Klik butang tukar mod di halaman /bookings.

Nota: Mod disimpan dalam sesi (session) — kekal sehingga anda tukar semula atau log keluar.

Dalam Personal Mode, anda boleh:

  • Buat tempahan sendiri
  • Lihat tempahan sendiri
  • Kutip sumber
  • Pulangkan sumber
  • Beri ulasan
  • Batalkan tempahan

Admins can switch between 2 view modes on the /bookings page.

Table 3.1: Admin View Modes

Mode Description
Admin Mode (default)View all bookings from all staff members
Personal ModeView only your personal bookings — functions exactly as described in the Staff Manual

How to switch: Click the mode toggle button on the /bookings page.

Note: The mode is stored in the session — it persists until you switch again or log out.

In Personal Mode, you can:

  • Create your own bookings
  • View your own bookings
  • Collect resources
  • Return resources
  • Submit reviews
  • Cancel bookings

4.0 Semua Tempahan All Bookings

URL: /bookings (dalam Admin Mode)

Komponen: AllBookingsList

4.1 Penapis

Jadual 4.1: Penapis Semua Tempahan

Penapis Keterangan
SearchCari mengikut nombor tempahan, nama sumber, nama pengguna, atau e-mel
StatusTapis: All, Pending, Approved, Rejected, Collected, Returned, Completed, Cancelled, Missed
CategoryTapis mengikut kategori sumber

4.2 Jadual

Sama seperti jadual My Bookings dalam Manual Staff, tetapi menunjukkan tempahan semua kakitangan dengan lajur tambahan:

  • User — Nama dan e-mel pengguna yang membuat tempahan

4.3 Tindakan

Jadual 4.2: Tindakan Semua Tempahan

Butang Tindakan
ViewLihat butiran tempahan
ApproveLuluskan tempahan pending
RejectTolak tempahan pending
CollectKutip sumber (jika status Approved)
ReturnPulangkan sumber (jika status Collected)
CancelBatalkan tempahan
ExtendLanjutkan tempoh tempahan (jika status Approved/Collected/Overdue)
DeletePadam tempahan (soft delete — boleh dipulihkan)

4.4 Eksport

Klik "Export" untuk memuat turun senarai tempahan dalam format Excel.

Jadual 4.3: Lajur Fail Eksport

LajurKeterangan
NoNombor baris
Group NumberNombor kumpulan (jika tempahan kumpulan)
Booking NumberNombor tempahan
Booked ByNama pengguna yang membuat tempahan
ResourceNama sumber
Start DateTarikh/masa mula
End DateTarikh/masa tamat
Original End DateTarikh/masa tamat asal sebelum pelanjutan (jika ada)
Extended ByNama dan tarikh siapa yang melanjutkan (jika ada)
PurposeTujuan tempahan
StatusStatus tempahan (termasuk Overdue)
Created AtTarikh tempahan dibuat

URL: /bookings (in Admin Mode)

Component: AllBookingsList

4.1 Filters

Table 4.1: All Bookings Filters

Filter Description
SearchSearch by booking number, resource name, user name, or email
StatusFilter: All, Pending, Approved, Rejected, Collected, Returned, Completed, Cancelled, Missed
CategoryFilter by resource category

4.2 Table

Same as the My Bookings table described in the Staff Manual, but displays bookings from all staff members with an additional column:

  • User — Name and email of the user who made the booking

4.3 Actions

Table 4.2: All Bookings Actions

Button Action
ViewView booking details
ApproveApprove a pending booking
RejectReject a pending booking
CollectCollect resources (if status is Approved)
ReturnReturn resources (if status is Collected)
CancelCancel the booking
ExtendExtend booking duration (if status is Approved/Collected/Overdue)
DeleteDelete the booking (soft delete — can be recovered)

4.4 Export

Click "Export" to download the booking list in Excel format.

Table 4.3: Export File Columns

ColumnDescription
NoRow number
Group NumberGroup number (if group booking)
Booking NumberBooking number
Booked ByName of user who made the booking
ResourceResource name
Start DateStart date/time
End DateEnd date/time
Original End DateOriginal end date/time before extension (if extended)
Extended ByName and date of who extended (if extended)
PurposeBooking purpose
StatusBooking status (including Overdue)
Created AtBooking creation date

5.0 Tempahan Untuk Staff Booking on Behalf of Staff

Admin boleh membuat tempahan bagi pihak kakitangan lain.

5.1 Proses

Jadual 5.1: Langkah Tempahan Bagi Pihak Staff

Langkah Tindakan
1Pergi ke Browse Resources (/resources) dan pilih sumber yang dikehendaki
2Di borang tempahan, cari kakitangan di bahagian "Book for Staff" menggunakan carian nama (auto-complete)
3Pilih kakitangan dari senarai yang dipaparkan — nama akan dipaparkan sebagai badge
4Tetapkan tarikh/masa
5Klik "Book Now" atau "Add to Cart" — modal pengesahan akan muncul untuk isi tujuan dan peserta

5.2 Perbezaan Dengan Tempahan Staff Biasa

Jadual 5.2: Perbezaan Tempahan Admin vs Staff

Aspek Staff Admin (bagi pihak)
Pengesahan ICWajibTidak diperlukan
Had tempoh tempahan awal (cth: mesti tempah 2 hari awal)Wajib dipatuhiTidak dikenakan — boleh tempah pada bila-bila masa
Pemilihan kakitanganTidak berkaitanWajib

Admins can create bookings on behalf of other staff members.

5.1 Process

Table 5.1: Steps to Book on Behalf of Staff

Step Action
1Go to Browse Resources (/resources) and select the desired resource
2In the booking form, search for a staff member in the "Book for Staff" section using name search (auto-complete)
3Select the staff member from the displayed list — their name will appear as a badge
4Set date/time
5Click "Book Now" or "Add to Cart" — a confirmation modal will appear to enter purpose and participants

5.2 Differences From Regular Staff Booking

Table 5.2: Admin vs Staff Booking Differences

Aspect Staff Admin (on behalf)
IC VerificationRequiredNot required
Advance booking requirement (e.g. must book 2 days ahead)Must be followedNot enforced — can book anytime
Staff SelectionNot applicableMandatory

6.0 Kelulusan Approvals

URL: /approvals

6.1 Luluskan Tempahan (Approve)

Jadual 6.1: Langkah Kelulusan Tempahan

Langkah Tindakan
1Klik butang Approve pada tempahan pending (dari Dashboard, All Bookings, atau Booking Details)
2Modal SweetAlert2 muncul dengan medan berikut:

Jadual 6.2: Medan Modal Kelulusan

Medan Keterangan Wajib?
CommentsKomen kelulusanTidak
Langkah Tindakan
3Klik "Confirm Approval"
4Status tempahan bertukar kepada APPROVED
5Kakitangan akan menerima notifikasi

6.2 Tolak Tempahan (Reject)

Jadual 6.3: Langkah Penolakan Tempahan

Langkah Tindakan
1Klik butang Reject pada tempahan pending
2Modal SweetAlert2 muncul dengan medan berikut:

Jadual 6.4: Medan Modal Penolakan

Medan Keterangan Wajib?
Rejection ReasonSebab penolakanYa
Langkah Tindakan
3Klik "Confirm Rejection"
4Status tempahan bertukar kepada REJECTED
5Kakitangan akan menerima notifikasi dengan sebab penolakan

6.3 Laluan Kelulusan (Approval Paths)

Jadual 6.5: Laluan Kelulusan

Laluan Keterangan
Direct ApprovalAdmin meluluskan/menolak terus dari All Bookings atau Booking Details
Workflow ApprovalMelalui halaman Approvals (/approvals) dengan rekod Approval berasingan

6.4 Padam Tempahan

Admin boleh memadam tempahan dari halaman Approvals melalui butang padam. Pemadaman menggunakan soft delete.

URL: /approvals

6.1 Approve a Booking

Table 6.1: Booking Approval Steps

Step Action
1Click the Approve button on a pending booking (from Dashboard, All Bookings, or Booking Details)
2A SweetAlert2 modal appears with the following field:

Table 6.2: Approval Modal Fields

Field Description Required?
CommentsApproval commentsNo
Step Action
3Click "Confirm Approval"
4Booking status changes to APPROVED
5The staff member will receive a notification

6.2 Reject a Booking

Table 6.3: Booking Rejection Steps

Step Action
1Click the Reject button on a pending booking
2A SweetAlert2 modal appears with the following field:

Table 6.4: Rejection Modal Fields

Field Description Required?
Rejection ReasonReason for rejectionYes
Step Action
3Click "Confirm Rejection"
4Booking status changes to REJECTED
5The staff member will receive a notification with the rejection reason

6.3 Approval Paths

Table 6.5: Approval Paths

Path Description
Direct ApprovalAdmin approves/rejects directly from All Bookings or Booking Details
Workflow ApprovalThrough the Approvals page (/approvals) with a separate Approval record

6.4 Delete Booking

Admins can delete bookings from the Approvals page via the delete button. Deletion uses soft delete.

7.0 Kutipan & Pemulangan Collection & Return

Proses kutipan dan pemulangan adalah sama seperti yang diterangkan dalam Manual Staff, tetapi Admin boleh melakukannya untuk semua tempahan, bukan hanya tempahan sendiri.

7.1 Kutipan (Collection)

  • Boleh mengutip sumber bagi mana-mana kakitangan
  • Modal kutipan sama: checkbox sumber, nota keadaan, gambar (wajib)
  • Kutipan Kumpulan (Group Collect) — kutip semua sumber sekaligus

7.2 Pemulangan (Return)

  • Boleh memulangkan sumber bagi mana-mana kakitangan
  • Modal pemulangan dengan status toggle:

Jadual 7.1: Status Toggle Pemulangan

Status Keterangan
ReturnedSumber dipulangkan
MissingSumber hilang
  • Select All toggle untuk kumpulan
  • Susunan pengesahan: Nota wajib dahulu (jika Missing) kemudian Gambar wajib
Nota: "Toggle each resource status. Unchecked items will be marked as Missing."
Pintasan Muat Naik Gambar (Baru): Semasa modal Kutipan atau Pemulangan terbuka, anda boleh —
  • Klik medan untuk pilih fail
  • Tampal tangkapan skrin menggunakan Ctrl + V
  • Seret & Lepas gambar terus ke dalam modal

7.3 Paparan Gabungan (Merged View)

Dalam Booking Details, jika tempahan kumpulan dikutip dan dipulangkan pada masa yang sama:

  • Maklumat kutipan/pemulangan digabungkan dalam satu paparan
  • Timestamp dikongsi (tidak diulang)
  • Item dikumpulkan mengikut nama sumber
  • Gambar dan nota yang sama hanya ditunjukkan sekali (deduplicated)

The collection and return process is the same as described in the Staff Manual, but Admins can perform it for all bookings, not just their own.

7.1 Collection

  • Can collect resources on behalf of any staff member
  • Same collection modal: resource checkboxes, condition notes, photo (mandatory)
  • Group Collect — collect all resources at once

7.2 Return

  • Can return resources on behalf of any staff member
  • Return modal with status toggle:

Table 7.1: Return Status Toggle

Status Description
ReturnedResource has been returned
MissingResource is missing
  • Select All toggle for group returns
  • Validation sequence: Mandatory notes first (if Missing), then mandatory photo
Note: "Toggle each resource status. Unchecked items will be marked as Missing."
Photo Upload Shortcuts (New): While the Collection or Return modal is open, you can —
  • Click the field to browse files
  • Paste a screenshot with Ctrl + V
  • Drag & Drop images directly into the modal

7.3 Merged View

In Booking Details, when a group booking is collected and returned at the same time:

  • Collection/return information is merged into a single view
  • Timestamps are shared (not duplicated)
  • Items are grouped by resource name
  • Duplicate photos and notes are shown only once (deduplicated)

8.0 Pembatalan Cancellation

Admin boleh membatalkan tempahan sendiri dan melihat tempahan yang telah dibatalkan oleh kakitangan lain.

8.1 Bila Boleh Batal?

  • Status tempahan = Pending atau Approved
  • Anda ialah pemilik tempahan (tempahan sendiri sahaja)

8.2 Proses Pembatalan

Jadual 8.1: Langkah Pembatalan

LangkahTindakan
1Dari tab My Bookings atau Booking Details, klik butang "Cancel"
2Modal pengesahan muncul (nama sumber, nombor tempahan)
3Masukkan sebab pembatalan (wajib)
4Klik "Yes, Cancel" untuk mengesahkan
5Status tempahan bertukar kepada CANCELLED
Tempahan Kumpulan: Anda boleh membatalkan tempahan individu dalam kumpulan, atau membatalkan keseluruhan kumpulan sekaligus.

8.3 Melihat Tempahan Dibatalkan

Untuk melihat tempahan yang telah dibatalkan oleh mana-mana kakitangan:

  • Pergi ke tab All Bookings
  • Gunakan penapis Status dan pilih "Cancelled"
  • Senarai semua tempahan yang dibatalkan akan dipaparkan

Admins can cancel their own bookings and view bookings that have been cancelled by other staff members.

8.1 When Can You Cancel?

  • Booking status = Pending or Approved
  • You are the booking owner (own bookings only)

8.2 Cancellation Process

Table 8.1: Cancellation Steps

StepAction
1From the My Bookings tab or Booking Details, click the "Cancel" button
2A confirmation modal appears (resource name, booking number)
3Enter a cancellation reason (required)
4Click "Yes, Cancel" to confirm
5Booking status changes to CANCELLED
Group Bookings: You can cancel individual bookings within a group, or cancel the entire group at once.

8.3 Viewing Cancelled Bookings

To view bookings that have been cancelled by any staff member:

  • Go to the All Bookings tab
  • Use the Status filter and select "Cancelled"
  • All cancelled bookings will be listed

9.0 Pelanjutan Tempahan Extend Booking

Admin boleh melanjutkan tempoh mana-mana tempahan kakitangan. Sistem menyemak ketersediaan sumber secara automatik sebelum melanjutkan.

9.1 Bila Boleh Extend?

  • Status = Approved atau Collected (termasuk Overdue)
  • Tarikh/masa tamat baru mesti lebih lewat daripada tarikh/masa tamat semasa
  • Sumber mesti tersedia untuk tempoh lanjutan
Nota: Berbeza dengan staff yang hanya boleh extend tempahan sendiri, admin boleh extend mana-mana tempahan kakitangan.

9.2 Proses Pelanjutan (Individu)

Jadual 9.1: Langkah Pelanjutan Tempahan Individu

LangkahTindakan
1Dari tab All Bookings, My Bookings atau Booking Details, klik butang Extend (ikon jam)
2Modal muncul menunjukkan tarikh/masa tamat semasa
3Pilih tarikh tamat baru dan masa tamat baru
4Klik "Extend Booking" untuk mengesahkan
5Sistem menyemak ketersediaan dan melanjutkan tempahan

9.3 Pelanjutan Tempahan Kumpulan

Untuk tempahan kumpulan, anda boleh memilih mana-mana tempahan dalam kumpulan untuk dilanjutkan:

Jadual 9.2: Langkah Pelanjutan Tempahan Kumpulan

LangkahTindakan
1Klik butang Extend pada baris kumpulan
2Modal muncul dengan senarai tempahan yang boleh dilanjutkan
3Pilih tempahan yang ingin dilanjutkan (guna checkbox, boleh pilih semua)
4Pilih tarikh tamat baru dan masa tamat baru
5Klik "Extend Selected" untuk mengesahkan
Nota: Selepas pelanjutan, badge Extended akan dipaparkan bersebelahan status tempahan. Tarikh tamat asal dan maklumat siapa yang extend disimpan untuk rujukan.

Admins can extend the duration of any staff booking. The system automatically checks resource availability before extending.

9.1 When Can You Extend?

  • Status = Approved or Collected (including Overdue)
  • New end date/time must be later than the current end date/time
  • Resource must be available for the extended period
Note: Unlike staff who can only extend their own bookings, admins can extend any staff booking.

9.2 Individual Extend Process

Table 9.1: Individual Extend Steps

StepAction
1From the All Bookings tab, My Bookings or Booking Details, click the Extend button (clock icon)
2A modal appears showing the current end date/time
3Select a new end date and new end time
4Click "Extend Booking" to confirm
5System checks availability and extends the booking

9.3 Group Booking Extension

For group bookings, you can select which bookings within the group to extend:

Table 9.2: Group Extend Steps

StepAction
1Click the Extend button on the group row
2A modal appears listing all extendable bookings in the group
3Select bookings to extend (use checkboxes, select all available)
4Select a new end date and new end time
5Click "Extend Selected" to confirm
Note: After extension, an Extended badge will be displayed next to the booking status. The original end date and who performed the extension are saved for reference.

10.0 Pengurusan Sumber Resource Management

URL: /admin/resources/manage

10.1 Paparan

Halaman pengurusan memaparkan:

  • 4 kad statistik: Total Resources, Available, Under Maintenance, Categories
  • Penapis: Cari nama, tapis kategori
  • Grid sumber: Kad untuk setiap sumber

10.2 Cipta Sumber Baru (Create Resource)

URL: /admin/resources/create

Jadual 10.1: Borang Cipta Sumber

Bahagian Medan Keterangan
Maklumat AsasItem NameNama sumber (wajib)
CategoryKategori dari senarai (wajib)
Parent ItemJika ini sub-item sumber lain (pilihan)
ButiranQuantityBilangan unit (lalai: 1)
PriceHarga dalam RM (pilihan)
Aset & KeadaanAsset CodeKod aset (cth: CAM-001)
ConditionKeadaan: Good, Damaged, Under Maintenance, Missing
RemarksCatatan tambahan
TetapanIs Available?Adakah boleh ditempah?
Requires Approval?Adakah perlu kelulusan admin?
Requires Collection?Adakah perlu kutipan fizikal? (Bilik mesyuarat = Tidak)
GambarResource ImageMuat naik gambar (maks 5MB, JPG/PNG/GIF)

Klik "Create Resource" untuk menyimpan.

10.3 Kemaskini Sumber (Edit Resource)

URL: /admin/resources/{id}/edit

Sama seperti borang cipta, tetapi dengan nilai sedia ada. Klik "Update Resource" untuk menyimpan.

10.4 Padam Sumber (Delete Resource)

Jadual 10.2: Langkah Padam Sumber

Langkah Tindakan
1Klik butang Delete pada sumber
2Modal pengesahan muncul
3Klik "Yes, delete it!" untuk mengesahkan

10.5 Togol Ketersediaan (Toggle Availability)

Klik butang togol pada sumber untuk menukar status ketersediaan antara Available dan Unavailable tanpa perlu edit penuh.

URL: /admin/resources/manage

10.1 Overview

The management page displays:

  • 4 statistics cards: Total Resources, Available, Under Maintenance, Categories
  • Filters: Search by name, filter by category
  • Resource grid: A card for each resource

10.2 Create a New Resource

URL: /admin/resources/create

Table 10.1: Create Resource Form

Section Field Description
Basic InformationItem NameResource name (required)
CategoryCategory from the list (required)
Parent ItemIf this is a sub-item of another resource (optional)
DetailsQuantityNumber of units (default: 1)
PricePrice in RM (optional)
Asset & ConditionAsset CodeAsset code (e.g., CAM-001)
ConditionCondition: Good, Damaged, Under Maintenance, Missing
RemarksAdditional remarks
SettingsIs Available?Can the resource be booked?
Requires Approval?Does it require admin approval?
Requires Collection?Does it require physical collection? (Meeting rooms = No)
ImageResource ImageUpload image (max 5MB, JPG/PNG/GIF)

Click "Create Resource" to save.

10.3 Edit a Resource

URL: /admin/resources/{id}/edit

Same as the create form, but with pre-filled values. Click "Update Resource" to save.

10.4 Delete a Resource

Table 10.2: Delete Resource Steps

Step Action
1Click the Delete button on the resource
2A confirmation modal appears
3Click "Yes, delete it!" to confirm

10.5 Toggle Availability

Click the toggle button on a resource to switch its availability status between Available and Unavailable without opening the full edit form.

11.0 Pengurusan Pengguna User Management

URL: /admin/users

11.1 Paparan

  • 4 kad statistik: Superadmins, Admins, Account, Staff
  • Jadual pengguna dengan carian dan penapis (role, department)

11.2 Cipta Pengguna (Create User)

URL: /admin/users/create

Jadual 11.1: Borang Cipta Pengguna

Medan Keterangan Wajib?
Full NameNama penuhYa
IC NumberNombor IC (12 digit)Ya
EmailAlamat e-mel (unik)Ya
Phone NumberNombor telefonYa
DepartmentJabatanTidak
RolePeranan: Staff, Admin, Account, SuperadminYa
PasswordKata laluan (min 8 aksara)Ya
Profile PhotoGambar profil (maks 5MB)Tidak

11.3 Kemaskini Pengguna (Edit User)

  • Kemaskini semua maklumat pengguna
  • Tukar peranan
  • Tukar jabatan

11.4 Padam Pengguna (Delete User)

  • Modal pengesahan sebelum padam
  • Tidak boleh padam jika ada tempahan aktif
Amaran: Pengguna yang mempunyai tempahan aktif tidak boleh dipadam. Sila pastikan semua tempahan telah diselesaikan terlebih dahulu.

URL: /admin/users

11.1 Overview

  • 4 statistics cards: Superadmins, Admins, Account, Staff
  • User table with search and filters (role, department)

11.2 Create a User

URL: /admin/users/create

Table 11.1: Create User Form

Field Description Required?
Full NameFull nameYes
IC NumberIC number (12 digits)Yes
EmailEmail address (unique)Yes
Phone NumberPhone numberYes
DepartmentDepartmentNo
RoleRole: Staff, Admin, Account, SuperadminYes
PasswordPassword (min 8 characters)Yes
Profile PhotoProfile photo (max 5MB)No

11.3 Edit a User

  • Update all user information
  • Change role
  • Change department

11.4 Delete a User

  • Confirmation modal before deletion
  • Cannot delete if the user has active bookings
Warning: Users with active bookings cannot be deleted. Please ensure all bookings have been completed first.

12.0 Pengurusan Kategori Category Management

URL: /admin/categories

12.1 Cipta Kategori

Jadual 12.1: Borang Cipta Kategori

Medan Keterangan Wajib?
NameNama kategori (huruf kecil, cth: "equipment")Ya
LabelLabel paparan (cth: "Equipment")Ya
Badge ColorWarna lencana kategori. Pilih warna menggunakan pemilih warna — pratonton lencana akan dipaparkan secara langsungTidak

12.2 Kemaskini Kategori

Tukar nama, label, warna lencana, dan status aktif kategori sedia ada.

Nota: Lajur Badge Color pada jadual kategori memaparkan bulatan warna dan pratonton lencana bagi setiap kategori. Warna ini digunakan di seluruh sistem termasuk kad sumber, kalendar, dan senarai tempahan.

12.3 Padam Kategori

Amaran: Kategori yang masih mempunyai sumber tidak boleh dipadam. Pindahkan atau padam sumber terlebih dahulu sebelum memadamkan kategori.

URL: /admin/categories

12.1 Create a Category

Table 12.1: Create Category Form

Field Description Required?
NameCategory name (lowercase, e.g., "equipment")Yes
LabelDisplay label (e.g., "Equipment")Yes
Badge ColorCategory badge color. Pick a color using the color picker — a live badge preview is shownNo

12.2 Edit a Category

Change the name, label, badge color, and active status of an existing category.

Note: The Badge Color column in the categories table displays a color circle and badge preview for each category. This color is used throughout the system including resource cards, calendar, and booking lists.

12.3 Delete a Category

Warning: Categories that still have associated resources cannot be deleted. Move or delete the resources first before deleting the category.

13.0 Pengurusan Jabatan Department Management

URL: /admin/departments

13.1 Operasi

Jadual 13.1: Operasi Pengurusan Jabatan

Tindakan Keterangan
CiptaTambah jabatan baru (nama, penerangan, status)
KemaskiniTukar nama, penerangan, atau status
PadamPadam jabatan (tidak boleh jika ada kakitangan)
Nota: Jabatan yang masih mempunyai kakitangan tidak boleh dipadam. Pindahkan kakitangan ke jabatan lain terlebih dahulu.

URL: /admin/departments

13.1 Operations

Table 13.1: Department Management Operations

Action Description
CreateAdd a new department (name, description, status)
UpdateChange name, description, or status
DeleteDelete a department (cannot delete if staff are assigned)
Note: Departments that still have staff members assigned cannot be deleted. Move the staff to another department first.

14.0 Penjejakan Kutipan & Pemulangan Collection & Return Tracking

URL: /collection-return

14.1 Paparan

  • Penapis: Cari mengikut nombor tempahan, nama pengguna, atau nama sumber
  • Tapis status: All, Collected Only, Returned Only

14.2 Jadual Rekod

Jadual 14.1: Lajur Jadual Kutipan & Pemulangan

Lajur Keterangan
Booking #Nombor tempahan
UserNama dan e-mel pengguna
ResourceNama sumber dan kategori
CollectedTarikh/masa kutipan, siapa yang mengutip
ReturnedTarikh/masa pemulangan, siapa yang memulangkan (atau "-")
StatusCollected / Returned
ActionsLihat butiran tempahan

URL: /collection-return

14.1 Overview

  • Filters: Search by booking number, user name, or resource name
  • Status filter: All, Collected Only, Returned Only

14.2 Records Table

Table 14.1: Collection & Return Table Columns

Column Description
Booking #Booking number
UserUser name and email
ResourceResource name and category
CollectedCollection date/time, who collected it
ReturnedReturn date/time, who returned it (or "-")
StatusCollected / Returned
ActionsView booking details

15.0 Pengurusan Ulasan Review Management

URL: /admin/reviews

15.1 Paparan

Jadual 15.1: Kad Statistik Ulasan

Statistik Keterangan
Total ReviewsJumlah keseluruhan ulasan
Average RatingPurata penilaian keseluruhan
High RatedUlasan dengan penilaian 4 dan ke atas
Low RatedUlasan dengan penilaian kurang dari 3

Penapis: Tapis mengikut penilaian, sumber, atau cari teks komen.

15.2 Operasi

Jadual 15.2: Operasi Pengurusan Ulasan

Tindakan Keterangan
LihatLihat ulasan penuh (penilaian, komen, tarikh, butiran tempahan)
PadamPadam ulasan (dengan pengesahan)
Per-SumberLihat semua ulasan untuk sumber tertentu

URL: /admin/reviews

15.1 Overview

Table 15.1: Review Statistics Cards

Statistic Description
Total ReviewsTotal number of reviews
Average RatingOverall average rating
High RatedReviews with a rating of 4 and above
Low RatedReviews with a rating below 3

Filters: Filter by rating, resource, or search comment text.

15.2 Operations

Table 15.2: Review Management Operations

Action Description
ViewView full review (rating, comment, date, booking details)
DeleteDelete a review (with confirmation)
Per-ResourceView all reviews for a specific resource

16.0 Permohonan Pembelian Purchase Requests

Admin bertanggungjawab menyemak, meluluskan atau menolak permohonan pembelian yang dihantar oleh Staff. Dalam mod peribadi, Admin juga boleh menghantar permohonan sendiri.

16.1 Senarai Permohonan (Mod Admin)

URL: /purchase-requests

Dalam mod admin, halaman ini memaparkan semua permohonan daripada semua Staff.

Jadual 16.1: Lajur Senarai Permohonan

LajurKeterangan
#Nombor permohonan (cth: PR-20260227-ABC123) dan tarikh
ItemNama item dan jenama/model (jika ada)
Requested ByNama dan jabatan Staff yang membuat permohonan
CategoryKategori permohonan — dari senarai kategori aktif. Setiap kategori mempunyai warna lencana tersendiri yang ditetapkan oleh pentadbir
PriceAnggaran harga seunit (RM) dan jumlah jika kuantiti lebih dari 1
PriorityKeutamaan: Low Medium High Urgent
StatusStatus semasa permohonan

Jadual 16.2: Penapis Senarai

PenapisKeterangan
SearchCari mengikut nama item, nombor permohonan, jenama
StatusTapis mengikut status (Submitted, Approved, Rejected, dll.)
PriorityTapis mengikut keutamaan

16.2 Semak & Lulus / Tolak Permohonan

Klik pada permohonan untuk melihat butiran penuh. Untuk permohonan dengan status Submitted, Admin boleh:

Jadual 16.3: Tindakan Semakan

TindakanKeterangan
ApproveLuluskan permohonan. Komen pilihan boleh ditambah.
RejectTolak permohonan. Sebab penolakan wajib diberikan.

16.3 Kemaskini Status Permohonan

Selepas diluluskan, Admin boleh mengemaskini status permohonan melalui butang "Update Status":

Jadual 16.4: Aliran Status

Status SemasaBoleh Tukar Ke
SubmittedApproved atau Rejected
ApprovedPending Purchase atau Purchased
Pending PurchasePurchased
Nota: Status Rejected dan Purchased adalah status akhir — tiada perubahan lanjut boleh dibuat.

16.4 Butiran Permohonan

URL: /purchase-requests/{id}

Halaman butiran memaparkan maklumat lengkap termasuk:

  • Maklumat item (nama, jenama, harga, kuantiti, kategori)
  • Keutamaan dan justifikasi
  • Pautan produk dan lampiran gambar
  • Maklumat penghantar dan tarikh
  • Maklumat penyemak, tarikh semakan, dan komen Admin
  • Butang tindakan (Approve / Reject / Update Status) mengikut status semasa

16.5 Padam Permohonan

Admin boleh memadam permohonan pembelian melalui butang padam di senarai permohonan. Pemadaman menggunakan soft delete — data tidak dipadam secara kekal.

16.5a Ubah Suai Oleh Pemohon (Baru)

Staff kini boleh mengubah suai permohonan pembelian mereka sendiri — tetapi hanya ketika status masih Submitted. Setelah anda (Admin) atau Account mula semak, butang Edit akan hilang secara automatik.

  • Admin & Account akan menerima notifikasi apabila permohonan diubah suai
  • Halaman butiran akan menunjukkan metadata ubah suai: bilangan kali (edit_count), tarikh terakhir (edited_at), dan siapa yang mengubah (edited_by)
  • Semak maklumat terkini sebelum memberi keputusan Approve/Reject bagi permohonan yang telah diubah suai
Tindakan: Jika anda perlu menghalang Staff daripada mengubah suai, lakukan semakan awal (Account Reviewed) untuk mengunci permohonan tersebut.

16.6 Mod Peribadi

Dalam mod peribadi, Admin bertindak seperti Staff biasa:

  • Melihat hanya permohonan sendiri
  • Boleh mencipta permohonan baru di /purchase-requests/create
  • Borang dan medan sama seperti yang diterangkan dalam Manual Staff
Nota: Pengguna dengan peranan Account juga mempunyai keupayaan yang sama untuk meluluskan, menolak, mengemaskini status, dan memadam permohonan pembelian.

Admins are responsible for reviewing, approving, or rejecting purchase requests submitted by Staff. In personal mode, Admins can also submit their own requests.

16.1 Request List (Admin Mode)

URL: /purchase-requests

In admin mode, this page displays all purchase requests from all Staff.

Table 16.1: Request List Columns

ColumnDescription
#Request number (e.g. PR-20260227-ABC123) and date
ItemItem name and brand/model (if any)
Requested ByName and department of the Staff who made the request
CategoryRequest category — from the list of active categories. Each category has its own badge color set by the admin
PriceEstimated price per unit (RM) and total if quantity exceeds 1
PriorityPriority: Low Medium High Urgent
StatusCurrent request status

Table 16.2: List Filters

FilterDescription
SearchSearch by item name, request number, brand
StatusFilter by status (Submitted, Approved, Rejected, etc.)
PriorityFilter by priority level

16.2 Review & Approve / Reject Requests

Click on a request to view full details. For requests with status Submitted, Admin can:

Table 16.3: Review Actions

ActionDescription
ApproveApprove the request. Optional comments can be added.
RejectReject the request. Rejection reason is mandatory.

16.3 Update Request Status

After approval, Admin can update the request status via the "Update Status" button:

Table 16.4: Status Flow

Current StatusCan Change To
SubmittedApproved or Rejected
ApprovedPending Purchase or Purchased
Pending PurchasePurchased
Note: Rejected and Purchased are terminal statuses — no further changes can be made.

16.4 Request Details

URL: /purchase-requests/{id}

The details page displays complete information including:

  • Item information (name, brand, price, quantity, category)
  • Priority and justification
  • Product URL and image attachments
  • Requester information and date
  • Reviewer information, review date, and Admin comments
  • Action buttons (Approve / Reject / Update Status) based on current status

16.5 Delete Request

Admins can delete purchase requests via the delete button on the request list. Deletion uses soft delete — data is not permanently removed.

16.5a Edits by the Requester (New)

Staff can now edit their own purchase requests — but only while the status is still Submitted. Once you (Admin) or Account begin reviewing, the Edit button disappears automatically.

  • Admin & Account receive a notification whenever a request is edited
  • The details page shows edit metadata: number of edits (edit_count), last edit timestamp (edited_at), and who edited it (edited_by)
  • Always re-check the latest values before deciding Approve/Reject on an edited request
Action: If you need to prevent Staff from editing further, perform an early review (Account Reviewed) to lock the request.

16.6 Personal Mode

In personal mode, Admin functions like a regular Staff member:

  • Sees only their own requests
  • Can create new requests at /purchase-requests/create
  • Form and fields are the same as described in the Staff Manual
Note: Users with the Account role also have the same capabilities to approve, reject, update status, and delete purchase requests.

17.0 Profil & Notifikasi Profile & Notifications

17.1 Profil

Proses kemaskini profil adalah sama seperti yang diterangkan dalam Manual Staff — kemaskini maklumat peribadi di /profile.

17.2 Notifikasi

URL: /notifications

Admin menerima notifikasi melalui e-mel dan/atau WhatsApp bergantung kepada konfigurasi yang ditetapkan oleh Superadmin. Berikut ialah senarai lengkap jenis notifikasi mengikut kategori:

Jadual 17.1: Notifikasi Tempahan Individu

JenisKeterangan
New Booking CreatedTempahan baru telah dicipta
Booking Submitted for ApprovalTempahan baru menunggu kelulusan admin
Booking ApprovedTempahan telah diluluskan
Booking RejectedTempahan telah ditolak
Booking CancelledTempahan telah dibatalkan oleh pengguna
Resource CollectedSumber telah dikutip oleh pengguna
Resource ReturnedSumber telah dipulangkan oleh pengguna
Booking ReminderPeringatan 24 jam sebelum tempahan
Collection ReminderPeringatan untuk mengutip sumber apabila tempahan bermula
Return ReminderPeringatan 1 jam sebelum masa pemulangan
Overdue ReturnSumber lewat dipulangkan

Jadual 17.2: Notifikasi Tempahan Kumpulan

JenisKeterangan
Group Booking CreatedTempahan kumpulan baru dicipta
Group Booking ApprovedTempahan kumpulan diluluskan
Group Booking RejectedTempahan kumpulan ditolak
Group Booking CancelledTempahan kumpulan dibatalkan
Group Resource CollectedSumber kumpulan dikutip
Group Resource ReturnedSumber kumpulan dipulangkan

Jadual 17.3: Notifikasi Permintaan Pembelian

JenisKeterangan
Purchase Request SubmittedPermintaan pembelian baru dihantar
Purchase Request Edited BaruPemohon mengubah suai permohonan berstatus Submitted — semak semula sebelum luluskan
Purchase Request ApprovedPermintaan pembelian diluluskan
Purchase Request RejectedPermintaan pembelian ditolak
Purchase Request Pending PurchasePermintaan pembelian menunggu pembelian
Purchase Request PurchasedPermintaan pembelian telah dibeli

Jadual 17.4: Notifikasi Lain

JenisKeterangan
Review SubmittedUlasan baru diberikan oleh pengguna
Nota: Setiap jenis notifikasi boleh diaktifkan atau dinyahaktifkan oleh Superadmin melalui halaman Notification Configuration. Saluran penghantaran (E-mel / WhatsApp) juga dikonfigurasi di sana.

17.1 Profile

The profile update process is the same as described in the Staff Manual — update personal information at /profile.

17.2 Notifications

URL: /notifications

Admins receive notifications via email and/or WhatsApp depending on the configuration set by the Superadmin. Below is the full list of notification types by category:

Table 17.1: Individual Booking Notifications

TypeDescription
New Booking CreatedA new booking has been created
Booking Submitted for ApprovalA new booking is awaiting admin approval
Booking ApprovedA booking has been approved
Booking RejectedA booking has been rejected
Booking CancelledA booking has been cancelled by user
Resource CollectedA resource has been collected by user
Resource ReturnedA resource has been returned by user
Booking ReminderReminder sent 24 hours before booking
Collection ReminderReminder to collect resource when booking starts
Return ReminderReminder sent 1 hour before return time
Overdue ReturnResource return is overdue

Table 17.2: Group Booking Notifications

TypeDescription
Group Booking CreatedA new group booking has been created
Group Booking ApprovedA group booking has been approved
Group Booking RejectedA group booking has been rejected
Group Booking CancelledA group booking has been cancelled
Group Resource CollectedGroup resources have been collected
Group Resource ReturnedGroup resources have been returned

Table 17.3: Purchase Request Notifications

TypeDescription
Purchase Request SubmittedA new purchase request has been submitted
Purchase Request Edited NewThe requester edited a Submitted request — re-check before approving
Purchase Request ApprovedA purchase request has been approved
Purchase Request RejectedA purchase request has been rejected
Purchase Request Pending PurchaseA purchase request is pending purchase
Purchase Request PurchasedA purchase request has been purchased

Table 17.4: Other Notifications

TypeDescription
Review SubmittedA new review has been submitted by a user
Note: Each notification type can be enabled or disabled by the Superadmin via the Notification Configuration page. Delivery channels (Email / WhatsApp) are also configured there.

18.0 Halaman Awam Public Page

Selain menggunakan sistem melalui log masuk, pengguna juga boleh mengakses beberapa fungsi melalui halaman awam (/) — tanpa perlu log masuk.

18.1 Halaman Utama

URL: /

Halaman utama memaparkan:

  • Logo dan nama aplikasi RD BookHub
  • Butang "Sign In" dan "Register here"

Halaman awam mempunyai 3 tab utama:

TabKeterangan
CalendarKalendar interaktif memaparkan semua tempahan mengikut bulan
Book ResourcesLayari dan tempah sumber, serta akses fungsi Collect, Return, Extend dan Cancel
User ManualManual pengguna lengkap untuk rujukan

18.2 Layari Sumber Awam

Fungsi layari sumber di halaman awam serupa dengan halaman /resources selepas log masuk.

Jadual 18.1: Penapis Sumber Awam

PenapisKeterangan
Search ResourceCari mengikut nama sumber (live search)
CategoryTapis mengikut kategori
Start Date / End DateTarikh mula dan tamat
Start Time / End TimeMasa mula dan tamat

Jadual 18.2: Petunjuk Status Penapis

BadgeKeterangan
Filters applied...Penapis telah digunakan — sumber tersedia ditunjukkan dahulu
Apply filters...Sila gunakan penapis untuk melihat ketersediaan

18.3 Tempahan Melalui Halaman Awam

Pengguna boleh membuat tempahan tanpa log masuk melalui halaman awam.

Jadual 18.3: Langkah Tempahan Awam

LangkahTindakan
1Di halaman awam, tetapkan tarikh dan masa menggunakan penapis (Start Date, Start Time, End Date, End Time) dan klik "Apply Filters"
2Sistem akan menunjukkan sumber yang Available dan Unavailable untuk masa tersebut
3Klik butang "Book" pada sumber yang tersedia
4Borang tempahan muncul dengan tarikh/masa dipra-isi dan dikunci
5Pilih "Add to Cart" untuk menambah lagi sumber, atau "Book Now" untuk terus ke troli
6Di halaman troli (/public-cart), semak item dan klik "Checkout"
7Modal pengesahan muncul — isi Tujuan (wajib), Peserta (pilihan), dan IC 4 Digit Terakhir
8Klik "Confirm & Checkout" — tempahan dicipta secara automatik
Penting: Pengguna mesti menetapkan tarikh dan masa melalui penapis di halaman layari terlebih dahulu. Tarikh/masa akan dipra-isi dan tidak boleh diubah di borang tempahan. Butang "Book" hanya muncul pada sumber yang tersedia.

Jadual 18.4: Medan Checkout Tempahan Awam

MedanKeteranganWajib?
ResourceSumber yang dipilih (dipra-isi dan dikunci)Ya (auto)
Start Date & TimeTarikh dan masa mula (dipra-isi dan dikunci dari penapis)Ya (auto)
End Date & TimeTarikh dan masa tamat (dipra-isi dan dikunci dari penapis)Ya (auto)
PurposeTujuan tempahan (diisi semasa checkout)Ya
ParticipantsSenarai peserta (diisi semasa checkout, auto-complete)Tidak
IC Last 4 DigitsPengesahan identiti (diisi semasa checkout)Ya
Pendaftaran: Jika IC pengguna tidak dijumpai semasa checkout, sistem akan memaparkan borang pendaftaran akaun baru. Selepas mendaftar, sahkan e-mel, kemudian masukkan semula IC untuk meneruskan checkout.
Nota: Troli awam disimpan dalam sesi pelayar — kekal walaupun refresh halaman, tetapi hilang apabila sesi tamat atau pelayar ditutup. Semakan tarikh akhir tempahan dan konflik masa turut dilakukan semasa Add to Cart.

18.4 Kalendar Awam

Kalendar interaktif di halaman awam menunjukkan semua tempahan:

  • Navigasi: Anak panah kiri/kanan untuk tukar bulan
  • Penapis pengguna: Dropdown "All Users" sebagai lalai
  • Info Status: Klik ikon (di sebelah kanan bar penapis) untuk melihat panduan maksud setiap status tempahan (Pending, Approved, Rejected, Cancelled, Collected, Returned, Overdue, Completed, Missed)
  • Tempahan individu dan kumpulan dipaparkan dengan badge status
  • Klik pada tempahan untuk melihat butiran dalam modal

18.5 Kutipan Melalui Halaman Awam

Jadual 18.5: Langkah Kutipan Awam

LangkahTindakan
1Klik tab "Book Resources" di halaman utama
2Klik butang "Collect"
3Masukkan IC Last 4 Digits
4Pilih tempahan yang hendak dikutip
5Isi nota keadaan dan muat naik gambar (minimum 1, maks 3)
6Klik "Confirm Collection"
Nota: Syarat kutipan sama: Status = Approved, masa semasa ≥ tarikh mula, ≤ tarikh tamat.

18.6 Pemulangan Melalui Halaman Awam

Jadual 18.6: Langkah Pemulangan Awam

LangkahTindakan
1Klik tab "Book Resources" di halaman utama
2Klik butang "Return"
3Masukkan IC Last 4 Digits
4Pilih tempahan dan tetapkan status setiap sumber (Returned / Missing)
5Isi nota pemulangan (wajib jika Missing) dan muat naik gambar
6Klik "Confirm Return"

Jadual 18.7: Keputusan Pemulangan

KeputusanIkonKeterangan
Semua dipulangkanHijau"Returned!"
Ada item hilangKuning"Returned with Missing Items"
Sebahagian gagalMerah"Partial Success"

18.7 Pelanjutan Melalui Halaman Awam

Jadual 18.8: Langkah Pelanjutan Awam

LangkahTindakan
1Klik tab "Book Resources" di halaman utama
2Klik butang "Extend"
3Masukkan IC Last 4 Digits
4Pilih tempahan yang hendak dilanjutkan (boleh pilih semua atau sebahagian)
5Tetapkan tarikh dan masa tamat baharu
6Klik "Extend Booking" atau "Extend Selected"
Nota: Hanya tempahan dengan status Approved, Collected atau Overdue boleh dilanjutkan. Sistem akan menyemak ketersediaan sumber secara automatik.

18.8 Pembatalan Melalui Halaman Awam

Jadual 18.9: Langkah Pembatalan Awam

LangkahTindakan
1Klik tab "Book Resources" di halaman utama
2Klik butang "Cancel"
3Masukkan IC Last 4 Digits
4Pilih tempahan yang hendak dibatalkan (boleh pilih semua atau sebahagian)
5Masukkan sebab pembatalan (wajib)
6Klik "Cancel Booking" atau "Cancel Selected"
Amaran: Pembatalan tidak boleh dibuat semula. Hanya tempahan dengan status Pending atau Approved boleh dibatalkan.

Besides using the system through login, users can also access some functions via the public page (/) — without logging in.

18.1 Welcome Page

URL: /

The welcome page displays:

  • Logo and application name RD BookHub
  • "Sign In" and "Register here" buttons

The public page has 3 main tabs:

TabDescription
CalendarInteractive calendar displaying all bookings by month
Book ResourcesBrowse and book resources, plus access Collect, Return, Extend and Cancel functions
User ManualComplete user manual for reference

18.2 Public Resource Browse

The public resource browsing functions similarly to the /resources page after login.

Table 18.1: Public Resource Filters

FilterDescription
Search ResourceSearch by resource name (live search)
CategoryFilter by category
Start Date / End DateStart and end dates
Start Time / End TimeStart and end times

Table 18.2: Filter Status Indicators

BadgeDescription
Filters applied...Filters have been applied — available resources shown first
Apply filters...Please apply filters to see availability

18.3 Public Booking

Users can create bookings without logging in via the public page.

Table 18.3: Public Booking Steps

StepAction
1On the public page, set the date and time using the filters (Start Date, Start Time, End Date, End Time) and click "Apply Filters"
2The system will show resources that are Available and Unavailable for that time
3Click the "Book" button on an available resource
4The booking form appears with date/time pre-filled and locked
5Choose "Add to Cart" to add more resources, or "Book Now" to go directly to the cart
6On the cart page (/public-cart), review items and click "Checkout"
7A confirmation modal appears — enter Purpose (required), Participants (optional), and IC Last 4 Digits
8Click "Confirm & Checkout" — bookings are created automatically
Important: Users must set the date and time via the filters on the browse page first. The date/time will be pre-filled and cannot be changed on the booking form. The "Book" button only appears on available resources.

Table 18.4: Public Booking Checkout Fields

FieldDescriptionRequired?
ResourceSelected resource (pre-filled and locked)Yes (auto)
Start Date & TimeStart date and time (pre-filled and locked from filters)Yes (auto)
End Date & TimeEnd date and time (pre-filled and locked from filters)Yes (auto)
PurposeBooking purpose (entered at checkout)Yes
ParticipantsParticipant list (entered at checkout, auto-complete)No
IC Last 4 DigitsIdentity verification (entered at checkout)Yes
Registration: If the user's IC is not found during checkout, the system will display a new account registration form. After registering, verify the email, then re-enter IC to proceed with checkout.
Note: The public cart is stored in the browser session — it persists through page refreshes but is lost when the session expires or the browser is closed. Booking deadline and time conflict checks are also performed during Add to Cart.

18.4 Public Calendar

An interactive calendar on the public page displays all bookings:

  • Navigation: Left/right arrows to change month
  • User filter: Dropdown with "All Users" as default
  • Status Info: Click the icon (right side of filter bar) to view a guide explaining what each booking status means (Pending, Approved, Rejected, Cancelled, Collected, Returned, Overdue, Completed, Missed)
  • Individual and group bookings displayed with status badges
  • Click on a booking to view details in a modal

18.5 Public Collection

Table 18.5: Public Collection Steps

StepAction
1Click the "Book Resources" tab on the welcome page
2Click the "Collect" button
3Enter IC Last 4 Digits
4Select the booking to collect
5Fill in condition notes and upload photos (min 1, max 3)
6Click "Confirm Collection"
Note: Same collection conditions apply: Status = Approved, current time ≥ start date, ≤ end date.

18.6 Public Return

Table 18.6: Public Return Steps

StepAction
1Click the "Book Resources" tab on the welcome page
2Click the "Return" button
3Enter IC Last 4 Digits
4Select the booking and set each resource status (Returned / Missing)
5Fill in return notes (mandatory if Missing) and upload photos
6Click "Confirm Return"

Table 18.7: Return Results

ResultIconDescription
All returnedGreen"Returned!"
Missing itemsYellow"Returned with Missing Items"
Partial failureRed"Partial Success"

18.7 Public Extend

Table 18.8: Public Extend Steps

StepAction
1Click the "Book Resources" tab on the welcome page
2Click the "Extend" button
3Enter IC Last 4 Digits
4Select bookings to extend (select all or individual)
5Set a new end date and time
6Click "Extend Booking" or "Extend Selected"
Note: Only bookings with status Approved, Collected or Overdue can be extended. The system will automatically check resource availability.

18.8 Public Cancel

Table 18.9: Public Cancel Steps

StepAction
1Click the "Book Resources" tab on the welcome page
2Click the "Cancel" button
3Enter IC Last 4 Digits
4Select bookings to cancel (select all or individual)
5Enter a cancellation reason (required)
6Click "Cancel Booking" or "Cancel Selected"
Warning: Cancellations cannot be undone. Only bookings with status Pending or Approved can be cancelled.

19.0 Laporan Tempahan Booking Reports

URL: /admin/reports

Halaman Laporan menyediakan analitik dan statistik tempahan secara menyeluruh. Akses melalui menu Analytics > Reports di sidebar.

19.1 Penapis

Gunakan penapis di bahagian atas untuk menapis data laporan:

  • Tahun — Pilih tahun tertentu atau "All Years"
  • Tarikh Mula / Tarikh Akhir — Julat tarikh tertentu
  • Kategori — Tapis mengikut kategori sumber

Klik Reset untuk menetapkan semula semua penapis.

19.2 Kad Statistik

Empat kad statistik dipaparkan di bahagian atas:

  • Total Bookings — Jumlah keseluruhan tempahan
  • Cancelled — Bilangan dan peratusan tempahan yang dibatalkan
  • Most Active User — Pengguna yang paling banyak membuat tempahan
  • Most Popular Resource — Sumber yang paling kerap ditempah

19.3 Carta

Tiga carta interaktif dipaparkan:

  • Bookings per Month — Carta bar menunjukkan jumlah tempahan bulanan
  • Status Distribution — Carta donut menunjukkan taburan status tempahan
  • Category Breakdown — Carta bar mendatar menunjukkan tempahan mengikut kategori

Carta dikemaskini secara automatik apabila penapis diubah.

19.4 Jadual Data

Empat jadual dipaparkan dalam dua lajur:

  • Top 10 Bookers — Senarai 10 pengguna yang paling aktif membuat tempahan
  • Top 10 Most Booked Resources — Senarai 10 sumber yang paling kerap ditempah
  • Department Breakdown — Pecahan tempahan mengikut jabatan
  • Cancelled Bookings — Senarai 20 tempahan yang dibatalkan terkini

19.5 Eksport

Dua pilihan eksport tersedia:

  • Excel — Muat turun fail .xlsx dengan semua data laporan dalam satu helaian
  • PDF — Muat turun fail .pdf (landskap A4) dengan logo RD, semua statistik dan jadual

URL: /admin/reports

The Reports page provides comprehensive booking analytics and statistics. Access it via Analytics > Reports in the sidebar.

19.1 Filters

Use the filters at the top to narrow down report data:

  • Year — Select a specific year or "All Years"
  • Date From / Date To — Specific date range
  • Category — Filter by resource category

Click Reset to clear all filters.

19.2 Statistics Cards

Four statistics cards are displayed at the top:

  • Total Bookings — Overall booking count
  • Cancelled — Number and percentage of cancelled bookings
  • Most Active User — User with the most bookings
  • Most Popular Resource — Most frequently booked resource

19.3 Charts

Three interactive charts are displayed:

  • Bookings per Month — Bar chart showing monthly booking counts
  • Status Distribution — Doughnut chart showing booking status breakdown
  • Category Breakdown — Horizontal bar chart showing bookings by category

Charts update automatically when filters are changed.

19.4 Data Tables

Four tables are displayed in a two-column layout:

  • Top 10 Bookers — Top 10 most active users
  • Top 10 Most Booked Resources — Top 10 most frequently booked resources
  • Department Breakdown — Booking count by department
  • Cancelled Bookings — Latest 20 cancelled bookings

19.5 Export

Two export options are available:

  • Excel — Download an .xlsx file with all report data in a single sheet
  • PDF — Download a .pdf file (landscape A4) with RD logo, all statistics and tables

19.5 Pengurusan Maklum Balas (Feedback Management) Feedback Management

URL: /admin/feedback

Modul pengurusan maklum balas membolehkan anda melihat, membalas, mengemas kini status, dan memadam maklum balas daripada kakitangan dan pengguna awam.

19.5.1 Lihat Semua Maklum Balas

  • Senarai semua maklum balas dipaparkan dengan penapis kategori dan status
  • Klik pada maklum balas untuk melihat butiran penuh termasuk gambar lampiran

19.5.2 Kemaskini Status

Tukar status maklum balas mengikut keperluan:

Jadual 19.5.2: Status Maklum Balas

StatusKeterangan
SubmittedBaru dihantar
In ReviewSedang disemak
In ProgressSedang dilaksanakan
CompletedSelesai
RejectedTidak diterima

19.5.3 Balas Maklum Balas

  • Tulis balasan di ruangan "Write a Reply" dan klik "Send Reply"
  • Penghantar akan diberitahu melalui notifikasi, e-mel, dan WhatsApp

19.5.4 Padam Maklum Balas

Klik butang "Delete" untuk memadam maklum balas. Tindakan ini tidak boleh dibatalkan.

URL: /admin/feedback

The feedback management module allows you to view, reply, update status, and delete feedback from staff and public users.

19.5.1 View All Feedback

  • All feedback is listed with category and status filters
  • Click on a feedback to view full details including image attachments

19.5.2 Update Status

Change the feedback status as needed:

Table 19.5.2: Feedback Status

StatusDescription
SubmittedNewly submitted
In ReviewUnder review
In ProgressBeing implemented
CompletedDone
RejectedNot accepted

19.5.3 Reply to Feedback

  • Write a reply in the "Write a Reply" section and click "Send Reply"
  • The submitter will be notified via notification, email, and WhatsApp

19.5.4 Delete Feedback

Click the "Delete" button to remove feedback. This action cannot be undone.

20.0 Rujukan Status Status Reference

Berikut ialah senarai status tempahan yang digunakan dalam sistem RD BookHub.

Jadual 20.1: Senarai Status Tempahan

Below is the list of booking statuses used in the RD BookHub system.

Table 20.1: Booking Status List

Status WarnaColour KeteranganDescription
Pending KuningYellow Menunggu kelulusan adminAwaiting admin approval
Approved HijauGreen Diluluskan, sedia untuk kutipanApproved, ready for collection
Rejected MerahRed Tidak diluluskanNot approved
Collected Biru mudaLight Blue Sumber telah dikutipResource has been collected
Overdue Merah mudaLight Red Lewat dipulangkan (tarikh tamat sudah lepas)Past the return deadline
Completed SianCyan Tempahan selesai — sumber tanpa kutipan fizikal (cth: bilik mesyuarat) selepas tarikh tamatBooking completed — non-collection resource (e.g. meeting room) past end date
Missed OrenOrange Diluluskan tetapi tidak dikutip (tarikh tamat sudah lepas) — sumber memerlukan kutipan fizikalApproved but not collected (past end date) — resource requires physical collection
Returned BiruBlue Sumber telah dipulangkanResource has been returned
Cancelled KelabuGrey Tempahan dibatalkanBooking cancelled

20.1 Aliran Status 20.1 Status Flow

Pending Approved Collected Returned
Pending juga boleh → Rejected / Cancelled Pending may also → Rejected / Cancelled
Approved yang tidak dikutip selepas tarikh tamat → Missed (paparan sahaja, sumber memerlukan kutipan) Approved not collected after end date → Missed (display only, collection-required resources)
Approved selepas tarikh tamat (tanpa kutipan fizikal) → Completed (paparan sahaja, cth: bilik mesyuarat) Approved past end date (no physical collection) → Completed (display only, e.g. meeting rooms)

MANUAL PENGGUNA USER MANUAL

RD BookHub

Peranan: Account Role: Account

VersiVersion : 1.0
TarikhDate : 18 April 2026
OrganisasiOrganisation : Revenue Discovery Sdn Bhd

1.0 Pengenalan Introduction

RD BookHub ialah sistem tempahan sumber yang juga merangkumi modul Permohonan Pembelian. Sebagai Account, anda bertanggungjawab mengurus semua permohonan pembelian yang berkaitan kewangan.

1.1 Keupayaan Account

Jadual 1.1: Fungsi Account

Bil.FungsiKeterangan
1Melihat Semua Permohonan PembelianMelihat semua permohonan dari semua kakitangan
2Meluluskan / Menolak PermohonanMeluluskan atau menolak permohonan pembelian
3Kemaskini Status PermohonanMengemaskini status permohonan (Pending Purchase, Purchased)
4Padam PermohonanMemadam permohonan pembelian yang tidak diperlukan
5Menghantar Permohonan SendiriMenghantar permohonan pembelian sendiri (mod peribadi)
6Tempahan SumberMenempah sumber seperti Staff (mod peribadi)
Nota: Dalam Mod Peribadi, Account berfungsi sama seperti Staff — boleh menempah sumber, menghantar permohonan pembelian, dan menghantar ulasan.

RD BookHub is a resource booking system that also includes a Purchase Request module. As an Account user, you are responsible for managing all finance-related purchase requests.

1.1 Account Capabilities

Table 1.1: Account Functions

No.FunctionDescription
1View All Purchase RequestsView all purchase requests from all staff
2Approve / Reject RequestsApprove or reject purchase requests
3Update Request StatusUpdate request status (Pending Purchase, Purchased)
4Delete RequestsDelete purchase requests that are no longer needed
5Submit Own RequestsSubmit your own purchase requests (personal mode)
6Book ResourcesBook resources like Staff (personal mode)
Note: In Personal Mode, Account users function like Staff — you can book resources, submit purchase requests, and submit reviews.

2.0 Log Masuk & Dashboard Login & Dashboard

2.1 Log Masuk

URL: /login

Masukkan e-mel dan kata laluan anda. Selepas log masuk berjaya, anda akan dibawa ke Dashboard Account.

2.2 Dashboard Account

URL: /dashboard

Dashboard memaparkan ringkasan statistik permohonan pembelian:

Jadual 2.1: Kad Statistik Dashboard

KadKeterangan
Total RequestsJumlah keseluruhan permohonan pembelian
Pending ReviewBilangan permohonan yang menunggu semakan
ApprovedBilangan permohonan yang telah diluluskan
Approved Cost (RM)Jumlah kos permohonan yang diluluskan

Di bawah kad statistik, terdapat jadual Permohonan Terkini yang memaparkan 5 permohonan terbaru dengan pautan ke halaman butiran.

2.1 Login

URL: /login

Enter your email and password. After successful login, you will be directed to the Account Dashboard.

2.2 Account Dashboard

URL: /dashboard

The dashboard displays a summary of purchase request statistics:

Table 2.1: Dashboard Stat Cards

CardDescription
Total RequestsTotal number of purchase requests
Pending ReviewNumber of requests awaiting review
ApprovedNumber of approved requests
Approved Cost (RM)Total cost of approved requests

Below the stat cards, a Recent Purchase Requests table shows the 5 most recent requests with links to their details page.

3.0 Mod Paparan View Mode

Account mempunyai dua mod paparan yang boleh ditukar melalui butang di sidebar:

Jadual 3.1: Mod Paparan

ModKeterangan
Mod AccountMelihat dan mengurus semua permohonan pembelian daripada semua kakitangan. Dashboard memaparkan statistik keseluruhan.
Mod PeribadiBerfungsi seperti Staff biasa. Melihat hanya permohonan dan tempahan sendiri. Boleh membuat tempahan dan menghantar permohonan pembelian baru.
Cara Tukar Mod: Klik butang "Personal" / "Account" pada sidebar untuk bertukar antara mod. Dashboard dan navigasi akan berubah mengikut mod yang dipilih.

Account users have two view modes that can be toggled via the sidebar button:

Table 3.1: View Modes

ModeDescription
Account ModeView and manage all purchase requests from all staff. Dashboard shows overall statistics.
Personal ModeFunctions like a regular Staff user. View only your own requests and bookings. Can create bookings and submit new purchase requests.
How to Switch: Click the "Personal" / "Account" button on the sidebar to toggle between modes. The dashboard and navigation will change according to the selected mode.

4.0 Senarai Permohonan Pembelian Purchase Request List

URL: /purchase-requests

Dalam mod account, halaman ini memaparkan semua permohonan pembelian daripada semua kakitangan.

Jadual 4.1: Lajur Senarai Permohonan

LajurKeterangan
Request #Nombor permohonan (cth: PR-20260327-ABC123) dan tarikh
VendorNama vendor / syarikat
Requested ByNama dan jabatan kakitangan yang membuat permohonan
ItemsBilangan item dan penerangan item pertama
Total (RM)Jumlah keseluruhan (Grand Total)
PriorityKeutamaan: Low Medium High Urgent
StatusStatus semasa permohonan
ActionsButang untuk melihat butiran dan memadam

URL: /purchase-requests

In account mode, this page displays all purchase requests from all staff.

Table 4.1: Request List Columns

ColumnDescription
Request #Request number (e.g. PR-20260327-ABC123) and date
VendorVendor / company name
Requested ByName and department of the requesting staff
ItemsItem count and first item description
Total (RM)Grand total amount
PriorityPriority: Low Medium High Urgent
StatusCurrent request status
ActionsButtons to view details and delete

5.0 Semak & Lulus / Tolak Permohonan Review & Approve / Reject

Klik pada permohonan untuk melihat butiran penuh. Untuk permohonan dengan status Submitted, Account boleh menyemak melalui bahagian "FOR ACCOUNT USE ONLY":

5.1 Semakan Account (Account Review)

Di bahagian "FOR ACCOUNT USE ONLY", Account perlu:

Jadual 5.1: Medan Semakan

MedanKeteranganWajib?
Shipping MethodKaedah penghantaran: Delivery / Pick-Up / Sea ShippingYa
Payment MethodKaedah pembayaran: Cash / Credit / Online Banking / Shopee Pay / Shopee Pay Later / CardsYa
CommentsKomen atau nota tambahanTidak

Klik "Submit Account Review" untuk menghantar semakan. Status berubah ke Account Reviewed dan Admin akan dimaklumkan.

5.2 Tolak Permohonan

Account juga boleh menolak permohonan yang belum disemak. Klik butang "Reject" dan berikan sebab penolakan (wajib).

Penting: Setelah permohonan disemak atau ditolak, tindakan ini tidak boleh dibatalkan.

Selepas tindakan, notifikasi dihantar melalui:

  • Notifikasi dalam aplikasi (in-app)
  • E-mel (jika dikonfigurasi)
  • WhatsApp (jika dikonfigurasi)
Nota: Hanya Admin boleh meluluskan (Approve) permohonan selepas Account menyemak. Account tidak boleh meluluskan terus.

5.3 Permohonan Telah Diubah Suai Oleh Pemohon (Baru)

Staff kini boleh mengubah suai permohonan pembelian mereka sendiri selagi status masih Submitted. Apabila permohonan diubah suai:

  • Account & Admin akan menerima notifikasi (in-app, e-mel, WhatsApp jika dikonfigurasi)
  • Halaman butiran akan memaparkan metadata ubah suai: edit_count, edited_at, dan edited_by
  • Sebaik sahaja anda menghantar semakan Account (status bertukar kepada Account Reviewed), permohonan terkunci dan Staff tidak lagi boleh mengubah suai
Amalan Baik: Sekiranya anda melihat permohonan yang baru diubah suai, semak semula maklumat vendor, item, harga, dan lampiran terkini sebelum menghantar Account Review.

Click on a request to view full details. For requests with status Submitted, Account can review via the "FOR ACCOUNT USE ONLY" section:

5.1 Account Review

In the "FOR ACCOUNT USE ONLY" section, Account must fill in:

Table 5.1: Review Fields

FieldDescriptionRequired?
Shipping MethodDelivery method: Delivery / Pick-Up / Sea ShippingYes
Payment MethodPayment method: Cash / Credit / Online Banking / Shopee Pay / Shopee Pay Later / CardsYes
CommentsOptional comments or notesNo

Click "Submit Account Review" to submit the review. Status changes to Account Reviewed and Admin will be notified.

5.2 Reject Request

Account can also reject unreviewed requests. Click the "Reject" button and provide a rejection reason (mandatory).

Important: Once a request is reviewed or rejected, the action cannot be undone.

After the action, notifications are sent via:

  • In-app notification
  • Email (if configured)
  • WhatsApp (if configured)
Note: Only Admin can approve requests after Account review. Account cannot approve directly.

5.3 Requester Edits a Submitted Request (New)

Staff can now edit their own purchase requests as long as the status is still Submitted. When a request is edited:

  • Account & Admin receive a notification (in-app, email, WhatsApp if configured)
  • The details page displays edit metadata: edit_count, edited_at, and edited_by
  • Once you submit an Account Review (status becomes Account Reviewed), the request is locked and Staff can no longer edit it
Best Practice: If you see a recently edited request, re-verify the vendor, items, pricing, and attachments before submitting your Account Review.

6.0 Kemaskini Status Permohonan Update Request Status

Selepas permohonan diluluskan oleh Admin, Account boleh mengemaskini status dan mengisi bahagian "FOR OFFICE USE ONLY":

6.1 Kemaskini Status

Klik butang "Update Status" di halaman butiran untuk menukar status:

Jadual 6.1: Aliran Status

Status SemasaBoleh Tukar Ke
ApprovedPending Purchase atau Purchased
Pending PurchasePurchased

6.2 Bahagian Office Use

Selepas permohonan diluluskan, bahagian "FOR OFFICE USE ONLY" boleh diisi:

Jadual 6.2: Medan Office Use

MedanKeterangan
Date Request ReceivedTarikh permohonan diterima
Date OrderedTarikh pesanan dibuat
ConfirmationNombor pengesahan pesanan
BuyerOrang yang membuat pesanan
How OrderedKaedah pesanan: Vendor / Shopee / PO# / Others

6.3 Aliran Status Penuh

Submitted Account Reviewed Approved Pending Purchase Purchased

Submitted / Account Reviewed Rejected
Nota: Status Rejected dan Purchased adalah status akhir — tiada perubahan lanjut boleh dibuat.

After a request is approved by Admin, Account can update the status and fill in the "FOR OFFICE USE ONLY" section:

6.1 Update Status

Click the "Update Status" button on the details page to change status:

Table 6.1: Status Flow

Current StatusCan Change To
ApprovedPending Purchase or Purchased
Pending PurchasePurchased

6.2 Office Use Section

After a request is approved, the "FOR OFFICE USE ONLY" section can be filled in:

Table 6.2: Office Use Fields

FieldDescription
Date Request ReceivedDate the request was received
Date OrderedDate the order was placed
ConfirmationOrder confirmation number
BuyerPerson who placed the order
How OrderedOrder method: Vendor / Shopee / PO# / Others

6.3 Full Status Flow

Submitted Account Reviewed Approved Pending Purchase Purchased

Submitted / Account Reviewed Rejected
Note: Rejected and Purchased are terminal statuses — no further changes can be made.
Rejected

7.0 Butiran Permohonan Request Details

URL: /purchase-requests/{id}

Halaman butiran memaparkan maklumat lengkap termasuk:

  • Maklumat item (nama, jenama, harga, kuantiti, kategori)
  • Keutamaan dan justifikasi
  • Pautan produk dan lampiran gambar
  • Maklumat penghantar dan tarikh
  • Maklumat penyemak, tarikh semakan, dan komen
  • Butang tindakan (Approve / Reject / Update Status) mengikut status semasa

7.1 Maklumat Yang Dipaparkan

Jadual 7.1: Bahagian Butiran

BahagianKeterangan
Request InformationNombor permohonan, tarikh, status, dan keutamaan
Item DetailsNama item, jenama/model, kategori, kuantiti, harga anggaran
JustificationSebab permohonan yang diberikan oleh pemohon
Product LinkPautan ke produk (jika ada)
AttachmentsGambar/fail yang dilampirkan oleh pemohon
Review InformationNama penyemak, tarikh semakan, komen (selepas disemak)

URL: /purchase-requests/{id}

The details page displays complete information including:

  • Item information (name, brand, price, quantity, category)
  • Priority and justification
  • Product link and image attachments
  • Requester information and date
  • Reviewer information, review date, and comments
  • Action buttons (Approve / Reject / Update Status) based on current status

7.1 Displayed Information

Table 7.1: Detail Sections

SectionDescription
Request InformationRequest number, date, status, and priority
Item DetailsItem name, brand/model, category, quantity, estimated price
JustificationReason for the request provided by the requester
Product LinkLink to product (if provided)
AttachmentsImages/files attached by the requester
Review InformationReviewer name, review date, comments (after review)

8.0 Padam Permohonan Delete Request

Account boleh memadam permohonan pembelian melalui butang padam di senarai permohonan.

  • Klik ikon padam (tong sampah) pada baris permohonan yang ingin dipadam
  • Satu dialog pengesahan akan dipaparkan
  • Klik "Yes, delete" untuk mengesahkan pemadaman
Nota: Pemadaman menggunakan soft delete — data tidak dipadam secara kekal dan boleh dipulihkan jika diperlukan oleh pentadbir sistem.

Account users can delete purchase requests via the delete button on the request list.

  • Click the delete icon (trash bin) on the request row you want to delete
  • A confirmation dialog will appear
  • Click "Yes, delete" to confirm the deletion
Note: Deletion uses soft delete — data is not permanently removed and can be recovered if needed by system administrators.

9.0 Mod Peribadi Personal Mode

Dalam mod peribadi, Account bertindak seperti Staff biasa:

  • Melihat hanya permohonan pembelian sendiri
  • Boleh mencipta permohonan pembelian baru di /purchase-requests/create
  • Baru: Boleh mengubah suai permohonan sendiri yang masih berstatus Submitted melalui ikon pensel di senarai (/purchase-requests/{id}/edit)
  • Baru: Borang permohonan & modal kutipan/pemulangan kini menyokong Ctrl+V (tampal tangkapan skrin) dan seret & lepas fail
  • Boleh menempah sumber di /bookings/create
  • Melihat hanya tempahan sendiri
  • Boleh menghantar ulasan

9.1 Navigasi Mod Peribadi

Dalam mod peribadi, sidebar menunjukkan navigasi seperti Staff:

Jadual 9.1: Menu Mod Peribadi

MenuKeterangan
DashboardDashboard peribadi dengan ringkasan tempahan
Browse ResourcesLayari sumber yang tersedia
My BookingsSenarai tempahan anda
Purchase RequestsPermohonan pembelian anda sahaja

In personal mode, Account functions like a regular Staff user:

  • View only your own purchase requests
  • Create new purchase requests at /purchase-requests/create
  • New: Edit your own requests while they are still Submitted via the pencil icon in the list (/purchase-requests/{id}/edit)
  • New: Request forms & collection/return modals now support Ctrl+V (paste screenshots) and drag & drop file uploads
  • Book resources at /bookings/create
  • View only your own bookings
  • Submit reviews

9.1 Personal Mode Navigation

In personal mode, the sidebar shows Staff-like navigation:

Table 9.1: Personal Mode Menu

MenuDescription
DashboardPersonal dashboard with booking summary
Browse ResourcesBrowse available resources
My BookingsList of your bookings
Purchase RequestsYour purchase requests only

10.0 Profil & Notifikasi Profile & Notifications

10.1 Profil

URL: /profile

Anda boleh mengemaskini maklumat profil termasuk:

  • Nama
  • E-mel
  • Nombor telefon
  • Kata laluan

10.2 Notifikasi

Account menerima notifikasi untuk:

Jadual 10.1: Jenis Notifikasi

PeristiwaKeterangan
Purchase Request SubmittedNotifikasi apabila kakitangan menghantar permohonan pembelian baru
Purchase Request ApprovedNotifikasi apabila permohonan anda (mod peribadi) diluluskan
Purchase Request RejectedNotifikasi apabila permohonan anda (mod peribadi) ditolak
Purchase Request Pending PurchaseNotifikasi apabila permohonan sedang diproses untuk pembelian
Purchase Request PurchasedNotifikasi apabila item permohonan telah dibeli

Notifikasi dipaparkan melalui ikon loceng di bahagian atas halaman. Klik ikon untuk melihat senarai notifikasi.

10.1 Profile

URL: /profile

You can update your profile information including:

  • Name
  • Email
  • Phone number
  • Password

10.2 Notifications

Account users receive notifications for:

Table 10.1: Notification Types

EventDescription
Purchase Request SubmittedNotification when a staff member submits a new purchase request
Purchase Request ApprovedNotification when your own request (personal mode) is approved
Purchase Request RejectedNotification when your own request (personal mode) is rejected
Purchase Request Pending PurchaseNotification when a request is being processed for purchase
Purchase Request PurchasedNotification when a request item has been purchased

Notifications are displayed via the bell icon at the top of the page. Click the icon to view the notification list.

10.5 Maklum Balas (Feedback) Feedback

Sistem maklum balas membolehkan anda menghantar cadangan penambahbaikan, laporan pepijat, permintaan ciri baru, atau maklum balas umum kepada pentadbir.

10.5.1 Hantar Maklum Balas

  1. Pergi ke Feedback dari menu navigasi atau sidebar
  2. Klik "New Feedback"
  3. Isi borang:

    Jadual 10.5.1: Medan Borang Maklum Balas

    MedanKeteranganWajib?
    CategoryGeneral, Improvement, Bug Report, Feature RequestYa
    TitleTajuk ringkasYa
    DescriptionPenerangan terperinciYa
    ImagesSehingga 3 gambar (JPG/PNG/WebP, maks 5MB)Tidak
  4. Klik "Submit Feedback"

10.5.2 Lihat & Balas

  • Klik pada maklum balas untuk melihat butiran penuh
  • Tulis balasan di ruangan "Write a Reply" dan klik "Send Reply"
  • Admin akan diberitahu melalui notifikasi, e-mel, dan WhatsApp

10.5.3 Status Maklum Balas

Jadual 10.5.3: Status Maklum Balas

StatusKeterangan
SubmittedBaru dihantar
In ReviewSedang disemak
In ProgressSedang dilaksanakan
CompletedSelesai
RejectedTidak diterima

10.5.4 Maklum Balas Awam

Anda juga boleh menghantar maklum balas melalui halaman awam (/) → tab "Feedback". Masukkan 4 digit terakhir IC untuk pengesahan.

The feedback system allows you to submit improvement suggestions, bug reports, feature requests, or general feedback to administrators.

10.5.1 Submit Feedback

  1. Go to Feedback from the navigation menu or sidebar
  2. Click "New Feedback"
  3. Fill in the form:

    Table 10.5.1: Feedback Form Fields

    FieldDescriptionRequired?
    CategoryGeneral, Improvement, Bug Report, Feature RequestYes
    TitleBrief summaryYes
    DescriptionDetailed descriptionYes
    ImagesUp to 3 images (JPG/PNG/WebP, max 5MB each)No
  4. Click "Submit Feedback"

10.5.2 View & Reply

  • Click on a feedback to view full details
  • Write a reply in the "Write a Reply" section and click "Send Reply"
  • Admin will be notified via notification, email, and WhatsApp

10.5.3 Feedback Status

Table 10.5.3: Feedback Status

StatusDescription
SubmittedNewly submitted
In ReviewUnder review
In ProgressBeing implemented
CompletedDone
RejectedNot accepted

10.5.4 Public Feedback

You can also submit feedback from the public page (/) → "Feedback" tab. Enter your IC last 4 digits for verification.

11.0 Rujukan Status Status Reference

11.1 Status Permohonan Pembelian

Jadual 11.1: Senarai Status Permohonan

StatusWarnaKeterangan
SubmittedKuningPermohonan dihantar, menunggu semakan
ApprovedHijauPermohonan diluluskan
RejectedMerahPermohonan ditolak (status akhir)
Pending PurchaseOrenMenunggu pembelian
PurchasedBiruItem telah dibeli (status akhir)

11.2 Keutamaan Permohonan

Jadual 11.2: Tahap Keutamaan

KeutamaanWarnaKeterangan
LowKelabuKeperluan tidak mendesak
MediumBiruKeperluan sederhana
HighOrenKeperluan penting
UrgentMerahKeperluan segera

11.1 Purchase Request Statuses

Table 11.1: Request Status List

StatusColourDescription
SubmittedYellowRequest submitted, awaiting review
ApprovedGreenRequest approved
RejectedRedRequest rejected (terminal)
Pending PurchaseOrangeAwaiting purchase
PurchasedBlueItem has been purchased (terminal)

11.2 Request Priorities

Table 11.2: Priority Levels

PriorityColourDescription
LowGreyNon-urgent requirement
MediumBlueModerate requirement
HighOrangeImportant requirement
UrgentRedImmediate requirement

MANUAL PENGGUNA USER MANUAL

RD BookHub

Peranan: Superadmin Role: Superadmin

VersiVersion : 1.0
TarikhDate : 18 April 2026
OrganisasiOrganisation : Revenue Discovery Sdn Bhd

1.0 Pengenalan Introduction

Superadmin ialah peranan tertinggi dalam sistem RD BookHub. Superadmin bertanggungjawab untuk konfigurasi sistem, pengurusan pengguna, dan pemantauan keseluruhan.

1.1 Apa Yang Superadmin BOLEH Lakukan

Bil.Fungsi
1Melihat semua tempahan (paparan sahaja)
2Mengurus semua sumber (CRUD penuh)
3Mengurus semua pengguna (termasuk cipta Admin/Superadmin lain)
4Mengurus kategori dan jabatan
5Melihat log audit dan aktiviti pengguna
6Mengkonfigurasi tetapan tempahan
7Mengkonfigurasi e-mel (SMTP) dan WhatsApp
8Mengurus template notifikasi
9Menjalankan operasi sistem (cache, backup, optimize)

1.2 Apa Yang Superadmin TIDAK BOLEH Lakukan

Bil.SekatanCatatan
1Meluluskan atau menolak tempahanIni hanya untuk Admin
2Mengutip atau memulangkan sumberIni untuk Staff/Admin sahaja
3Membuat tempahanSuperadmin tidak boleh menempah sumber
4Memberi ulasanUlasan hanya untuk pengguna yang telah menempah

Superadmin is the highest role in the RD BookHub system. The Superadmin is responsible for system configuration, user management, and overall monitoring.

1.1 What Superadmin CAN Do

No.Function
1View all bookings (view-only)
2Manage all resources (full CRUD)
3Manage all users (including creating other Admin/Superadmin accounts)
4Manage categories and departments
5View audit logs and user activity
6Configure booking settings
7Configure email (SMTP) and WhatsApp
8Manage notification templates
9Run system operations (cache, backup, optimize)

1.2 What Superadmin CANNOT Do

No.RestrictionRemark
1Approve or reject bookingsThis is for Admin only
2Collect or return resourcesThis is for Staff/Admin only
3Make bookingsSuperadmin cannot book resources
4Leave reviewsReviews are only for users who have made bookings

2.0 Log Masuk & Dashboard Login & Dashboard

2.1 Log Masuk

Gunakan IC Last 4 Digits dan Password di halaman /login.

2.2 Dashboard Superadmin

URL: /dashboard

2.2.1 Baris 1: Gambaran Keseluruhan Sistem

Jadual 2.1: Kad Gambaran Keseluruhan

KadKeterangan
Total UsersJumlah semua pengguna. Badge menunjukkan pecahan: SA (Superadmin), Admin, Staff
Total BookingsJumlah semua tempahan. Badge: Pending, Active (Collected), Overdue, Missed
Audit Logs (Today)Bilangan log audit hari ini

2.2.2 Baris 2: Statistik Sumber Mengikut Kategori

4 kad menunjukkan inventori sumber:

Jadual 2.2: Kad Statistik Sumber

KadKeterangan
Aset MarketingJumlah sumber marketing (total & available)
Aset ManagementJumlah sumber management
Aset ProjectJumlah sumber project
Aset SkellUpJumlah sumber SkellUp

2.2.3 Baris 3: Konfigurasi Sistem

Jadual 2.3: Kad Konfigurasi Sistem

KadKeterangan
Email ConfigurationStatus: Active/Inactive, SMTP Host, From Address
WhatsApp ConfigurationStatus: Active/Pending Setup, API Endpoint, API Key

2.2.4 Jadual Tempahan Terkini

Menunjukkan tempahan terkini dari semua pengguna:

  • Nombor tempahan
  • Maklumat pengguna (avatar, nama, e-mel)
  • Sumber dan kategori
  • Tarikh
  • Status badge (termasuk Overdue dan Missed)
  • Butang View untuk melihat butiran

2.1 Login

Use your IC Last 4 Digits and Password on the /login page.

2.2 Superadmin Dashboard

URL: /dashboard

2.2.1 Row 1: System Overview

Table 2.1: Overview Cards

CardDescription
Total UsersTotal number of all users. Badge shows breakdown: SA (Superadmin), Admin, Staff
Total BookingsTotal number of all bookings. Badge: Pending, Active (Collected), Overdue, Missed
Audit Logs (Today)Number of audit log entries for today

2.2.2 Row 2: Resource Statistics by Category

4 cards showing resource inventory:

Table 2.2: Resource Statistics Cards

CardDescription
Marketing AssetsTotal marketing resources (total & available)
Management AssetsTotal management resources
Project AssetsTotal project resources
SkellUp AssetsTotal SkellUp resources

2.2.3 Row 3: System Configuration

Table 2.3: System Configuration Cards

CardDescription
Email ConfigurationStatus: Active/Inactive, SMTP Host, From Address
WhatsApp ConfigurationStatus: Active/Pending Setup, API Endpoint, API Key

2.2.4 Recent Bookings Table

Displays recent bookings from all users:

  • Booking number
  • User information (avatar, name, email)
  • Resource and category
  • Date
  • Status badge (including Overdue and Missed)
  • View button to see details

3.0 Pengurusan Tempahan Booking Management

URL: /bookings

Superadmin boleh melihat semua tempahan tetapi tidak boleh meluluskan atau menolak.

3.1 Penapis

Jadual 3.1: Penapis Tempahan

PenapisKeterangan
SearchCari mengikut nombor tempahan, nama sumber, nama pengguna
StatusTapis mengikut status
CategoryTapis mengikut kategori

3.2 Tindakan

Jadual 3.2: Tindakan Yang Tersedia

TindakanTersedia?
View DetailsYa
ApproveTidak
RejectTidak
CollectTidak
ReturnTidak

3.3 Eksport

Klik "Export" untuk memuat turun senarai tempahan dalam format Excel.

Nota: Superadmin hanya boleh melihat tempahan. Kelulusan dan penolakan tempahan hanya boleh dilakukan oleh Admin.

URL: /bookings

The Superadmin can view all bookings but cannot approve or reject them.

3.1 Filters

Table 3.1: Booking Filters

FilterDescription
SearchSearch by booking number, resource name, user name
StatusFilter by status
CategoryFilter by category

3.2 Actions

Table 3.2: Available Actions

ActionAvailable?
View DetailsYes
ApproveNo
RejectNo
CollectNo
ReturnNo

3.3 Export

Click "Export" to download the booking list in Excel format.

Note: The Superadmin can only view bookings. Approval and rejection of bookings can only be performed by an Admin.

4.0 Pengurusan Sumber Resource Management

URL: /superadmin/resources/manage

Fungsi pengurusan sumber untuk Superadmin adalah sama seperti yang diterangkan dalam Manual Admin.

4.1 Operasi

Jadual 4.1: Operasi Sumber

TindakanURLKeterangan
Senarai/superadmin/resources/manageLihat semua sumber dengan penapis
Cipta/superadmin/resources/createTambah sumber baru
Lihat/superadmin/resources/{id}Butiran sumber, statistik tempahan, ulasan
Kemaskini/superadmin/resources/{id}/editUbah maklumat sumber
PadamDELETE /superadmin/resources/{id}Padam sumber (dengan pengesahan)
TogolPATCH /superadmin/resources/{id}/toggle-availabilityTukar ketersediaan

4.2 Medan Sumber

Jadual 4.2: Medan Borang Sumber

MedanKeterangan
Item NameNama sumber (wajib)
CategoryKategori (wajib)
Parent ItemSumber induk jika sub-item
QuantityBilangan unit
PriceHarga (RM)
Asset CodeKod aset
ConditionKeadaan: Good, Damaged, Under Maintenance, Missing
RemarksCatatan
Is AvailableBoleh ditempah?
Requires ApprovalPerlu kelulusan?
Requires CollectionPerlu kutipan fizikal?
ImageGambar (maks 5MB)

URL: /superadmin/resources/manage

The resource management functionality for Superadmin is the same as described in the Admin Manual.

4.1 Operations

Table 4.1: Resource Operations

ActionURLDescription
List/superadmin/resources/manageView all resources with filters
Create/superadmin/resources/createAdd a new resource
View/superadmin/resources/{id}Resource details, booking statistics, reviews
Update/superadmin/resources/{id}/editEdit resource information
DeleteDELETE /superadmin/resources/{id}Delete resource (with confirmation)
TogglePATCH /superadmin/resources/{id}/toggle-availabilityToggle availability

4.2 Resource Fields

Table 4.2: Resource Form Fields

FieldDescription
Item NameResource name (required)
CategoryCategory (required)
Parent ItemParent resource if sub-item
QuantityNumber of units
PricePrice (RM)
Asset CodeAsset code
ConditionCondition: Good, Damaged, Under Maintenance, Missing
RemarksNotes
Is AvailableCan it be booked?
Requires ApprovalDoes it require approval?
Requires CollectionDoes it require physical collection?
ImageImage (max 5MB)

5.0 Pengurusan Pengguna User Management

URL: /superadmin/users

5.1 Paparan

  • 4 kad statistik: Superadmins, Admins, Account, Staff
  • Penapis: Cari nama, tapis role/department/status
  • Jadual pengguna dengan pagination

5.2 Cipta Pengguna

URL: /superadmin/users/create

Jadual 5.1: Medan Borang Cipta Pengguna

MedanKeteranganWajib?
Full NameNama penuhYa
IC NumberNombor IC penuh (12 digit)Ya
EmailE-mel (unik)Ya
PhoneNombor telefonYa
DepartmentJabatanTidak
RoleStaff / Admin / Account / SuperadminYa
PasswordMinimum 8 aksaraYa
Profile PhotoGambar (maks 5MB)Tidak
Nota: Superadmin boleh mencipta pengguna dengan mana-mana peranan termasuk Superadmin dan Admin.

5.3 Kemaskini Pengguna

  • Ubah semua maklumat termasuk peranan
  • Urus pengesahan e-mel
  • Urus Two-Factor Authentication

5.4 Padam Pengguna

  • Modal pengesahan sebelum padam
  • Semak jika pengguna mempunyai tempahan aktif

URL: /superadmin/users

5.1 Overview

  • 4 statistics cards: Superadmins, Admins, Account, Staff
  • Filters: Search by name, filter by role/department/status
  • User table with pagination

5.2 Create User

URL: /superadmin/users/create

Table 5.1: Create User Form Fields

FieldDescriptionRequired?
Full NameFull nameYes
IC NumberFull IC number (12 digits)Yes
EmailEmail (unique)Yes
PhonePhone numberYes
DepartmentDepartmentNo
RoleStaff / Admin / Account / SuperadminYes
PasswordMinimum 8 charactersYes
Profile PhotoImage (max 5MB)No
Note: Superadmin can create users with any role including Superadmin and Admin.

5.3 Update User

  • Edit all information including role
  • Manage email verification
  • Manage Two-Factor Authentication

5.4 Delete User

  • Confirmation modal before deletion
  • Check if user has active bookings

6.0 Pengurusan Kategori Category Management

URL: /superadmin/categories

6.1 Operasi

Jadual 6.1: Operasi Kategori

TindakanKeterangan
CiptaTambah kategori baru (Name + Label + Badge Color)
KemaskiniUbah nama, label, warna lencana, status aktif
PadamPadam kategori
Amaran: Kategori tidak boleh dipadam jika masih ada sumber dalam kategori tersebut.

6.2 Medan

Jadual 6.2: Medan Borang Kategori

MedanKeteranganWajib?
NameNama teknikal (huruf kecil, cth: "equipment")Ya
LabelNama paparan (cth: "Equipment")Ya
Badge ColorWarna lencana kategori. Pilih warna menggunakan pemilih warna — pratonton lencana akan dipaparkan secara langsungTidak
Is ActiveStatus aktifYa
Nota: Lajur Badge Color pada jadual kategori memaparkan bulatan warna dan pratonton lencana bagi setiap kategori. Warna ini digunakan di seluruh sistem termasuk kad sumber, kalendar, dan senarai tempahan.

URL: /superadmin/categories

6.1 Operations

Table 6.1: Category Operations

ActionDescription
CreateAdd a new category (Name + Label + Badge Color)
UpdateEdit name, label, badge color, active status
DeleteDelete category
Warning: A category cannot be deleted if there are still resources assigned to it.

6.2 Fields

Table 6.2: Category Form Fields

FieldDescriptionRequired?
NameTechnical name (lowercase, e.g. "equipment")Yes
LabelDisplay name (e.g. "Equipment")Yes
Badge ColorCategory badge color. Pick a color using the color picker — a live badge preview is shownNo
Is ActiveActive statusYes
Note: The Badge Color column in the categories table displays a color circle and badge preview for each category. This color is used throughout the system including resource cards, calendar, and booking lists.

7.0 Pengurusan Jabatan Department Management

URL: /superadmin/departments

7.1 Operasi

Jadual 7.1: Operasi Jabatan

TindakanKeterangan
CiptaTambah jabatan (nama, penerangan, status)
KemaskiniUbah maklumat jabatan
PadamPadam jabatan
Amaran: Jabatan tidak boleh dipadam jika masih ada kakitangan dalam jabatan tersebut.

URL: /superadmin/departments

7.1 Operations

Table 7.1: Department Operations

ActionDescription
CreateAdd department (name, description, status)
UpdateEdit department information
DeleteDelete department
Warning: A department cannot be deleted if there are still staff members assigned to it.

8.0 Log Audit Audit Logs

URL: /superadmin/audit-logs

8.1 Paparan

Senarai semua aktiviti sistem termasuk:

  • Cipta, kemaskini, padam rekod
  • Kelulusan/penolakan tempahan
  • Kutipan dan pemulangan sumber
  • Perubahan konfigurasi

8.2 Penapis

Jadual 8.1: Penapis Log Audit

PenapisKeterangan
UserTapis mengikut pengguna
ActionTapis: Create, Update, Delete
Date RangeTapis mengikut julat tarikh
SearchCari mengikut nama sumber

8.3 Butiran Log

Klik pada log untuk melihat:

  • Siapa yang melakukan tindakan
  • Bila tindakan dilakukan
  • Apa yang berubah (nilai lama → nilai baru)
  • Sumber/rekod yang terkesan

URL: /superadmin/audit-logs

8.1 Overview

List of all system activities including:

  • Create, update, delete records
  • Booking approvals/rejections
  • Resource collections and returns
  • Configuration changes

8.2 Filters

Table 8.1: Audit Log Filters

FilterDescription
UserFilter by user
ActionFilter: Create, Update, Delete
Date RangeFilter by date range
SearchSearch by resource name

8.3 Log Details

Click on a log entry to view:

  • Who performed the action
  • When the action was performed
  • What changed (old value → new value)
  • The resource/record affected

9.0 Aktiviti Pengguna User Activity

URL: /superadmin/user-activity

9.1 Paparan

  • Jejak log masuk/keluar pengguna
  • Sesi aktif pengguna
  • Sejarah tindakan pengguna
  • Penapis mengikut pengguna dan jenis tindakan

URL: /superadmin/user-activity

9.1 Overview

  • Track user login/logout activity
  • Active user sessions
  • User action history
  • Filter by user and action type

10.0 Tetapan Tempahan Booking Settings

URL: /superadmin/booking-settings

10.1 Tetapan Yang Tersedia

Jadual 10.1: Tetapan Tempahan

TetapanKeterangan
Booking Deadline (Days)Berapa hari sebelum tarikh mula tempahan mesti dibuat. Cth: 2 hari bermaksud kakitangan perlu menempah sekurang-kurangnya 2 hari kerja lebih awal
Default ApprovalTetapan kelulusan lalai untuk sumber baru
Default CollectionTetapan kutipan lalai untuk sumber baru
Nota: Admin boleh melangkaui tarikh akhir tempahan (deadline), tetapi Staff tidak boleh.

URL: /superadmin/booking-settings

10.1 Available Settings

Table 10.1: Booking Settings

SettingDescription
Booking Deadline (Days)How many days before the start date a booking must be made. E.g. 2 days means staff must book at least 2 working days in advance
Default ApprovalDefault approval setting for new resources
Default CollectionDefault collection setting for new resources
Note: Admin can bypass the booking deadline, but Staff cannot.

11.0 Konfigurasi Sistem System Configuration

11.1 Konfigurasi E-mel (Email Configuration)

URL: /superadmin/notifications/configuration

Jadual 11.1: Tetapan E-mel SMTP

TetapanKeterangan
SMTP HostPelayan e-mel (cth: smtp.gmail.com)
SMTP PortPort (cth: 587)
SMTP UsernameNama pengguna e-mel
SMTP PasswordKata laluan e-mel
From AddressAlamat penghantar
From NameNama penghantar
Nota: Klik "Test Email" untuk menghantar e-mel ujian dan mengesahkan konfigurasi.

11.2 Konfigurasi WhatsApp

URL: /superadmin/whatsapp/configuration

Jadual 11.2: Tetapan WhatsApp

TetapanKeterangan
API EndpointURL Wabot.my
API KeyKunci API untuk pengesahan
StatusActive / Inactive
Nota: Klik "Test WhatsApp" untuk menghantar mesej ujian.

11.3 Template Notifikasi

URL E-mel: /superadmin/notifications/templates/email

URL WhatsApp: /superadmin/notifications/templates/whatsapp

Urus template untuk pelbagai jenis notifikasi:

  • Tempahan diluluskan/ditolak
  • Peringatan kutipan/pemulangan
  • Notifikasi overdue
  • Item hilang

11.4 Suis Acara Notifikasi (Notification Events)

URL: /superadmin/notifications/configuration (Tab: Events)

Aktifkan atau nyahaktifkan setiap jenis notifikasi. Berikut ialah senarai acara notifikasi yang tersedia:

Jadual 11.3: Acara Notifikasi Tempahan Individu

AcaraKeterangan
Booking CreatedTempahan baru dicipta
Submitted for ApprovalTempahan dihantar untuk kelulusan
Booking ApprovedTempahan diluluskan
Booking RejectedTempahan ditolak
Booking CancelledTempahan dibatalkan
Resource CollectedSumber dikutip
Resource ReturnedSumber dipulangkan
Booking ExtendedTempahan dilanjutkan
Booking ReminderPeringatan 24 jam sebelum tempahan
Collection ReminderPeringatan untuk mengutip sumber apabila tempahan bermula
Return ReminderPeringatan 1 jam sebelum masa pemulangan
Overdue ReturnSumber lewat dipulangkan

Jadual 11.4: Acara Notifikasi Tempahan Kumpulan

AcaraKeterangan
Group Booking CreatedTempahan kumpulan dicipta
Group Booking ApprovedTempahan kumpulan diluluskan
Group Booking RejectedTempahan kumpulan ditolak
Group Booking CancelledTempahan kumpulan dibatalkan
Group Resource CollectedSumber kumpulan dikutip
Group Resource ReturnedSumber kumpulan dipulangkan
Group Booking ExtendedTempahan kumpulan dilanjutkan

Jadual 11.5: Acara Notifikasi Lain

AcaraKeterangan
Purchase Request SubmittedPermintaan pembelian dihantar
Purchase Request Edited BaruPemohon mengubah suai permohonan berstatus Submitted — dihantar kepada Admin & Account
Purchase Request Account ReviewedPermintaan pembelian disemak oleh Account
Purchase Request ApprovedPermintaan pembelian diluluskan oleh Admin
Purchase Request RejectedPermintaan pembelian ditolak
Purchase Request Pending PurchasePermintaan pembelian menunggu pembelian
Purchase Request PurchasedPermintaan pembelian telah dibeli
Review SubmittedUlasan baru dihantar

11.1 Email Configuration

URL: /superadmin/notifications/configuration

Table 11.1: SMTP Email Settings

SettingDescription
SMTP HostEmail server (e.g. smtp.gmail.com)
SMTP PortPort (e.g. 587)
SMTP UsernameEmail username
SMTP PasswordEmail password
From AddressSender address
From NameSender name
Note: Click "Test Email" to send a test email and verify the configuration.

11.2 WhatsApp Configuration

URL: /superadmin/whatsapp/configuration

Table 11.2: WhatsApp Settings

SettingDescription
API EndpointWabot.my URL
API KeyAPI key for authentication
StatusActive / Inactive
Note: Click "Test WhatsApp" to send a test message.

11.3 Notification Templates

Email URL: /superadmin/notifications/templates/email

WhatsApp URL: /superadmin/notifications/templates/whatsapp

Manage templates for various notification types:

  • Booking approved/rejected
  • Collection/return reminders
  • Overdue notifications
  • Missing items

11.4 Notification Event Toggles

URL: /superadmin/notifications/configuration (Tab: Events)

Enable or disable each notification type. Below is the list of available notification events:

Table 11.3: Individual Booking Notification Events

EventDescription
Booking CreatedA new booking is created
Submitted for ApprovalBooking submitted for admin approval
Booking ApprovedBooking has been approved
Booking RejectedBooking has been rejected
Booking CancelledBooking has been cancelled
Resource CollectedResource has been collected
Resource ReturnedResource has been returned
Booking ExtendedBooking end time has been extended
Booking ReminderReminder sent 24 hours before booking
Collection ReminderReminder to collect resource when booking starts
Return ReminderReminder sent 1 hour before return time
Overdue ReturnResource return is overdue

Table 11.4: Group Booking Notification Events

EventDescription
Group Booking CreatedA group booking is created
Group Booking ApprovedA group booking has been approved
Group Booking RejectedA group booking has been rejected
Group Booking CancelledA group booking has been cancelled
Group Resource CollectedGroup resources have been collected
Group Resource ReturnedGroup resources have been returned
Group Booking ExtendedA group booking has been extended

Table 11.5: Other Notification Events

EventDescription
Purchase Request SubmittedA purchase request has been submitted
Purchase Request Edited NewRequester edited a Submitted request — sent to Admin & Account
Purchase Request Account ReviewedA purchase request has been reviewed by Account
Purchase Request ApprovedA purchase request has been approved by Admin
Purchase Request RejectedA purchase request has been rejected
Purchase Request Pending PurchaseA purchase request is pending purchase
Purchase Request PurchasedA purchase request has been purchased
Review SubmittedA new review has been submitted

12.0 Operasi Sistem System Operations

Butang operasi tersedia di Dashboard atau halaman sistem:

Jadual 12.1: Operasi Sistem

OperasiKeterangan
Clear CacheBersihkan cache aplikasi
OptimizeOptimumkan pangkalan data dan cache
Backup DatabaseCipta salinan sandaran pangkalan data
Run SchedulerJalankan tugas berjadual secara manual
Health CheckSemak status kesihatan sistem
Amaran: Gunakan operasi ini dengan berhati-hati. Clear Cache boleh menyebabkan sesi pengguna tamat.

Operation buttons are available on the Dashboard or system page:

Table 12.1: System Operations

OperationDescription
Clear CacheClear the application cache
OptimizeOptimize the database and cache
Backup DatabaseCreate a database backup
Run SchedulerRun scheduled tasks manually
Health CheckCheck system health status
Warning: Use these operations with caution. Clear Cache may cause user sessions to expire.

13.0 Profil & Notifikasi Profile & Notifications

13.1 Profil

URL: /profile

Kemaskini maklumat peribadi sama seperti peranan lain:

  • Nama, IC, e-mel, telefon, jabatan
  • Gambar profil
  • Kata laluan

13.2 Notifikasi

URL: /notifications

Jenis notifikasi untuk Superadmin:

Jadual 13.1: Jenis Notifikasi Superadmin

JenisKeterangan
System AlertsAmaran sistem (kegagalan e-mel, isu pangkalan data)
User RegistrationPendaftaran pengguna baru
Missing ItemsSumber dilaporkan hilang
Audit AlertsAktiviti mencurigakan

13.1 Profile

URL: /profile

Update personal information, same as other roles:

  • Name, IC, email, phone, department
  • Profile photo
  • Password

13.2 Notifications

URL: /notifications

Notification types for Superadmin:

Table 13.1: Superadmin Notification Types

TypeDescription
System AlertsSystem warnings (email failures, database issues)
User RegistrationNew user registrations
Missing ItemsResources reported as missing
Audit AlertsSuspicious activity

14.0 Rujukan Status Status Reference

Berikut ialah senarai status tempahan yang digunakan dalam sistem RD BookHub.

Jadual 14.1: Senarai Status Tempahan

Below is the list of booking statuses used in the RD BookHub system.

Table 14.1: Booking Status List

Status WarnaColour KeteranganDescription
Pending KuningYellow Menunggu kelulusan adminAwaiting admin approval
Approved HijauGreen Diluluskan, sedia untuk kutipanApproved, ready for collection
Rejected MerahRed Tidak diluluskanNot approved
Collected Biru mudaLight Blue Sumber telah dikutipResource has been collected
Overdue Merah mudaLight Red Lewat dipulangkan (tarikh tamat sudah lepas)Past the return deadline
Completed SianCyan Tempahan selesai — sumber tanpa kutipan fizikal (cth: bilik mesyuarat) selepas tarikh tamatBooking completed — non-collection resource (e.g. meeting room) past end date
Missed OrenOrange Diluluskan tetapi tidak dikutip (tarikh tamat sudah lepas) — sumber memerlukan kutipan fizikalApproved but not collected (past end date) — resource requires physical collection
Returned BiruBlue Sumber telah dipulangkanResource has been returned
Cancelled KelabuGrey Tempahan dibatalkanBooking cancelled

14.1 Aliran Status 14.1 Status Flow

Pending Approved Collected Returned
Pending juga boleh → Rejected / Cancelled Pending may also → Rejected / Cancelled
Approved yang tidak dikutip selepas tarikh tamat → Missed (paparan sahaja, sumber memerlukan kutipan) Approved not collected after end date → Missed (display only, collection-required resources)
Approved selepas tarikh tamat (tanpa kutipan fizikal) → Completed (paparan sahaja, cth: bilik mesyuarat) Approved past end date (no physical collection) → Completed (display only, e.g. meeting rooms)