Newsgroup: it.comp.appl.access
Titolo: Richiesta suggerimento per costruire database che gestisce card da ricaricare e scaricare

Buongiorno a tutti,
ho la seguente esigenza per un campeggio che vorrebbe adottare un sistema di card per permettere di ricaricare un certo importo potendo scalare dalla ricarica gli acquisti effettuati in campeggio.
 
Le card sarebbero semplicemente dei codici a barre che genero io con apposito font e che poi una volta stampato plastifico. Le card verrebbero poi lette con lettore codice a barre presente alla cassa del campeggio.
 
Ogni casetta nel campeggio avrebbe in dotazione un certo numero di card che il cliente può ricaricare recandosi in cassa e versando l'importo della ricarica.
 
Il cliente dovrebbe versare una cauzione irrisoria per la card al momento dell'attivazione in modo tale da riconsegnarla al momento della partenza in modo tale che gli venga restituita la cauzione e che possa quindi essere disattivata in attesa di nuova attivazione. Questo passaggio lo vedo necessario in quanto il calcolo del credito residuo lo posso effettuare calcolando i movimenti (ricariche e acquisti) compresi tra la data di ultima attivazione e la data odierna (data in cui il cliente effettua altra ricarica o acquisto) in quanto mi interessa sapere solo quelli dell'ultimo cliente che la possiede e non su tutti quelli che l'anno avuto nel corso del tempo.
Eventuali crediti residui del precedente cliente non devono andare a vantaggio del nuovo cliente che obbligatoriamente deve ricaricare prima di poter usarla per acquisti.
 
Il programma che voglio creare deve essere in grado di : 
 
