Page 1 · Platform Overview
What this platform does
arroFly is a visa consultancy platform with a customer portal, a B2B marketplace for travel agencies and a complete admin back office. Customers and agencies submit single-page visa applications with documents; the internal team processes files, verifies payments, manages content and tracks every application with a unique tracking code.
User roles & access
| User type | Where they log in | What they can do |
|---|---|---|
| Customer | Login button (site navbar) | Apply for visas, upload documents, track applications, pay installments, chat with the assigned counselor. |
| Partner Agency (B2B) | Agency Login (navbar / login page) | Registers with trade licence, gets admin-verified, uploads many client passports and tracks its own files + commissioned files. |
| Super Admin / Admin | /admin | Everything: applications, agency approval, payments, accounting, content, settings, reports. |
| Visa Officer / Counselor | /admin | Process applications (counselors see the files assigned to them), appointments, tasks, leads. |
| Document Officer | /admin | Application file management and document verification tasks. |
| Accounts | /admin | Payment verification, invoices, expenditures, bank ledger, daily closing. |
Key URLs
- Website: https://www.arrofly.com
- Admin panel: https://www.arrofly.com/admin
- Agency login (Agency tab on the login page): https://www.arrofly.com/login?tab=agency
- Public tracking (no login): https://www.arrofly.com/track-visa
- PDF tools (public): https://www.arrofly.com/pdf-tools
- This guide: https://www.arrofly.com/user-guide
Page 2 · Setup & Demo Credentials
Getting started
- Start the application:
php artisan serve(or use your configured local domain) — assets vianpm run devornpm run build. - Seed the demo accounts (idempotent, safe to re-run):
php artisan db:seed --class=DemoUsersSeeder - Open the website and follow the walkthroughs on the next pages.
Demo credentials (all user types)
Created by the DemoUsersSeeder. These exist for manual testing only — remove them before going live.
| User type | Password | Notes | |
|---|---|---|---|
| Super Admin | superadmin@demo.test | SuperAdmin123! | Full access to everything. |
| Admin | admin@demo.test | Admin123! | Same modules as Super Admin. |
| Visa Officer | officer@demo.test | Officer123! | Applications, appointments, tasks, leads. |
| Counselor | counselor@demo.test | Counselor123! | Sees only applications assigned to them. |
| Accounts | accounts@demo.test | Accounts123! | Payments, invoices, expenditures, ledger. |
| Document Officer | docofficer@demo.test | DocOfficer123! | File manager & documents. |
| Agency (approved) | agency@demo.test | Agency123! | B2B portal ready — “Demo Sky Travel Agency”. |
| Agency (pending) | pending.agency@demo.test | Pending123! | “Pending Ocean Tours” — blocked until an admin approves. |
| Customer | customer@demo.test | Customer123! | Has one sample application with a tracking code. |
Page 3 · Customer Journey
Testing as a customer
Login with customer@demo.test / Customer123!
- Dashboard. After login you land on the dashboard — the seeded sample application appears with its tracking code (format ARRO-XXXXXXXX) and payment progress.
- Browse visas. Home → Countries or Services → open any visa card to see details (fee, processing time, requirements, checklist).
- Apply. From the visa detail page press Apply. The single-page form opens with five sections:
- Applicant Information — name, mobile, optional email, country of application, addresses, previous travel (+ visited country rows).
- Personal & Family — marital status (spouse fields appear when Married), religion, gender, guardian, occupation & education checkbox-gated tables.
- Destination & Visa Service — locked to the selected visa.
- Passport Credentials — number, expiry (must be 6+ months valid), passport books, lost passport.
- Document Submissions — Passport scan, Photo & Police Clearance required (+ GD copy PDF when lost passport = Yes); optional extras depend on the visa type.
- Validation check. Press Submit File For Processing with empty fields — every missing required field and document is listed at once; the sidebar shows a live Documents Ready counter.
- Submit. Fill everything, tick the declaration checkbox and submit — a success panel shows your official tracking ID, plus View HTML Email Table (live preview / HTML code / copy / download), Print / Save as PDF (multi-page A4 file copy) and New Application.
- Track. Dashboard → the application → status timeline, uploaded documents grouped by folder, appointments, payment summary.
- Pay. From the application view press Make a Payment, choose a payment step & method, submit the transaction (bKash/Nagad style details) — the invoice becomes downloadable once Accounts approves it.
- Chat. Open the conversation on an application and exchange messages with the assigned counselor.
- Public tracking. Log out, open Visa Tracker and search by tracking code (no login needed).
Page 4 · Agency (B2B) Journey
Testing as a travel agency
- Find the entry point. Press Login on the site navbar and switch to the Agency Login tab (customer and agency login share one page).
- Register the business. On Register your Agency submit: Business/Agency Name, Owner Name, email, phone, password, Trade Licence copy (JPG/PNG/WEBP/PDF) and Owner photo. The request is stored as Pending Verification — no portal access yet.
- Confirm the lock. Try logging in with
pending.agency@demo.test / Pending123!— the portal refuses with “pending admin verification”. - Admin approves. As
superadmin@demo.testopen the admin panel → Partner Agencies → review the trade licence → press Verify & Approve. The agency turns Active and its login receives the Partner Agency role. - Agency login. Log in on the Agency Login tab with
agency@demo.test / Agency123!— you land on the dashboard. - Upload many passports. Browse visas and submit the single-page application once per client passport — every submission gets its own tracking code and appears on the agency dashboard.
- Track your own files. Admin panel → Visa Applications: the agency sees exactly the passports it uploaded plus any files linked to it through commissions — never other agencies’ files.
- Suspension check (optional). An admin can set the agency to Suspended — its portal login is then blocked until reactivated.
Page 5 · Admin & Staff Journey
Testing the back office
Login at https://www.arrofly.com/admin as superadmin@demo.test / SuperAdmin123!
- Dashboard. Widgets show application counts, revenue, pending payments and charts (reports page has the detailed breakdown).
- Process an application. Visa Applications → open one: the processing page shows every form section (applicant, passport, employment & education history, travel, declaration), total paid/due, plus tabs for the Document File Manager, Internal Notes, Appointments and Tasks.
- Assign a counselor. Use the Assign table action — the counselor then sees this file (and only their files) in their own panel; chat opens between them and the customer.
- Change status. Edit the application status — every change is written to the status log timeline the customer sees.
- File manager. Upload missing documents straight into the correct folder (one upload action per document type) or replace/delete files.
- Approve agencies. Partner Agencies → pending requests carry a Verify & Approve action; manage commission records here too.
- Content management. Services (photo auto-crops to 800×800, required), Countries (flag image optional), Categories (icon optional + per-category document checklist), Pages, News, FAQs, Testimonials, Site Settings.
- Payments & accounting (Accounts role). Verify customer transactions (pending → paid) so invoices unlock; manage expenditures, bank ledger and daily closing.
- Leads CRM. Track prospective clients with activities and conversion status.
Role scope sanity checks
- Counselor login sees only assigned applications (assign one first as admin).
- Document Officer login reaches applications & tasks for file handling.
- Accounts login reaches financial modules but not content management.
- Customer login at
/adminis forbidden.
Page 6 · Manual QA Checklist
Quick step-by-step checklist
| # | Check | Login as | Result |
|---|---|---|---|
| 1 | Customer dashboard shows the seeded application + tracking code | Customer | ☐ Pass ☐ Fail |
| 2 | Apply form blocks submission until all required fields & 3 required documents are provided | Customer | ☐ Pass ☐ Fail |
| 3 | Lost passport = Yes adds the GD copy (PDF) requirement; switching back to No removes it | Customer | ☐ Pass ☐ Fail |
| 4 | Passport expiry under 6 months is rejected | Customer | ☐ Pass ☐ Fail |
| 5 | Success panel: tracking ID, HTML email table, print / save as PDF, new application | Customer | ☐ Pass ☐ Fail |
| 6 | Payment submission creates a pending transaction; invoice downloads after approval | Customer + Accounts | ☐ Pass ☐ Fail |
| 7 | Public tracking finds the application by tracking code without login | Guest | ☐ Pass ☐ Fail |
| 8 | Agency registration stores business name, trade licence & owner photo as pending | Agency (new) | ☐ Pass ☐ Fail |
| 9 | Pending agency is blocked at the Agency Portal | Agency (pending) | ☐ Pass ☐ Fail |
| 10 | Admin “Verify & Approve” activates the agency; its login then works | Super Admin + Agency | ☐ Pass ☐ Fail |
| 11 | Agency sees only its own + commissioned applications in the panel | Agency | ☐ Pass ☐ Fail |
| 12 | Counselor sees only assigned applications after assignment | Counselor | ☐ Pass ☐ Fail |
| 13 | Status changes appear in the customer tracking timeline | Admin + Customer | ☐ Pass ☐ Fail |
| 14 | Service photo is cropped to 800×800 on upload; country flag / category icon optional | Admin | ☐ Pass ☐ Fail |
| 15 | Accounts: payment verification, invoice, expenditure & daily closing work | Accounts | ☐ Pass ☐ Fail |
Automated coverage: the full test suite (php artisan test)
already verifies these flows — this checklist is for hands-on acceptance testing of the same steps.