(* Options:
Date: 2025-04-13 07:26:29
Version: 8.22
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://data.regent-college.edu

//GlobalNamespace: 
//MakeDataContractsExtensible: False
//AddReturnMarker: True
//AddDescriptionAsComments: True
//AddDataContractAttributes: False
//AddIndexesToDataMembers: False
//AddGeneratedCodeAttributes: False
//AddResponseStatus: False
//AddImplicitVersion: 
//ExportValueTypes: False
IncludeTypes: StudentGraduationsRequest.*
//ExcludeTypes: 
//InitializeCollections: True
//AddNamespaces: 
*)

namespace regis.ClassLibrary.Requests

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type StudentGraduationProgramResponse() = 
        member val program_code:String = null with get,set
        member val concentration_code:String = null with get,set
        member val program_details:String = null with get,set
        member val comments:String = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type ResponseStatus() = 
        [<DataMember(Order=1)>]
        member val ErrorCode:String = null with get,set

        [<DataMember(Order=2)>]
        member val Message:String = null with get,set

        [<DataMember(Order=3)>]
        member val StackTrace:String = null with get,set

        [<DataMember(Order=4)>]
        member val Errors:ResizeArray<ResponseError> = new ResizeArray<ResponseError>() with get,set

        [<DataMember(Order=5)>]
        member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set

    [<AllowNullLiteral>]
    type StudentGraduationResponse() = 
        member val ResponseStatus:ResponseStatus = null with get,set
        member val regent_id:Int32 = new Int32() with get,set
        member val uuid:String = null with get,set
        member val first_name:String = null with get,set
        member val preferred_name:String = null with get,set
        member val middle_name:String = null with get,set
        member val last_name:String = null with get,set
        member val email:String = null with get,set
        member val phonetic_first_name:String = null with get,set
        member val phonetic_middle_name:String = null with get,set
        member val phonetic_last_name:String = null with get,set
        member val placement:String = null with get,set
        member val placement_other:String = null with get,set
        member val addr1:String = null with get,set
        member val addr2:String = null with get,set
        member val city:String = null with get,set
        member val state:String = null with get,set
        member val country:String = null with get,set
        member val code:String = null with get,set
        member val citizenship:String = null with get,set
        member val citizenship_other:String = null with get,set
        member val permanent_resident:String = null with get,set
        member val previous_degrees:String = null with get,set
        member val gown_size:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val project_title:String = null with get,set
        member val supervisor:String = null with get,set
        member val is_attending:Boolean = new Boolean() with get,set
        member val is_hood_requested:Boolean = new Boolean() with get,set
        member val is_hood_paid:Boolean = new Boolean() with get,set
        member val is_paid:Boolean = new Boolean() with get,set
        member val is_late:Boolean = new Boolean() with get,set
        member val year:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val comments:String = null with get,set
        member val current_status:String = null with get,set
        member val current_status_date:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val added_date:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val applied_programs:ResizeArray<StudentGraduationProgramResponse> = new ResizeArray<StudentGraduationProgramResponse>() with get,set

    [<Route("/StudentGraduation/{year}", "POST")>]
    [<AllowNullLiteral>]
    type StudentGraduationsRequest() = 
        interface IReturn<ResizeArray<StudentGraduationResponse>>
        member val year:Int32 = new Int32() with get,set