# BiznisPortal Partner Mobile v2 Plan

## Cilj

## Status sprintova

- `Sprint A` — završen
- `Sprint B` — završen
- `Sprint C` — završen
- `Sprint D` — završen
- `Sprint E` — završen

BiznisPortal Partner treba da preraste iz portala koji može da se doda na početni ekran u pravi mobilni alat za klijente, sa jasnim fokusom na:

- dokazivanje vrednosti paketa
- brzu reakciju na leadove i komercijalne prilike
- lakše održavanje profila sa telefona
- veće zadržavanje klijenata i lakšu obnovu paketa

Ova faza ne uvodi odmah punu native aplikaciju po svaku cenu. Prvo gradimo ono što najbrže donosi poslovnu vrednost, a zatim odlučujemo da li ostajemo na PWA + wrapper modelu ili prelazimo na punu native verziju.

## Poslovni cilj

Partner aplikacija mora da omogući klijentu da u roku od 10 sekundi sa telefona vidi:

- koliko je ljudi videlo profil
- koliko je ljudi kliknulo ili pozvalo
- da li postoji novi lead ili nova poruka
- da li ističe paket ili isticanje
- da li treba da pošalje novu sliku, cover ili izmenu profila

Drugim rečima, aplikacija ne služi samo da "postoji", nego da klijentu pokaže zašto BiznisPortal plaća i zašto treba da obnovi ili upgrade-uje paket.

## Šta je Mobile v2

Mobile v2 obuhvata:

1. Push notifikacije
2. Kamera upload i brže slanje materijala iz telefona
3. Brze lead alert-e
4. Jasan put:
   - `PWA + installable app` odmah
   - `Capacitor wrapper` kao sledeći korak
   - `full native` samo ako metrika opravda investiciju

## Osnovni princip

Faza 1 ne pravi "još jednu javnu direktorijum aplikaciju".

Pravimo `Partner aplikaciju za klijente`.

To znači:

- fokus nije na krajnjim korisnicima sajta
- fokus je na firmama koje plaćaju profile, module i isticanja
- aplikacija je alat za zadržavanje klijenata, obnovu i upgrade

## Faza 1 — PWA Plus

Ovo je sledeći najpametniji i najjeftiniji korak.

### Funkcije

- installable partner aplikacija
- login i sesija za klijente
- analytics dashboard
- PDF izveštaji
- notifikacije u aplikaciji
- portal zahtevi
- naplata i pregled računa
- kamera upload kroz mobilni browser / instaliranu aplikaciju
- lead signal kartice

### Zašto ova faza ide prva

- najmanji trošak
- najbrža isporuka
- koristi postojeći kod i backend
- može odmah da se testira sa pravim klijentima
- odlična osnova za wrapper ili native kasnije

### Šta dodajemo u ovoj fazi

#### 1. Push notifikacije

Push treba da pokriva:

- novi lead
- novi klik na poziv ili kontakt
- nova recenzija
- odgovor admin tima na zahtev
- izdat račun
- paket uskoro ističe
- placement uskoro ističe
- pad performansi ili rast performansi

Prioritet:

- `kritično`: novi lead, novi zahtev admin tima, račun, istek paketa
- `važno`: rast performansi, pad performansi, nova recenzija
- `sekundarno`: marketinške poruke i upgrade preporuke

#### 2. Kamera upload

Korisnik iz aplikacije mora moći da:

- fotografiše logo
- fotografiše cover materijal
- doda galeriju iz telefona
- doda PDF, cenovnik ili vizual
- odmah pošalje admin timu zahtev za zamenu

UX pravilo:

- prvo bira tip zahteva
- zatim bira `snimi kamerom` ili `izaberi iz galerije`
- dobija pregled priloga
- šalje zahtev u jednom toku bez komplikacije

#### 3. Brzi lead alert-i

Lead alert ne sme da bude samo generička notifikacija.

Treba da postoji poseban blok:

- `Novi leadovi danas`
- `Kontakt klikovi`
- `Pozivi`
- `Upiti / rezervacije`
- `Najaktivniji sadržaj`

Klijent mora da dobije i mini objašnjenje:

