| 1 | = Ogłoszenia gazetowe = |
| 2 | |
| 3 | == Podział wg rodzaju klienta == |
| 4 | |
| 5 | === Klient bez abonamentu === |
| 6 | 1. Płatność online |
| 7 | Klient zamawia ogłoszenia do gazety za pomocą systemu zamawiania, dodaje ogłoszenia do koszyka i płaci za zamówienie online. |
| 8 | W tej sytuacji mamy zapłacone zamówienie, które zawiera ogłoszenia z dodatkiem gazetowym, które powinno się ukazać w następnym wydaniu gazety. |
| 9 | |
| 10 | 2. Płatność za pomocą kredytu kupieckiego |
| 11 | Klient posiada pewien kredyt do wykorzystania na zamówienie produktów w systemie zamawiania. |
| 12 | Gdy wartość zamówienia nie przekracza wysokości kredytu kupieckiego klient nie musi płacić online za takie zamówienie, może zapłacić przelewem w późniejszym terminie. |
| 13 | Wówczas tworzymy zamówienie, które zawiera ogłoszenia z dodatkiem gazetowym, które powinno się ukazać w następnym wydaniu gazety. |
| 14 | |
| 15 | === Klient z abonamentu === |
| 16 | W tym przypadku nie mamy do czynienia z koszykiem, mamy za to aktywny abonament, w ramach którego klient może dodawać ogłoszenia. |
| 17 | Każde z ogłoszeń abonamentowych może mieć dodany pakiet gazetowy. Za pakiet gazetowy klient powinien zapłacić dodatkowo. |
| 18 | Podczas generowania (na żądanie) ogłoszeń gazetowych powinniśmy dla każdego klienta posiadającego abonament i aktywne ogłoszenia z dodatkiem gazetowym: |
| 19 | * utworzyć zamówienie na ogłoszenia gazetowe, ale tylko wtedy gdy wartość tego zamówienia nie przekracza wysokości kredytu kupieckiego |
| 20 | * w przypadku gdy wartość zamówienia przekracza wysokość kredytu kupieckiego wysyłamy maila klientowi z informacją, że jego ogłoszenia gazetowe się nie ukażą w najnowszym wydaniu, bo ma jakieś zaległości lub wartość zamówienia przekracza dopuszczalny kredyt kupiecki. |
| 21 | * tylko te ogłoszenia, dla których zostały utworzone zamówienia przekazujemy do produkcji gazety |
| 22 | |
| 23 | === Generowanie === |
| 24 | Funkcja generująca ogłoszenia do gazety powinna posiadać przynajmniej jeden parametr: |
| 25 | * generateOrders [true, false] |
| 26 | Jeśli 'true' to wtedy powinny być utworzone zamówienia oraz wysłane maile do klientów. |
| 27 | Jeśli 'false' to zwracamy tylko ogłoszenia z dodatkiem gazetowym, które są aktualnie online. |
| 28 | |
| 29 | Funkcja z parametrem 'generateOrders = true' powinna zostać wywołana tylko raz na dane wydanie. |