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

//BaseClass: 
//AddModelExtensions: True
//AddServiceStackTypes: True
IncludeTypes: FinancialAidSummaryRequest.*
//ExcludeTypes: 
//ExcludeGenericBaseTypes: False
//AddResponseStatus: False
//AddImplicitVersion: 
//AddDescriptionAsComments: True
//InitializeCollections: True
//TreatTypesAsStrings: 
//DefaultImports: Foundation,ServiceStack
*/

import Foundation
import ServiceStack

// @Route("/Finance/FinancialAid/{uuid}/Summary", "POST")
public class FinancialAidSummaryRequest : IReturn, Codable
{
    public typealias Return = FinancialAidSummaryResponse

    public var uuid:String

    required public init(){}
}

public class FinancialAidSummaryResponse : Codable
{
    public var responseStatus:ResponseStatus
    public var uuid:String
    public var applications:[FinancialAidApplicationResponse] = []
    public var awards:[FinancialAidApplicationAwardResponse] = []

    required public init(){}
}

public class FinancialAidApplicationAwardResponse : Codable
{
    public var id:Int
    public var award_code:String
    public var award_description:String
    public var is_awarded:Bool
    public var is_planned:Bool
    public var is_eligible:Bool
    public var award_amount:Double?
    public var award_budget:Double?
    public var comments:String
    public var term:String
    public var awarded_by:String
    public var awarded_date:Date?

    required public init(){}
}

public class FinancialAidApplicationResponse : Codable
{
    public var responseStatus:ResponseStatus
    public var start_term:String
    public var end_term:String
    public var number_of_terms:Int?
    public var regent_id:Int
    public var uuid:String
    public var application_uuid:String
    public var awards:[FinancialAidApplicationAwardResponse] = []
    public var previous_awards:[FinancialAidApplicationAwardResponse] = []
    public var program:String
    public var gender:String
    public var first_name:String
    public var last_name:String
    public var email:String
    public var citizenship:String
    public var citizenship_other:String
    public var permanent_resident:String
    public var ethnicity:String
    public var marital_status:String
    public var dob:Date?
    public var addr1:String
    public var addr2:String
    public var city:String
    public var state:String
    public var country:String
    public var code:String
    public var denomination:String
    public var undergrad_gpa:Double?
    public var regent_gpa:Double?
    public var current_attempted_credits:Double?
    public var first_term_admitted:String
    public var current_attempted_and_transferred_credits:Double?
    public var current_award_term_attempted_credits:Double?
    public var number_of_children:Int?
    public var financial_assets:Double?
    public var spouse_income:Double?
    public var employment_years:Int?
    public var employment_description:String
    public var vocational_experience_json:String
    public var vocational_direction_json:String
    public var occupation_after_the_program_json:String
    public var area_of_study_json:String
    public var need_score:Int
    public var merit_score:Int
    public var score:Int
    public var is_mature:Bool
    public var is_nonaccredited:Bool
    public var award_per_term:Double?
    public var amount_awarded:Double?
    public var oncampus_tuition_owing_in_term:Double?
    public var online_tuition_owing_in_term:Double?
    public var audit_and_fees_owing_in_term:Double?
    public var amount_offered:Double?
    public var total_amount_awarded:Double?
    public var comments:String
    public var current_status:String
    public var cannot_apply_again:Bool
    public var current_status_date:Date?
    public var started_date:Date?
    public var started_by:String
    public var submitted_date:Date?
    public var submitted_by:String
    public var changed_date:Date?
    public var changed_by:String

    required public init(){}
}