- šta se desilo
- na kom sadržaju
- iz kog modula
- da li treba da reaguje

#### 4. Quick actions

Na mobilnom početnom ekranu partner aplikacije treba da postoje 4 najvažnije akcije:

- `Pošalji izmenu profila`
- `Dodaj nove slike`
- `Pogledaj statistiku`
- `Plati / obnovi paket`

## Faza 2 — Capacitor Wrapper

Kada PWA bude potvrđena u radu, ide wrapper faza.

Ovo znači:

- zadržavamo postojeći web kod
- pakujemo aplikaciju za Android i iOS
- otključavamo bolju integraciju sa:
  - push notifikacijama
  - kamerom
  - file picker-om
  - deep link-ovima
  - native share sheet-om

### Zašto wrapper ima smisla

- brže od pune native aplikacije
- manje održavanja
- koristi isti backend i UI osnovu
- dovoljan za partner/business app use case

### Šta wrapper mora da donese

- stabilan login i čuvanje sesije
- native push token registraciju
- bolji camera / gallery upload
- opening specific sections via push:
  - `/portal#analitika`
  - `/portal#naplata`
  - `/portal#zahtevi`
  - `/portal#notifikacije`
- badge count na aplikaciji ako platforma podržava

## Faza 3 — Full Native, samo ako treba

Puna native aplikacija ima smisla tek ako imamo dokaz da partner app zaista aktivno koriste klijenti.

### Uslovi da pređemo na full native

- najmanje `150-300` aktivnih partner naloga
- najmanje `40%` mesečno aktivnih korisnika aplikacije
- veliki broj push otvaranja
- wrapper postane ograničenje za performanse ili UX
- postoji potreba za:
  - naprednim background task-ovima
  - mnogo boljim offline radom
  - dubokim native integracijama

Ako toga nema, wrapper je dovoljno dobar.

## Tehnička arhitektura

### Backend

Postojeći backend ostaje osnova. Dodajemo sledeće slojeve:

#### Mobile device registry

Treba uvesti model tipa:

- `ClientDevice`
  - `id`
  - `clientAccountId`
  - `platform`
  - `deviceName`
  - `pushToken`
  - `browserId`
  - `appVersion`
  - `lastSeenAt`
  - `notificationsEnabled`

Svrha:

- znamo koji klijent ima koji uređaj
- možemo slati push na konkretan uređaj
- možemo ugasiti nevažeće tokene

#### Notification event pipeline

Treba uvesti event tipove:

- `LEAD_NEW`
- `CALL_CLICKED`
- `EMAIL_CLICKED`
- `WEBSITE_CLICKED`
- `REVIEW_SUBMITTED`
- `REQUEST_UPDATED`
- `INVOICE_ISSUED`
- `PLAN_EXPIRING`
- `PLACEMENT_EXPIRING`
- `PERFORMANCE_UP`
- `PERFORMANCE_DOWN`

Svaki event treba da zna:

- kome ide
- koji je prioritet
- koji je deep link
- da li ide kao in-app
- da li ide kao push
- da li ide kao email

#### Lead rollup summary

Treba dnevno ili skoro real-time agregirati:

- broj novih lead akcija
- broj novih poziva
- broj novih email klikova
- broj unique visitors danas
- top sadržaj danas

To omogućava brzi mobile dashboard bez teških upita.

### Frontend

Partner mobilni početni ekran treba da ima:

1. Hero status
   - naziv profila
   - paket
   - da li je verifikovan
   - hitna upozorenja

2. KPI red
   - pregledi
   - pozivi
   - jedinstveni posetioci
   - novi leadovi

3. Quick actions
   - izmena profila
   - upload slika
   - naplata
   - isticanja

4. Lead feed
   - najnovije aktivnosti
   - top sadržaj
   - preporučena akcija

5. Notifications center
   - push/in-app poruke

## Push notifikacije — detaljan plan

### V1 push sadržaj

