Nowe komponenty: CalendarBooking, rezerwacja pokoi

Październik 6th, 2011 przez admin


Ten nowy komponent ‘CalendarBooking’, pozwala na dodanie kalendarza/formularza rezerwacji do witryny internetowej. Oprócz tego pokazuje aktualną dostępność pokoi i cenę. Komponent pozwala użytkownikowi wybrać zakres dat, które mogą być wykorzystane jako podstawa wniosku o rezerwację.

ceny za pokój i status rezerwacji są są konfigurowane za pomocą pliku tekstowego, który wysłanego na stronę. Zmiany są możliwe poprzez edycje tego pliku i wysłanie go na serwer. Re publikowanie strony internetowej nie jest wymagane. Można rozbudować to, tworząc plik php zamiast pliku tekstowego, który zajrzy do bazy danych np. mysql i zwróci dane na wyjściu w postaci tekstu.

Kolory, czcionki i tekst mogą być zmienione za pomocą panelu parametrów dla komponentu.

 

 

Pobieranie

Komponent będzie współpracować z SWiSH Max4 i miniMax4 data wydania (build) 20110620 lub nowszych, i chociaż te komponenty nie są obecnie dołączane do instalatora 20110620, mogą być pobrane tutaj. Po pobraniu rozpakować pliki z pliku zip do:

C:\Program Files\SWiSH Max4\Components\Date and Time

Dokładna lokalizacja może być różna w zależności od miejsca instalacji Max4, lub miniMax4. Zamierzamy zawrzeć te komponenty w przyszłych wydaniach Max4 i miniMax4. Na systemach x64, Max4 i miniMax4 są domyślnie instalowane do  C:\Program Files (x86)\…

Przykładowy plik .swi z powiązanym tekstowym plikiem konfiguracyjnym może być pobrany tutaj.

Przykład

Poniższy przykład demonstruje komponent. Po wyborze dat, okno potwierdzenia jest pokazywane, które odpytuje użytkownika czy zakończyć proces. Gdy to okno jest ignorowane lub zamykane dodatkowe daty mogą być dodane do wybranych dat. Gdy daty są już wybrane, status wyboru można przełączać wybierając go ponownie. Kiedy proces selekcji jest kompletny, przycisk Submit Booking jest używany , aby zakończyć proces selekcji.

Po zakończeniu procesu wyboru, funkcja użytkownika jest wołana. Funkcja obsługi zdarzeń ma 2 parametry, n i v. Parametr n zawiera nazwę obiektu z którego zdarzenie pochodzi (w tym przypadku “CalendarBooking”) i parametr v zawiera listę zarezerwowanych terminów przekazaną jako ciąg znaków. Daty te są w formacie YYYYMMDD. Każda data jest oddzielona spacją. W powyższym przykładzie, daty te są wyświetlane w dolnym polu przewijanego tekstu.

Funkcja zdarzeń używana przez Przykład jest podana poniżej:

function Events(n,v) {
    trace(n add ":" add v);
    textscroll.SetText("Booking made for: " add v);
}

Plik konfiguracyjny

Plik konfiguracyjny jest ładowany za pomocą polecenia skryptu loadVariables(). W związku z tym, składa się w całości z deklaracji ze zmiennych Flash. Przykład pokazano niżej:

&startdate=D20110801&
&D20110801=0,$180.00&
&D20110802=0,$180.00&
&D20110803=2,$150.00&
&D20110804=2,$180.00&
&D20110805=0,$250.00&
&D20110806=0,$250.00&
&D20110807=0,$180.00&
&D20110823=0&
&D20110825=1&
&D20110831=2&
&D20110904=0&
&D20110920=1&
&D20110928=0&
&D20111009=2&
&D20111011=0&
&D20111225=0,$280.00&
&D20111226=0,$280.00&
&D20120101=2,$180.00&
&D20120102=2,$180.00&
&D20120103=0&
&D20120214=1&
&D20120215=0&
&D20130601=1&
&D20130615=0&
&last=true&

Symbole & służą do oddzielania poszczególnych definicji zmiennych. Umieszczenie tych symboli na początku i na końcu każdej linii pozwala na zdefiniowanie jednej zmiennej w danej linii i sprawia, że czytanie i edycja jest prostsza.

Pierwsza zmienna startdate określa począktkową datę, , którą należy uwzględnić podczas ładowania wartości. Ceny pokoi i status jest ustawiany do tej daty i następnych. Format ma postać DYYYYMMDD , gdzie D oznacza dzień tygodnia, YYYY to rok, MM miesiąc i DD to dzień. Zmienna last w zamierzeniu ma być ostatnią zdefiniowaną zmienną. Zmienna ta musi być umieszczona na końcu listy. Jest używana do wskazania, kiedy wszystkie zmienne zostały załadowane.

Pozostałe zmienne są używane do określenia statusu i ceny za pokój dla danych dat. Nazwa zmiennej jest używana by oznaczyć datę. Nazwy mają format: DYYYYMMDD. Sens jest taki sam jak opisano powyżej dla zmiennej firstdate.

np. D20110915 to Wrzesień 15 2011

Wartości w prawo wskazują status i ewentualnie cenę pokoju. Status jest określony przez liczby 0, 1 i 2.
0 wskazuje dostępność, 1 wskazuje na wstępnie zarezerwowane (rezerwacja była, ale nie dotarła za nią płatność, tj. nie wiążącej rezerwacji online) i 2 wskazuje wiążącą rezerwację online ( pieniądze otrzymane ).

