Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Rezerwacje biletów
bubx2k
post
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 1
Dołączył: 17.11.2014

Ostrzeżenie: (0%)
-----


Cześć,
poszukiwałem dłuższy czas rozwiązania (gotowego) dla rezerwacji biletów, głównie na spektakle. Na każdy spektakl może być kilka typów biletów w różnych cenach. Nie odnalazłem rozwiązania spełniającego takie wymagania. Stąd dzisiaj pomyślałem nad własną implementacją.

Kwestia logiki i bazy danych.

Każde wydarzenie ma tytuł, opis i obrazek. Do każdego wydarzenia mogą być różne bilety. Tą część realizują tabele "Wydarzenie", "Wydarzenie_typ_biletu" oraz "Typ_biletu".

Tabela "Kalendarz" ma za zadanie przechowywać listę wydarzeń.

Problem mam z dwiema ostatnimi tabelami "Rezerwacja" oraz "Klient". Rezerwacja biletów ma być dostępna bez rejestracji. Wybór biletów i ich ilości, następne potwierdzenie zakupu utworzy w tabeli "Rezerwacja" stosowną ilość wpisów. Następnie klient będzie musiał podać dane, które zostaną zapisane w tabeli "Klient".

Domyślnie wpis w tabeli "Rezerwacja" otrzyma status 'w trakcie', do momentu potwierdzenia płatności (przez np. DotPay).

W tabeli "Rezerwacja" jest też pole "timeout". Zadaniem pola jest przechowanie daty ważności rejestracji, np 20 minut od momentu rozpoczęcia procesu do momentu potwierdzenia płatności. Celem tego jest uniknięcie sytuacji sprzedania nadwymiarowych biletów. Czyli jeśli rezerwacja jest "w trakcie", timeout jeszcze nie upłynął to od ilości dostępnych biletów odejmuję ilość biletów z rezerwacji. W przypadku kiedy rezerwacja jest "w trakcie", timeout już upłynął to nie uwzględniam tej rezerwacji w obliczaniu ilości dostępnych biletów.

Co myślcie o takim rozwiązaniu? Jakieś zastrzeżenia, pomysły?

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
DamianRastMan
post
Post #2





Grupa: Zarejestrowani
Postów: 26
Pomógł: 2
Dołączył: 3.04.2015

Ostrzeżenie: (0%)
-----


Myślę, że powinieneś rozdzielić czas oczekiwania na ukończenie czynności rezerwacji, od czasu oczekiwania na wpłynięcie wpłaty.

Tj. Aby użytkownik, który właśnie w tej chwili rezerwuje bilety(wybrał ich ilość i ją zaakceptował, a teraz podaje dane osobowe itd), miał pewność, że nikt mu ich nie zwinie sprzed nosa.

Ale również, aby użytkownik, który zakończył proces rezerwacji, ale nie wpłynęła zapłata, stracił ważność swojej rezerwacji po określonym czasie, o ile uwzględniasz możliwość zapłaty która może potrwać dłużej niż 20minut. Dajmy na to przelew bez konta internetowego.

Czyli: Użytkownik wpisuje ilość biletów i klika rezerwuj (od tej chwili ma 20 minut, na ukończenie procesu rezerwacji na stronie), następnie otrzymuje np. 3dni robocze na wpłatę pieniędzy w przeciwnym wypadku bilety wracają do puli. Tutaj ważne, żeby w jakiś sposób zabezpieczyć się przed osobami które zechcą specjalnie sabotować stronę rezerwując nieopłacone bilety.
Go to the top of the page
+Quote Post
bubx2k
post
Post #3





Grupa: Zarejestrowani
Postów: 30
Pomógł: 1
Dołączył: 17.11.2014

Ostrzeżenie: (0%)
-----


Wpłata będzie możliwa tylko przez dotpay, wykluczam opcję normalnego przelewu, wymagałoby to interwencji użytkownika, a ją chcę zminimalizować.
Zakładam 20-30 minut na wpłatę, w moim odczuciu będzie to dobry przedział czasu.

Kwestia sabotowania - dałeś mi do myślenia smile.gif
Go to the top of the page
+Quote Post
Rysh
post
Post #4





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

Ostrzeżenie: (0%)
-----


Cytat(bubx2k @ 10.01.2016, 18:17:25 ) *
Wpłata będzie możliwa tylko przez dotpay, wykluczam opcję normalnego przelewu, wymagałoby to interwencji użytkownika, a ją chcę zminimalizować.
Zakładam 20-30 minut na wpłatę, w moim odczuciu będzie to dobry przedział czasu.

Kwestia sabotowania - dałeś mi do myślenia smile.gif

Dotpay też umożliwia wpłatę na konto za pomocą zwykłego przelewu. Więc nie możesz wykluczyć że płatność dostaniesz po 1-2 dniach.


--------------------
Go to the top of the page
+Quote Post
markonix
post
Post #5





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Można ustawić, że akceptowane są tylko formy płatności w trybie on-line (przynajmniej da się tak w tPay, w DP pewnie też).
Poza tym DotPay pewnie też może wysyłać informacje o zainicjowanej płatności i jej rodzaju - to można uznać jako punkt początkowy dla owej rezerwacji.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 18:53