Billig(e) Transaksjoner

Formål

Oppnå sporbarhet for alle økonomiske transaksjoner i billig, både for nettsalg og ved utsalgssted.

Ønsket er å ha en mer komplett log over alle aktiviteter, som refundering og endringer.

Med en slik log kan man enkelt (enklere?) lage views til f.eks. UKA slik at de kan få mer komplette økonomiske rapporter de er fornøyde med.

Samfundet har ikke registrert noe ønske om bedre økonomiske rapporter, men UKA har endel krav:

I og med at dette er et UKEproblem var tanken å fjerne mye av funksjonaliteten for å generere disse rapportene vekk fra billig, men at billig samler de nødvendige dataene for å lage de.

Problem med nåværende løsning

Løsningen som er i produksjon i dag er meget intrusiv og overkompleks.

Gammel-gammel løsning

Logger ikke hvem som refunderer.

Ingen sporbarhet ved endring av billetter, da timestamp og selger ligger på purchase nivå.

Ny løsning vil vi ha!

Logge all aktivitet mot ticket tabellen, med tid, selger og type transaksjon.

Man skal typisk kunne hente ut når en billett ble solgt, når den ble refundert og om det er en endring, hvilken billett som erstattet den.

Den tenkte løsningen er å opprette en ny tabell som holder på denne informasjonen.

Man kan muligens oppnå samme nivå med sporbarhet ved å flytte selger og salgstidspunkt fra purchase tabellen til ticket, samt å legge til 'refunded_by' på ticket. Utvalget ser dette som en dårligere løsning, da det blir mindre ryddig.

Transaksjonstyper

Følgende transaksjoner trenger vi (de jeg kom på nå iallefall):

SALE For salg, når en betaling skjer
REFUND Refundering
RESERVATION Reservasjon av en billett, etterfølges av en SALE når billetten blir betalt.

Påbegynt arbeid

transaction_log (utkast)

CREATE TABLE transaction_log (
	transaction_log serial NOT NULL PRIMARY KEY,
	transaction_time timestamp NOT NULL DEFAULT NOW(),
	ticket integer NOT NULL REFERENCES ticket,
	transaction_type integer NOT NULL REFERENCES transaction_type,
	seller varchar
);

seller er enten brukernavnet til selgeren eller NULL dersom det er nettsalg

Kodeendringer

Eide knoter ned ting for å huske det

transaction_typepenger inn/ut?wut?
NORMAL_SALE Inn Salg på stand
NORMAL_REFUND Ut Refundering på stand
NORMAL_CHANGE ? Endring av billett, prisklasse
NET_SALE 0 Salg på nett
NET_TIMEOUT 0 Nettsalg timet ut
NET_PAID Inn Payex sa 202 OK!
RESERVATION_SALE 0 Reservasjon av billett
RESERVATION_PAID Inn Reservasjonen ble betalt
RESERVATION_REFUND 0 Refundering av en reservasjon
RESERVATION_CHANGE ? Endring av reservasjon

¹: MVA-kode var i 09 en hardkodet liste i rapporteringscriptet, var en tre arrangementer som hadde en ikke-standard kode

²: UKEprosjekt er en nummerisk kode på en gruppe arrangementer. Revyen er typisk kode 1, teltartister en annen osv osv

Lenker: Start, billig

Epost: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2010-10-05 20:49 | Revisjon: 8 (historie, blame) | Totalt: 1905 kB | Rediger