- leggere il codice (e quello non è un problema perchè il lettore codice a barre inserirebbe nell'apposito campo il numero di tessera)
- capire se le card è attiva o meno e permettere l'attivazione o disattivazione
- indicare il credito residuo ed i movimenti effettuati per quella data card per l'ultimo cliente che la possiede
- poter disattivare una certa tessera se il cliente notifica lo smarrimento della card ed eventualmente poter trasferire il credito residuo della card smarrita su altra card
- poter stampare l'elenco dei movimenti (ricariche e acquisti) effettuati dal cliente che possiede la card
- controllare che vi sia credito sufficiente per effettuare l'acquisto obbligando alla ricarica se non fosse sufficiente
- poter funzionare su due postazioni collegate tra loro allo stesso database (un terminale è al minimarket, l'altro al ristorante ed eventualmente anche al bar)
 
 
Io finora ho provato in questo modo che illustro qui sotto ma sono aperto a suggerimenti.
 
Ho creato : 
 
- una tabella "card" dove memorizzo i numeri delle card che ho emesso (idcard, numerocard)
- una tabella "tipomovimento" dove ho inserito i valori ricarica e acquisto (idtipomovimento, tipomovimento)
- una tabella "movimenti" dove memorizzo le operazioni effettuate per ogni card (idcard, idmovimento, idtipomovimento, importo, data, ora, n. scontrino)
- una tabella "attivazionicard" dove memorizzo le varie attivazioni e disattivazione delle card (Idattivazione, idcard, idonoff, data, ora)
- una tabella TipoOnOff (idOnOff, tipoOnOff) dove ho inserito "Attivazione" e "Disattivazione"
 
Ho creato poi le maschere per le tabelle sopracitate ma non so se sto facendo in modo corretto in quanto vorrei che la maschera movimenti all'apertura si posizionasse su una scheda vuota in attesa di ricevere dal lettore codice barre il numero della tessera, in seguito alla lettura del codice tessera dovrebbe visualizzarmi l'ultima data attivazione e disattivazione e mostrarmi in una sottomaschera un riepilogo degli ultimi movimenti dalla data ultima attivazione ad oggi per quella data card e notificarmi in maschera del credito residuo dandomi quindi la possibilità di scegliere se voler fare una ricarica o acquisto specificando l'importo. La data e ora la faccio inserire in automatico usando quelle odierne ma con possibilità di modificarle a mano se si volesse.
 
Quello che non ho ben capito inoltre è come calcolare l'importo residuo (ricariche - acquisti) per quella data card
 
Qualcuno ha suggerimenti?
 
Devo usare tutte maschere collegate a tabelle oppure devo usare maschere non collegate ?
 
Grazie in anticipo a chi mi potrà fornire aiuto.
 
E' un programma che faccio per la mia ragazza.
 


Siete sicuri si possa usare (intendo che non violi nessuna normativa) un 
sistema che, sostanzialmente, e' una carta di credito ?
 


Credo non via sia alcun problema in quanto comunque lo scontrino lo battiamo per ogni acquisto. E' come una fidelity card o come una chiavetta del caffè dove ricarichi il credito e poi autonomamente ti rifornisci dalla macchinetta ogni volta che vuoi.
Qualcuno sa qualcosa in merito a normative che regolamentano ciò o vietano questa pratica?

 Buongiorno a tutti,
 
curiosità...
l'id che tu stampi con il font del codice a barre come lo generi?
 
ciao
BFS
 


Ho scaricato il font barcode39 e in word scrivo i numeri e lui crea il codice
http://www.dafont.com/it/code39.font
 


mi interessava capire come generavi i numeri, cioè con che algoritmo per 
evitare che qualcuno si stampi da se i codici a barre e usi il credito 
di altri.
 
Do per scontato che non sia un numero progressivo
 
Per queste cose io uso sempre in abbinata codice a barre + pin di conferma.
 
 
 
ciao
BFS


Ottima idea quella del pin in abbinamento.
Non mi sono posto il problema piu di tanto in quanto la clientela è del campeggio, gente che resta poco e poi se ne va, stranieri che dubito si portino stampante per generarsi il codice a barre e comunque dovrebbero plastificarla e farla uguale alle nostre ma effettivamente coi tempi che corrono è sempre meglio prevenire che curare.
Nel mio caso dovrei creare un sistema per generare un pin diverso ogni volta che la stessa card viene assegnata al cliente successivo...glielo mando via mail dal programma? Aperto a suggerimenti...oppure posso dargli il nuovo pin alla prima attivazione della card e ogni volta che deve effettuare un acquisto richiedo il pin per confermare l'operazione.
Tu come hai fatto ?
 
Grazie.


 
 
scusa avevo capito che la cassa non fosse presidiata da nessuno.
 
ipotetico ragionamento di un furbetto:
 
leggo: il mio barcode e vedo apparire il numero 454545
 
penso: "vuoi che chi ha fatto il software sia cosi pirlotto da generare 
numeri in sequenza ?"
 
provo: apro dal telefono un sito di generatore barcode...scrivo 454546 
(numero successivo alla mia)..vado alla cassa e faccio leggere il 
barcode dallo schermo del cell e scala il credito al reale possessore 
del codice
 
ma se la cassa è presidiata tutto questo problema non si pone.
 
 
ciao
BFS
 
 
 
 


Cassa presidiata per ora, ma l'idea futura è quella di rendere la cosa totalmente autonoma nel senso che dici tu.
Hai un algoritmo per generare codice pin?
Il codice a barre può anche essere sequenziale se c'è pin


vedi qualche post più in su "numero random univoci"
quando hai generato un barcode di 9 numeri random e un pin di 4 direi 
che puoi dormire tranquillo.
 
il pin lo vedo obbligatorio visto che mi par di capire che stampi 100 
tessere e non le cambi più.
 
un turista che torna l'anno dopo puo tentare di far leggere al lettore 
il codice che sapeva di avere l'anno prima, se ha culo becca che il 
codice è attivo per un altro ospite e gli mangia il credito.
 
quando c'è di mezzo il grano stai sicuro che si inventano di tutto.
 
ciao
BFS
 


hai perfettamente ragione.
il grano fa diventare ingegnose le persone!
 
;-)
 
Ora cerco quello che mi dicevi per la generazione random del pin.
 
Grazie mille.


La chiavetta della macchinetta caffe' ti consente di acquistare SOLO il 
caffe' da quel tipo di macchinetta, quando ricarichi in sostanza 
prepaghi numero x caffe'
Con le tue card, puoi aquistare ogni prodotto all'interno del campeggio, 
da quel che hai scritto
Mi sembra notevolmente diverso
Non ho riferimenti normativi sottomano, ma credo sia indispensabile, 
anzi direi urgente, approfondire l'aspetto formale della questione