Billig kravspec
Kravspec for Billig Enterprise. Hvis det er noe du vil legge til eller endre på, bruk "Rediger"-linken nederst.
Vi prøver å løse så få problemer som mulig i første versjon; hvis det er noe som faktisk kan vente til etter semesterstart H06, blir det mest sannsynlig fjernet fra den ferdige kravspec-en som skal bestemmes i januar 2006, men det er fortsatt positivt å tenke på det. (Ting som skal utsettes burde dog merkes som sådan på et eller annet vis.)
Overordnede mål
- Man ønsker å kunne selge billetter via www.samfundet.no, på KK og på mobile utsalgssteder (f.eks. Stripa og Dragvoll).
- Systemet skal være enkelt i bruk både for medlemmer og ikke-medlemmer, sikkert for brukerne, sikkert for Samfundet og stabilt. Færrest mulig skritt for en kjøper er et mål.
- Systemet må kunne slippe inn folk på konsert selv om Samfundets nettverk eller tjenere skulle gå ned. Det er ikke påtenkt noen spesielle løsninger for å kunne selge billetter dersom så skulle skje, derimot.
- Systemet må gjøre det enkelt å føre regnskap, ha fullstendige logger over hva som skjer og generelt hjelpe Samfundet med å opprettholde god regnskapsskikk.
- Systemet skal som hovedregel aksesseres via web, og skal fungere i alle større nettlesere (f.eks.: IE, Firefox, Opera, Safari), også i "høysikkerhets"-modus om relevant (mao.: uten JavaScript). Det skal følge standarder og god skikk for web-utvikling.
- Det skal være vanskelig å forfalske billetter e.l.; alle billett-IDer skal etterfølges av en HMAC slik at man ikke bare kan «finne opp» et nummer uten videre.
- Systemet skal ikke under noen omstendighet tillate at man selger flere billetter enn det er tilgjengelig for hvert arrangement.
Database
- Webgrensesnittene skal fortrinnsvis aksessere databasen vha. lagrede prosedyrer, slik at den blir vanskeligere å «tukle» med (sikkerhetsmessig) og eventuelle bugs får mindre nedslagsfelt. Dette gjør det også vesentlig enklere for f.eks. ISFiT å ha sitt eget frontend til databasen, men dette er ikke noe designmål for første versjon.
Billettformer
Man kan få billettene sine i tre former:
- Vanlig, der man kjøper billett på Stripa, KK eller andre egnede utsalgssteder.
- Hjemmebillett, der man kjøper billett på www.samfundet.no og får billetten som en PDF man kan skrive ut selv (både på skjerm samt i epost). Dersom man skulle miste denne, eller ikke ha skriver, kan man ta med referansenummeret til et utsalgssted og få skrevet ut billetten(e) på nytt.
- Billettløs reise, der man kjøper én medlemsbillett på enten www.samfundet.no eller på et utsalgssted, og får denne lagt inn på kortet sitt. Referansenummeret man får kan brukes til utskrift, som over. Billetten og eventuelle merbilletter kommer på vanlig måte per epost (man kan bare ha én billett på kortet sitt).
Billetter for et arrangement kan om ønskelig deles inn i flere prisgrupper, typisk medlem og ikke-medlem. Disse går av samme "haug" men kan ha forskjellig pris, og man kan begrense hvem som kan selges til medlemmer eller ikke.
Det er satt et tak på ni billetter av hver type per bestilling. Alle billettbestilling er gebyrfri.
Grensesnitt
www.samfundet.no
www.samfundet.no skal kunne:
- Liste opp kommende arrangementer, som i dag, med pris for forskjellige billettgrupper. (Hvorvidt vi kommer til å ha et liknende system som Folken har, der man kan kjøpe for alle arrangementer på arrangementsoversikten eller om man må inn på hvert arrangement, er enda ikke bestemt. Vi kommer til å teste dette for å se hva som passer best i henhold til både design og brukervennlighet. Om vi gjør det slik at man må inn på hvert arrangement, kommer vi til å lage ett handlekurvsystem, slik at man kan bestille billetter fra flere arrangementer samtidig).
- Begrense publiserte arrangementer, som i dag (så man ikke kan kjøpe billetter til arrangementet før det er lagt ut).
- Vise om et arrangement er utsolgt eller ikke. (Kjøpe-knappen går bort og det vil vises en uthevet beskjed om at arrangementet er utsolgt).
- La en bruker bestille en eller flere billetter av forskjellige kategorier (i praksis medlem/ikke-medlem), gjerne til flere forskjellige arrangementer samtidig om ønskelig.
- Integrere med medlemssidene, slik at folk automatisk får fylt ut e-postadresse o.l. hvis de er innlogget.
Når folk har valgt billetter, velger de enten:
- "vanlig bestilling", hvorpå de fyller ut epost-adressen sin, eller
- "billettløs reise", hvorpå de fyller ut brukernavn og passord for medlemsdatabasen (hvis de ikke allerede er innlogget)
Dette vil komme i en oversikt til slutt, slik at de ikke trenger å ta andre valg enn "Kjøp billett" når de er inne på det aktuelle arrangementet.
Deretter blir de videresendt til Paynet, og så tilbake til en bekreftelsesside der det står "du har nå kjøpt" osv.. Det vil også være mulighet til å åpne PDF-en som blir sendt på e-post, på bekreftelsessiden. E-post kommer som beskrevet i seksjonen over.
Dersom folk ikke har betalt billettene sine innen ca. ti minutter, vil de leveres tilbake i systemet. (Vi må sjekke Paynets timeouts her, så vi legger oss litt over dem. Dette sikrer at vi ikke får problemer der folk får betalt men ikke får billetten sin.)
billig.samfundet.no
billig.samfundet.no (som huser Billig Express og Billig Backoffice) skal, i samarbeid med administrasjonen for www.samfundet.no (aka start) kunne:
- Skille mellom forskjellig grad av tilgang (superbruker / billettselger).
- Fungere fra utenfor Samfundet, slik at man kan selge billetter på ambulerende utsalgssteder el.
Billettselger skal vha. Billig Express kunne
- Se hvor mange billetter der er igjen for en gitt konsert – men dersom det er over 20, skal det bare stå "over 20".
- Bestille billetter og skrive disse ut på angitt billettprinter. Billetter som selges eksternt er enten helanonyme (kun identifisert ut fra ordrenummer) eller registrert på et medlemskort (billettløs reise). I det siste tilfellet får ikke vedkommende billett (men derimot en epost med referansenummer, i tilfelle han/hun mister kortet sitt).
- Refundere valgfrie (ubrukte) billetter, samt bytte (ubrukte) billetter over i andre typer, atomisk (typisk noen som har kjøpt feil billett).
- Sjekke om det er billetter på et gitt kort, evt. se de siste N solgte ordre (i tilfelle noe slo krøll underveis).
- Printe eksisterende billetter på ny, gitt et referansenummer til en ordre.
Superbruker skal vha. Billig Backoffice dessuten kunne
- Lage nye konserter; definere publikasjonstidspunkt og pris for forskjellige billetter.
- Endre på verdiene over. (Det forutsettes at man ikke kan endre på pris på billetter som allerede er solgt.)
- Skrive ut salgsrapporter for hvert arrangement, med oversikt over hvor mange billetter det er solgt av hver type og samlet sum for disse. Rapportene er skilt ut på sted (www.samfundet.no/KK/Gløs/BI/osv.) og type (medlem/ikke-medlem).
- Legge opp nye billettdesign både for «hjemmebilletter» (A4-ark, en billett per ark) og egensolgte billetter.
- Skrive ut "total offline"-liste for en gitt konsert, som kan skrives ut hvis alle elektroniske systemer skulle gå helt i bakken.
- Få totale oversiktstall (antall solgte, urefunderte billetter og total verdi på disse) for hver måned gjennom hele året, til regnskapsbruk.
Døra
(Denne delen av kravspec-en er uferdig, og må sjekkes med vaktene.)
Ved inngangen til Huset på konsertdager skal det være lesere ved egnede innganger, med touchskjerm for vaktene. (Vi har to innganger, altså trenger vi to PCer, pluss minst en i reserve.) Disse skal kunne
- Lese medlemskort eller strekkode, og vise OK/ikke OK. Skjermen gir "medlem"/"ikke medlem" hvis det er OK, samt grunn for "ikke OK" hvis så er tilfelle.
- Støtte manuell inntasting av strekkodenummer (med on-screen-tastatur) dersom strekkoden skulle være vanskelig å lese maskinelt. Dersom brukeren kun har referansenummeret kan dette også brukes, men da anbefales det at brukeren heller får skrevet ut nye billetter i billettluken.
- Invalidere alle billetter som blir brukt, slik at de ikke kan brukes flere ganger.
- Fungere så godt som mulig selv om tilkoblingen til sql.samfundet.no e.l. skulle gå ned, f.eks. ved jevnlig synkronisering av liste over gyldige billetter og kort ned til systemet så lenge det er oppe (samt køing av invalideringen). Dersom nettet skulle gå helt ned, er det nødvendig med støtte for manuell overføring av disse dataene, f.eks. vha. USB-penn. (Det forutsettes ikke noe ferdig grensesnitt for dette.)
Tant
Generelle ting som ikke er overordnede mål per se, men som må huskes på:
- I hvilken grad gjelder de overordnede kravene (spesifikt: kravet om lagrede prosedyrer, og nettleserkompatibilitet) de interne sidene?
- Vi må ha folk på vakt under innkjøring av systemet.
Use cases
Tekstuelle use cases (typiske bruksscenarioer):
- Et ikke-medlem surfer rundt på www.samfundet.no og finner en konsert dagen etter hun har lyst til å gå på sammen med en venninne. Hun trykker på "bestill billetter"-linken nederst på siden, velger at hun ikke er medlem, velger to billetter, skriver inn navn og epost og betaler med VISA-kortet sitt. På skjermen (samt per epost noen minutter seinere) kommer det valg for en billett-PDF; hun printer ut de to billettene og viser dem i døra dagen etter, hvor de blir scannet og begge får stempel.
- Et medlem hører på lørdagsmøte at det skal være en interessant konsert om en uke. Han går til www.samfundet.no, finner listen over konserter man kan bestille billetter til. Når han blir spurt om han er medlem eller ikke skriver han inn epostadressen sin og kortnummeret. Han bestiller en billett til medlemspris og velger at han vil ha den på medlemskortet sitt (billettløs reise). Han skriver inn VISA-kortnummeret sitt, og får en billettbekreftelse med PDF per epost noen minutter etterpå (men med "du trenger ikke denne billetten dersom du har kortet ditt"). Han skriver ikke ut billett-PDFen, men trekker i stedet medlemskortet i døren idet han skal inn; vakten ser at han har en billett til i samme ordre.
- Et ikke-medlem går i luken på KK og kjøper billett til en konsert. Vedkommende får da en papirbillett (á la Billettservice-billetter). Denne har en strekkode. Når ikke-medlemmet dukker opp i døren kvelden da konserten er, leses strekkoden av en vakt og personen slipper inn.
- Et medlem går i luken på KK og skal ha billett til en konsert. Hun viser medlemskortet sitt og sier hun vil ha "billettløs reise", og lukedyret registrerer billetten på medlemskortet. Medlemmet får ingen billett, men trekker kortet sitt i døren når hun skal inn.
- Fem tusen hyggelige mennesker har kjøpt billett til konsert i teltet, men artisten velger i sin storhet å utebli. En billettansvarlig går derfor inn i backoffice og velger "masserefusjon", og samtlige internettbestilte ordrer for den konserten blir refundert til folks kontoer, sammen med en epost. Refusjonsperioden for billetter som er kjøpt utenfor nett (Stripa/KK/o.l.) settes til 14 dager. De man har epostadresse på (fordi billettene er kjøpt på et medlemskort) får automatisk epost om at de kan refundere billettene sine; de kan refunderes på KK eller et annet egnet sted.
Lenker: Start, billig utstyrsliste, billig v1
Epost: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2006-01-26 16:00 | Revisjon: 34 (historie, blame) | Totalt: 1905 kB | Rediger