Il y a deux acteurs principaux :
- Parent :
- demande d'inscription des enfants,
- désinscription (au moins 48 heures avant),
- Orga :
- valide les demandes d'inscription,
- edite une liste des enfant inscrits par jour,
- pointe les chèques des parents,
- crée/supprime/modifie des comptes.
1. Compte
Un Compte possède un solde, une liste d'inscriptions et regroupe plusieurs Enfants et plusieurs Parents. Voici un exemple de fichier JSON représentant un compte :
{
"name": "Famille Tutu",
"incomes": [
{
"date": 20121016,
"amount": 152.5,
"desc": "Chèque 23",
"flag": 0
},
{
"date": 20121018,
"amount": 32,
"desc": "Espèces",
"flag": 1
}
],
"parents": ["maman@tutu.com"],
"children": {
"1": {
"name": "Tutu",
"firstname": "Alexandra",
"class": "CE2"
},
"2": {
"name": "Tutu",
"firstname": "Barbara",
"class": "CM1"
}
},
"calendar": {
"20120925": [4.3, "1"],
"20120926": [8.6, "1", "2"]
}
}
- incomes : Ce sont les lignes de crédit. A chaque fois qu'un parent paye, on ajoute une ligne avec la date, le montant et, éventuellement, une description et un petit flag pour les chèque afin de savoir quand ils sont réellement encaissés.
- parents : Liste de logins (s'ils existent) ou de simples mails.
- chidren : L'identifiant sera utilisé par le champ "calendar", le reste est informatif.
- calendar : Pour chaque date, on a une liste dont le premier élément est le prix à payer et le reste est composé des identifiants des enfants inscrits.