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

//Package: 
//AddServiceStackTypes: True
//AddResponseStatus: False
//AddImplicitVersion: 
//AddDescriptionAsComments: True
IncludeTypes: UnauthenticatedRegistrationsRequest.*
//ExcludeTypes: 
//InitializeCollections: True
//TreatTypesAsStrings: 
//DefaultImports: java.math.*,java.util.*,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.*
*/

import java.math.*
import java.util.*
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*


@Route(Path="/Registration/Unauthenticated/{reporting_term}", Verbs="POST")
open class UnauthenticatedRegistrationsRequest : IReturn<ArrayList<UnauthenticatedRegistrationTransactionResponse>>
{
    var reporting_term:String? = null
    var is_submitted:Boolean? = null
    var is_authorized:Boolean? = null
    var is_archived:Boolean? = null
    companion object { private val responseType = object : TypeToken<ArrayList<UnauthenticatedRegistrationTransactionResponse>>(){}.type }
    override fun getResponseType(): Any? = UnauthenticatedRegistrationsRequest.responseType
}

open class UnauthenticatedStudentSectionRegistrationResponse
{
    var section_uuid:String? = null
    var student_section_uuid:String? = null
    var course_name:String? = null
    var section_code:String? = null
    var course_title:String? = null
    var amount:BigDecimal? = null
    var is_oncampus:Boolean? = null
    var is_audit:Boolean? = null
    var is_provisional:Boolean? = null
    var is_missing_requisites:Boolean? = null
    var is_other_restriction:Boolean? = null
    var added_date:Date? = null
    var added_by_person_id:Int? = null
    var changed_date:Date? = null
    var changed_by_person_id:Int? = null
}

open class UnauthenticatedRegistrationTransactionResponse
{
    var responseStatus:ResponseStatus? = null
    var transaction_uuid:String? = null
    var notes_json:String? = null
    var credit_hours:BigDecimal? = null
    var audit_hours:BigDecimal? = null
    var started_datetime:Date? = null
    var archived_datetime:Date? = null
    var submitted_datetime:Date? = null
    var authorized_datetime:Date? = null
    var person:UnauthenticatedPersonResponse? = null
    var registrations:ArrayList<UnauthenticatedStudentSectionRegistrationResponse> = ArrayList<UnauthenticatedStudentSectionRegistrationResponse>()
}

open class UnauthenticatedPersonResponse
{
    var responseStatus:ResponseStatus? = null
    var regent_id:Int? = null
    var reporting_term:String? = null
    var survey:String? = null
    var friend_referral:String? = null
    var other_referral:String? = null
    var is_returning:Boolean? = null
    var is_applying:Boolean? = null
    var is_landlord:Boolean? = null
    var postsecondary_education_level:Int? = null
    var uuid:String? = null
    var regent_login:String? = null
    var first_name:String? = null
    var middle_name:String? = null
    var last_name:String? = null
    var preferred_name:String? = null
    var birth_name:String? = null
    var spouse_name:String? = null
    var addr1:String? = null
    var addr2:String? = null
    var country:String? = null
    var state:String? = null
    var city:String? = null
    var code:String? = null
    var phone_home:String? = null
    var phone_cell:String? = null
    var phone_bus:String? = null
    var email:String? = null
    var prefix:String? = null
    var dob:Date? = null
    var citizenship:String? = null
    var citizenship_other:String? = null
    var permanent_resident:String? = null
    var denomination:String? = null
    var occupation:String? = null
    var ethnicity:String? = null
    var gender:String? = null
    var marital_status:String? = null
    var deceased_date:Date? = null
    var added_by:String? = null
    var added_date:Date? = null
    var last_changed_by:String? = null
    var last_changed_date:Date? = null
    var addr_last_changed_by:String? = null
    var addr_last_changed_date:Date? = null
    var timestamp:Date? = null
    var submitted_datetime:Date? = null
    var submitted_by_unauthenticated_person_id:Int? = null
    var authorized_datetime:Date? = null
    var authorized_by_person_id:Int? = null
    var archived_datetime:Date? = null
    var archived_by_person_id:Int? = null
}