- `Novi lead`: "Vaš profil je upravo dobio novi upit."
- `Novi poziv`: "Na profilu je zabeležen novi klik na poziv."
- `Novi račun`: "Izdat je novi račun za vaš paket."
- `Isticanje uskoro ističe`: "Isticanje ističe za 3 dana."
- `Paket uskoro ističe`: "Paket ističe za 7 dana."
- `Rast performansi`: "Profil beleži rast od 35% u poslednjih 7 dana."

### Pravilo za buku

Ne šaljemo push za svaku sitnicu.

Treba imati throttling:

- više klikova u kratkom periodu grupisati
- isti tip poruke ne slati prečesto
- kritične poruke imaju prioritet

## Kamera upload — detaljan plan

### V1 tok

- korisnik ulazi u `Dodaj nove slike`
- bira:
  - `Snimi kamerom`
  - `Iz galerije`
- bira tip materijala:
  - logo
  - cover
  - galerija
  - dokument
- po potrebi dodaje napomenu
- šalje admin timu

### V2 tok

- crop / resize
- kompresija slika
- više upload-a odjednom
- preview pre slanja
- direktan upload u storage uz kasniji moderation korak

## Brzi lead alert-i — detaljan plan

### Cilj

Klijent ne sme da razmišlja "da li se nešto desilo".
Mora odmah da vidi:

- `Danas`
- `Juče`
- `Poslednjih 7 dana`

### Lead panel

Kartice:

- `Novi kontakt klikovi`
- `Novi pozivi`
- `Novi upiti`
- `Top objava`
- `Pad aktivnosti`

### Preporuke

Na osnovu statistike aplikacija treba da pokaže:

- "Dodajte nove fotografije, cover trenutno ima slab CTR."
- "Profil ima mnogo pregleda, ali malo poziva. Predlog: jači CTA."
- "Kategorija radi dobro, razmislite o isticanju u Beogradu."
- "Prodavnica ima rast, predlog: Platinum + Home placement."

## KPI za uspeh

Mobile v2 je uspešan ako postigne:

- `30%+` klijenata aktivira app na telefonu
- `25%+` klijenata otvara app bar jednom nedeljno
- `20%+` push open rate na važnim porukama
- `15%+` klijenata koristi upload iz telefona
- povećanje obnove paketa
- povećanje upgrade konverzije

## Šta ne treba raditi odmah

Ne treba odmah raditi:

- javnu consumer aplikaciju kao prioritet
- full native dve aplikacije paralelno
- kompleksan chat sistem
- potpun offline mode
- previše marketinških push poruka
- nepotrebno komplikovan mobile navigation sistem

## Preporučeni redosled implementacije

### Sprint A — Mobile v2 osnova

- `ClientDevice` model
- push permission UX
- device registracija
- mobile quick actions home
- lead summary kartice

### Sprint B — Push i lead alert-i

- event pipeline
- push templates
- deep link rutiranje
- grouping / throttling

### Sprint C — Kamera upload

- camera / gallery tok
- upload preview
- povezivanje sa portal zahtevima

### Sprint D — Wrapper

- Capacitor setup
- Android build
- iOS build
- push token integracija
- camera plugin integracija

### Sprint E — Sales intelligence layer

- smart preporuke
- renewal alert-i
- upgrade predlozi
- lead score i “šta uraditi dalje”

## Preporuka za BiznisPortal

Najpametniji put je:

1. Završiti `Partner App PWA Plus`
2. Dodati `push + kamera + lead alerts`
3. Onda ići na `Capacitor wrapper`
4. Full native samo ako realna upotreba to opravda

To je najbrži put da budeš mnogo bolji od 011info i NaVidiKu u delu koji njima najviše nedostaje:

- klijent ne dobija samo prisustvo
- klijent dobija alat za praćenje rezultata i upravljanje nastupom

## Zaključak

BiznisPortal Partner Mobile v2 ne treba da bude samo "aplikacija koju imamo jer i drugi imaju aplikaciju".

Treba da bude:

- alat za dokazivanje vrednosti
- alat za produženje paketa
- alat za upgrade
- alat za brzu reakciju na leadove
- alat za lakšu komunikaciju sa admin timom

Ako se uradi ovako, aplikacija postaje direktan prodajni argument i direktan retention alat, a ne samo dodatni trošak razvoja.
