// Path: src/main/java/net/ilexiconn/magister/container/type/AppointmentType.java
// public enum AppointmentType implements Serializable {
//     PERSONAL(1),
//     GENERAL(2),
//     SCHOOLWIDE(3),
//     INTERNSHIP(4),
//     INTAKE(4),
//     SHEDULE_FREE(5),
//     KWT(6),
//     STANDBY(7),
//     BLOCK(8),
//     MISCELLANEOUS(9),
//     LOCAL_BLOCK(10),
//     CLASS_BLOCK(11),
//     //12?
//     LESSON(13),
//     SHEDULE_FREE_STUDY(14),
//     //15?
//     PLANNING(16),
//     ACTIONS(101),
//     PRESENCES(102),
//     EXAM_SHUDULE(103);
// 
//     private int id;
// 
//     AppointmentType(int i) {
//         id = i;
//     }
// 
//     public static AppointmentType getTypeById(int i) {
//         for (AppointmentType type : values()) {
//             if (type.getID() == i) {
//                 return type;
//             }
//         }
//         return null;
//     }
// 
//     public int getID() {
//         return id;
//     }
// }
// 
// Path: src/main/java/net/ilexiconn/magister/container/type/DisplayType.java
// public enum DisplayType implements Serializable {
//     AVAILABLE(1),
//     PROVISIONALLY_SCHEDULED(2),
//     SCHEDULED(3),
//     ABSENT(4);
// 
//     private int id;
// 
//     DisplayType(int i) {
//         id = i;
//     }
// 
//     public static DisplayType getTypeById(int i) {
//         for (DisplayType type : values()) {
//             if (type.getID() == i) {
//                 return type;
//             }
//         }
//         return null;
//     }
// 
//     public int getID() {
//         return id;
//     }
// }
// 
// Path: src/main/java/net/ilexiconn/magister/container/type/InfoType.java
// public enum InfoType implements Serializable {
//     NONE(0),
//     HOMEWORK(1),
//     TEST(2),
//     EXAM(3),
//     QUIZ(4),
//     ORAL(5),
//     INFORMATION(6),
//     ANNOTATION(7);
// 
//     private int id;
// 
//     InfoType(int i) {
//         id = i;
//     }
// 
//     public static InfoType getTypeById(int i) {
//         for (InfoType type : values()) {
//             if (type.getID() == i) {
//                 return type;
//             }
//         }
//         return null;
//     }
// 
//     public int getID() {
//         return id;
//     }
// }


import java.io.Serializable;
import java.util.Date;
import com.google.gson.annotations.SerializedName;
import net.ilexiconn.magister.container.sub.*;
import net.ilexiconn.magister.container.type.AppointmentType;
import net.ilexiconn.magister.container.type.DisplayType;
import net.ilexiconn.magister.container.type.InfoType;
/*
 * Copyright (c) 2015 iLexiconn
 *
 *  Permission is hereby granted, free of charge, to any person
 *  obtaining a copy of this software and associated documentation
 *  files (the "Software"), to deal in the Software without
 *  restriction, including without limitation the rights to use,
 *  copy, modify, merge, publish, distribute, sublicense, and/or sell
 *  copies of the Software, and to permit persons to whom the
 *  Software is furnished to do so, subject to the following
 *  conditions:
 *
 *  The above copyright notice and this permission notice shall be
 *  included in all copies or substantial portions of the Software.
 *
 *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 *  OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 *  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 *  HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 *  WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 *  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 *  OTHER DEALINGS IN THE SOFTWARE.
 */

package net.ilexiconn.magister.container;



public class Appointment implements Serializable {
    @SerializedName("Id")
    public int id;

    @SerializedName("Links")
    public Link[] links;

    @SerializedName("Start")
    public String startDateString;

    public Date startDate;

    @SerializedName("Einde")
    public String endDateString;

    public Date endDate;

    @SerializedName("LesuurVan")
    public int periodFrom;

    @SerializedName("LesuurTotMet")
    public int periodUpToAndIncluding;

    @SerializedName("DuurtHeleDag")
    public boolean takesAllDay;

    @SerializedName("Lokatie")
    public String location;