Cena pokoju dla określonej daty może być opcjonalnie określona przez przecinek i następnie cena np. “,$250.00″.

np. D20110915=2,$213.00 oznacza, że 20110915 jest zarezerwowane i domyślna cena za pokój na ten dzień (czwartek) to teraz $213.00

Zdefiniowany status pozostanie do kolejnej zmiany statusu. Np.:

&D20110823=0&
&D20110825=1&
&D20110831=2&
&D20110904=0&

wskazuje, że pokój nie zarezerwowany w 20110823-20110824, wstępna rezerwacja od 20110825 do 20110830, i wiążąca rezerwacja od 20110831 do 20110903, pokój dostępny od 20110904.

W podobny sposób, określone stawki za pokój pozostaną aż do kolejnego zdefiniowania. Jednak, w przeciwieństwie do statusu, cena pokoju jest definiowana dla danego dnia tygodnia: Mon, Tues, Wed etc. Cena pokoju dla poniedziałku będzie tylko zmieniana w kolejnej definicji dla poniedziałku.

Oznacza to, że domyślne ceny pokoju powinny być zdefiniowane dla każdego dnia tygodnia, lub zdefiniowane po startdate. W przykładowym pliku konfiguracyjnym  ceny za pokój są określone przez następujące linie:

&D20110801=0,$180.00&
&D20110802=0,$180.00&
&D20110803=2,$150.00&
&D20110804=2,$180.00&
&D20110805=0,$250.00&
&D20110806=0,$250.00&
&D20110807=0,$180.00&

W tym przykładzie D20110803 jest w środę a tym samym cenę domyślną w środę jest definiowana na $150.00. Ta zdefiniowana cena pokoju pozostanie do kolejnej definicji ceny w środę.

Aby zminimalizować czas ładowania, zaleca się, by zmienne o datach wcześniejszych niż bieżąca były usuwane z początku pliku konfiguracyjnego. Podczas tego procesu, należy zachować ostrożność, aby zapewnić, że zmienna startdate jest odświeżona i domyślny status  ceny pokoi było określone bezpośrednio po nowej zmiennej startdate. Zazwyczaj to przycinanie następuje co 3 miesiące.

Parametry

Event Function

Funkcja zdarzeń jest wołana po zakończeniu procesu wyboru. Wybrane terminy są przekazywane do funkcji użytkownika poprzez drugi parametr (v). Daty są przekazywane w liście oddzielonej spacją w formacie YYYYMMDD.

Booking Data

Określa nazwę pliku konfiguracyjnego. Pełny adres URL może być podany, ale jeśli jest pominięty, zakłada się, że plik w tym samym folderze, co . swf.

Text Properties

Określa kolor, czcionkę, rozmiar i inne atrybuty wyświetlanego tekstu w każdym z pól daty. Date odnosi sie do liczby Date, Status odnosi się do wyświetlanego kodu status lub ceny pokoju.

Status Colors

Określa kolor paska statusu,, który jest stosowany do każdego z kodów stanu (0 = Dostępny 1=Wstępna rezerwacja, 2=Rezerwacja wiążąca).

Month Colors

Definuje sekwencję kolorów stosowanych do każdego miesiąca. Różne kolory są używane do wskazania rozpoczęcia  nowego miesiąca. Całkowita liczba kolorów jest określona przez parametr Colors. Może to być 2, 3, 4, 6 lub 12. Gdy 2 jest wybrany, to następuje cykl kolorów między C0 i C1, Gdy 3 jest wybrane, to następuje cykl pomiędzy C0, C1, C2. W ten sposób różne schematy kolorów mogą być wybrane.

Heading

Pozwla na zmianę właściwości tkestu i koloru tła nagłówka.

Dictionary

Pozwla na na redfiniowanie lub tłumaczenie wszystkich tekstów. Day Names to rozdzielone przecinkiem nazwy dni tygodnia. To musi się zaczynać od poniedziałku. Month Names to rozdzielone przecinkiem nazwy miesięcy zaczynając od Stycznia. Status Names to rozdzielone przecinkiem opisy statusu: Available,Pending,Booked. Book Button, Book Button Tooltip, Cancel Button i Cancel Button Tooltip określają etykiety przycisku i dymki .

Testowanie

W swojej domyślnej konfiguracji, komponent odnosi się do pliku konfiguracyjnego rezerwacji używanego przez ten artykuł blog. Do normalnego użytkowania, musisz zmienić parametr Booking Data tak, że odnosi się do własnego pliku lokalnego.

Jako komponent wymaga pliku konfiguracyjnego danych do załadowania, upewnij się,  że folder Test/Load  w preferencjach Odtwarzacza  (zobacz Narzędzia | Preferencje | Odtwarzacz) jest prawidłowo zdefiniowany.

Jeśli wybierzesz opcję SWI folder , upewnij się, że zapisałeś swój plik .swi, tak by folder SWI był zdefiniowany przed testowaniem. Brak poprawnie zdefiniowanego foldera Test / Load , błędne nazwanie pliku danych w parametrze Booking Data lub brak określenia zmiennych firstdate lub last w pliku konfiguracyjnym może powodować  wyświetlania błędów podobnych do pokazanego powyżej.

 

.