(* Options:
Date: 2025-04-12 00:44:00
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: InstitutionStudentsRequest.*
//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 InstitutionResponse() = 
        member val ResponseStatus:ResponseStatus = null with get,set
        member val institution_id:Int32 = new Int32() with get,set
        member val institution_name:String = null with get,set
        member val institution_previous_names:String = null with get,set
        member val institution_other_names:String = null with get,set
        member val institution_type:String = null with get,set
        member val accreditation_status:String = null with get,set
        member val accreditation_status_notes:String = null with get,set
        member val related_institutions:ResizeArray<String> = new ResizeArray<String>() with get,set
        member val accreditation_status_changed_date:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val gpa_conversion:String = null with get,set
        member val credit_hour_conversion: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 zip:String = null with get,set

    [<AllowNullLiteral>]
    type StudentTransferCredentialsResponse() = 
        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 studentTransferCredentialPackage:ResizeArray<StudentTransferCredentialPackageResponse> = new ResizeArray<StudentTransferCredentialPackageResponse>() with get,set

    [<AllowNullLiteral>]
    type ExternalDegreesResponse() = 
        member val ResponseStatus:ResponseStatus = null with get,set
        member val person:PersonSimpleResponse = null with get,set
        member val gpa:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val student_programs:ResizeArray<StudentProgramSimpleResponse> = new ResizeArray<StudentProgramSimpleResponse>() with get,set
        member val degrees:ResizeArray<ExternalDegreeResponse> = new ResizeArray<ExternalDegreeResponse>() with get,set
        member val valid_degrees:ResizeArray<ExternalDegreesAdminResponse> = new ResizeArray<ExternalDegreesAdminResponse>() with get,set

    [<AllowNullLiteral>]
    type InstitutionStudentsResponse() = 
        inherit InstitutionResponse()
        member val student_transfer_credentials:ResizeArray<StudentTransferCredentialsResponse> = new ResizeArray<StudentTransferCredentialsResponse>() with get,set
        member val student_previous_degrees:ResizeArray<ExternalDegreesResponse> = new ResizeArray<ExternalDegreesResponse>() with get,set

    [<Route("/Academic/Institution/{institution_id}/Students", "POST")>]
    [<AllowNullLiteral>]
    type InstitutionStudentsRequest() = 
        interface IReturn<InstitutionStudentsResponse>
        member val institution_id:Int32 = new Int32() with get,set