    @SerializedName("Status")
    public int classState;

// Path: src/main/java/net/ilexiconn/magister/container/type/AppointmentType.java
// public enum AppointmentType implements Serializable {
//     PERSONAL(1),
//     GENERAL(2),
//     SCHOOLWIDE(3),
//     INTERNSHIP(4),
//     INTAKE(4),
//     SHEDULE_FREE(5),
//     KWT(6),
//     STANDBY(7),
//     BLOCK(8),
//     MISCELLANEOUS(9),
//     LOCAL_BLOCK(10),
//     CLASS_BLOCK(11),
//     //12?
//     LESSON(13),
//     SHEDULE_FREE_STUDY(14),
//     //15?
//     PLANNING(16),
//     ACTIONS(101),
//     PRESENCES(102),
//     EXAM_SHUDULE(103);
// 
//     private int id;
// 
//     AppointmentType(int i) {
//         id = i;
//     }
// 
//     public static AppointmentType getTypeById(int i) {
//         for (AppointmentType type : values()) {
//             if (type.getID() == i) {
//                 return type;
//             }
//         }
//         return null;
//     }
// 
//     public int getID() {
//         return id;
//     }
// }
// 
// Path: src/main/java/net/ilexiconn/magister/container/type/DisplayType.java
// public enum DisplayType implements Serializable {
//     AVAILABLE(1),
//     PROVISIONALLY_SCHEDULED(2),
//     SCHEDULED(3),
//     ABSENT(4);
// 
//     private int id;
// 
//     DisplayType(int i) {
//         id = i;
//     }
// 
//     public static DisplayType getTypeById(int i) {
//         for (DisplayType type : values()) {
//             if (type.getID() == i) {
//                 return type;
//             }
//         }
//         return null;
//     }
// 
//     public int getID() {
//         return id;
//     }
// }
// 
// Path: src/main/java/net/ilexiconn/magister/container/type/InfoType.java
// public enum InfoType implements Serializable {
//     NONE(0),
//     HOMEWORK(1),
//     TEST(2),
//     EXAM(3),
//     QUIZ(4),
//     ORAL(5),
//     INFORMATION(6),
//     ANNOTATION(7);
// 
//     private int id;
// 
//     InfoType(int i) {
//         id = i;
//     }
// 
//     public static InfoType getTypeById(int i) {
//         for (InfoType type : values()) {
//             if (type.getID() == i) {
//                 return type;
//             }
//         }
//         return null;
//     }
// 
//     public int getID() {
//         return id;
//     }
// }


// Path: src/main/java/net/ilexiconn/magister/container/Appointment.java
import java.io.Serializable;
import java.util.Date;
import com.google.gson.annotations.SerializedName;
import net.ilexiconn.magister.container.sub.*;
import net.ilexiconn.magister.container.type.AppointmentType;
import net.ilexiconn.magister.container.type.DisplayType;
import net.ilexiconn.magister.container.type.InfoType;

/*
 * Copyright (c) 2015 iLexiconn
 *
 *  Permission is hereby granted, free of charge, to any person
 *  obtaining a copy of this software and associated documentation
 *  files (the "Software"), to deal in the Software without
 *  restriction, including without limitation the rights to use,
 *  copy, modify, merge, publish, distribute, sublicense, and/or sell
 *  copies of the Software, and to permit persons to whom the
 *  Software is furnished to do so, subject to the following
 *  conditions:
 *
 *  The above copyright notice and this permission notice shall be
 *  included in all copies or substantial portions of the Software.
 *
 *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 *  OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 *  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 *  HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 *  WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 *  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 *  OTHER DEALINGS IN THE SOFTWARE.
 */

package net.ilexiconn.magister.container;



public class Appointment implements Serializable {
    @SerializedName("Id")
    public int id;

    @SerializedName("Links")
    public Link[] links;

    @SerializedName("Start")
    public String startDateString;

    public Date startDate;

    @SerializedName("Einde")
    public String endDateString;

    public Date endDate;

    @SerializedName("LesuurVan")
    public int periodFrom;

    @SerializedName("LesuurTotMet")
    public int periodUpToAndIncluding;

    @SerializedName("DuurtHeleDag")
    public boolean takesAllDay;

    @SerializedName("Lokatie")
    public String location;

    @SerializedName("Status")
    public int classState;

    public AppointmentType type;