package vo;

class RiderVO {

    // constants for use with Reflect api when updating SelectedRider VO
    public static final ID:String = "id";
    public static final UID:String = "uid";
	public static final NAME:String = "name";
	public static final FIRST_NAME:String = "firstName";
    public static final AGE:String = "age";
    public static final LAST_LESSON_DATE:String = "lastLessonDate";
    public static final LEVEL:String = "level";
    public static final CREDIT:String = "credit";
    public static final ADDRESS:String = "address";
    public static final NOTES:String = "notes";
    public static final FFE_LICENCE:String = "ffeLicence";
    public static final FFE_LICENCE_VALIDITY_YEAR:String = "ffeLicenceValidityYear";
    public static final FFE_LICENCE_NUMBER:String = "ffeLicenceNumber";
    public static final LEGAL_GUARDIAN_NAME:String = "legalGuardianName";
    public static final LEGAL_GUARDIAN_FIRSTNAME:String = "legalGuardianFirstName";
    public static final LEGAL_GUARDIAN_ROLE:String = "legalGuardianRole";
    public static final LEGAL_GUARDIAN_PHONE_NUMBER:String = "legalGuardianPhoneNumber";
    public static final LEGAL_GUARDIAN_EMAIL:String = "legalGuardianEmail";

	public var id:Int;
    public var uid:String;
	public var name:String;
	public var firstName:String;
    public var age:Int;
    public var lastLessonDate:Int;
    public var level:Int;
    public var credit:Int;
    public var address:String;
    public var notes:String;
    public var ffeLicence:Bool;
    public var ffeLicenceValidityYear:Int;
    public var ffeLicenceNumber:String;
    public var legalGuardianName:String;
    public var legalGuardianFirstName:String;
    public var legalGuardianRole:String;
    public var legalGuardianPhoneNumber:String;
    public var legalGuardianEmail:String;


	public function new(?pId:Int = 0, 
                        ?pUId:String = "",
                        ?pName:String = "", 
                        ?pFirstName:String = "", 
                        ?pAge:Int = 0,
                        ?pLastLessonDate:Int,
                        ?pLevel:Int = 0,
                        ?pCredit:Int = 0,
                        ?pAddress:String = "",
                        ?pNotes:String = "",
                        ?pffeLicence:Bool = false,
                        ?pffeLicenceValidityYear:Int = 0,
                        ?pffeLicenceNumber:String = "",
                        ?pLegalGuardianName:String = "",
                        ?pLegalGuardianFirstName:String = "",
                        ?pLegalGuardianRole:String = "",
                        ?pLegalGuardianPhoneNumber:String = "",
                        ?pLegalGuardianEmail:String = "") {

		id = pId;
        uid = pUId;
        name = pName;
		firstName = pFirstName;
        age = pAge;
        lastLessonDate = pLastLessonDate;
        level = pLevel;
        credit = pCredit;
        address = pAddress;
        notes = pNotes;
        ffeLicence = pffeLicence;
        ffeLicenceValidityYear = pffeLicenceValidityYear;
        ffeLicenceNumber = pffeLicenceNumber;
        legalGuardianName = pLegalGuardianName;
        legalGuardianFirstName = pLegalGuardianFirstName;
        legalGuardianRole = pLegalGuardianRole;
        legalGuardianPhoneNumber = pLegalGuardianPhoneNumber;
        legalGuardianEmail = pLegalGuardianEmail;

		//startdate = (startdate == null) ? Date.now() : startdate;

	}
}