| | 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. |