Billig salkart

Salkart støtte i billig ble lagt til som en del av UKA-07 utvidelsen. Målet er å kunne gjennomføre plassreservering til Revyen.

Salg av salkartbilletter

Alle billetter før Billig 2.0 hadde samme billettgruppe («Standard billettgruppe»). Dette er egnet når alle billetter til ett arrangement er av samme type. På revy'en har man kvadrant-, parkett- og ståbilletter. Disse er av forskjellig type og har derfor egne grupper. En gruppe kan i tillegg ha egenskapen salkartgruppe (is_theater_ticket_group som bool i databasen).

Ved salg av billetter til et arrangement med plassreservering vil alt oppføre seg som normalt frem til en ordre er opprettet er kjørt. Dvs, man velger pris gruppe og antall billetter og kjører create_purchase. Dersom create_purchase fullfører uten feil vil ordre bli opprettet og billettene være 'reservert' intill ordren blir satt til betalt eller den timer ut (timeout er 10 minutter). Webgrensesnittet vil nå vise et salkart der brukeren kan velge hvor han vil sitte. Dette gjelder både i Backoffice og i Boxoffice. Dersom det er solgt til flere arrangementer med plassreservering vil man velge for ett arrangement av gangen. (Begge grensesnitt har en del ekkel javascript kode, men har fallback til checkboxer). Kobling mellom billett og sete gjøres via assign_seat prosedyren i databasen.

Ettersom seteplassering velges blir billettene på ordren oppdatert. Dersom det er kjøpt både medlem og ikke-medlemsbilletter er det pr i dag ikke støtte for å bestemme hvilke av disse som skal være hvor. Dette ble ikke ansett for å være viktig.

Når alle setebilletter på en ordre er tilegnet et sete i databasen vil ordren settes som betalt i Backoffice, mens brukeren blir sendt til Paynet i Boxoffice.

Opprette salkart arrangementer

Det å bestemme hvilke seter som skal ha hvilke prisgrupper (som vil være nødvendig ved opprettelse av arrangementer med seteplassering) var ansett for å ha veldig mange hjørnetilfeller og gjøres veldig sjelden så det er ikke laget et webgrensesnitt for dette. Isteden er finnes et lite shell-script i bin katalogen til Billig hvor alle disse parameterne kan defineres nokså greit direkte i koden. Deretter kjøres scriptet én gang for hvert arrangement som skal opprettes. UKA vil i god tid vite hvilke dager revyen skal gå så dette kan gjøres på forhånd.

Dersom dette blir for tungvindt på ett eller annet tidspunkt er det bare å sette seg ned å kode.

Salkart i databasen

Et salkart i databasen består av innslag i to tabeller: theater, seat. Tabellen theater inneholder bare et unikt navn på layout og bør være på formen «Storsal Revy UKA-XX» (eller lignende). Seat er setene knyttet til et salkart og har x og y koordinater som beskriver hvor setet hører hjemme på ett koordinatsystem. Merk at databasen her har en svakhet siden det ikke sjekkes at kombinasjonen x, y og theater er unik.

Når ett salkart arrangement opprettes vil det samtidig opprettes en rekke ticket_seat som skal være kobling mellom en billett og ett gitt sete. Koblingen til billett gjøres først når setene blir valgt til en gitt ordre. Når arrangementet opprettes blir isteden ticket_seat knyttet til en billett gruppe. Dette er ikke en opplagt kobling i første omgang, men sier hvilken type billetter ett sete har for ett gitt arrangement. Dette kan endres pr arrangement og er derfor ikke en del av salkart delen.

Opprette nye salkart

Å opprette salkart ble også ansett som å være en operasjon som gjøres sjelden og med mange hjørnetilfeller. Derfor finnes det pr i dag ingen grensesnitt for å gjøre dette. Det finnes et sql-script som ble brukt for å lage det som er i produksjon i dag.

Lenker: Start, billig

Epost: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2008-06-02 23:37 | Revisjon: 3 (historie, blame) | Totalt: 1886 kB | Rediger