regis

<back to all web services

DropRegistrationsBillingPlanPreviewRequest

Requires Authentication
Required role:REGISUserRole
The following routes are available for this service:
POST/Registration/{uuid}/Drop/{reporting_term}/BillingPlanPreview
import Foundation
import ServiceStack

public class DropRegistrationsBillingPlanPreviewRequest : Codable
{
    public var transaction_uuid:String
    public var uuid:String
    public var reporting_term:String
    public var registrations:[DropRegistrationSubmitRequest] = []
    public var Description:String
    public var drop_fee:Double?
    public var drop_description:String
    public var refund_student_fees:Bool
    public var authorizing_uuid:String

    required public init(){}
}

public class DropRegistrationSubmitRequest : Codable
{
    public var student_section_uuid:String
    public var tuition_refund_amount:Double
    public var Description:String
    public var additional_rate_id:Int?
    public var additional_rate_amount:Double?
    public var benefit_rate_id:Int?
    public var second_benefit_rate_id:Int?
    public var benefit_charge_amount:Double?
    public var second_benefit_charge_amount:Double?

    required public init(){}
}

public class RegistrationBillingPlanResponse : Codable
{
    public var transaction_uuid:String
    public var uuid:String
    public var regent_id:Int
    public var reporting_term:String
    public var total_charges:Double?
    public var total_credits:Double?
    public var terms:[RegistrationBillingPlanTermResponse] = []

    required public init(){}
}

public class RegistrationBillingPlanTermResponse : Codable
{
    public var reporting_term:String
    public var term_name:String
    public var due_date:Date?
    public var total_charges:Double?
    public var total_credits:Double?
    public var invoiceItemGroups:[RegistrationBillingPlanInvoiceItemGroupResponse] = []

    required public init(){}
}

public class RegistrationBillingPlanInvoiceItemGroupResponse : Codable
{
    public var name:String
    public var Description:String
    public var rate_code:String
    public var rate_description:String
    public var total_charges:Double?
    public var total_credits:Double?
    public var studentSectionInvoiceItems:[StudentSectionInvoiceItemResponse] = []
    public var invoiceItems:[InvoiceItemResponse] = []
    public var otherInvoiceItems:[InvoiceItemResponse] = []

    required public init(){}
}

public class StudentSectionInvoiceItemResponse : InvoiceItemResponse
{
    public var studentSection:StudentSectionResponse

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case studentSection
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        studentSection = try container.decodeIfPresent(StudentSectionResponse.self, forKey: .studentSection)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if studentSection != nil { try container.encode(studentSection, forKey: .studentSection) }
    }
}

public class InvoiceItemResponse : Codable
{
    public var responseStatus:ResponseStatus
    public var invoiceItemUUID:String
    public var rate_id:Int
    public var rate_code:String
    public var rate_description:String
    public var reporting_term:String
    public var charge:Double?
    public var credit:Double?

    required public init(){}
}

public class StudentSectionResponse : SectionResponse
{
    public var studentSectionUUID:String
    public var registered_amount:Double
    public var is_provisional:Bool
    public var is_audit:Bool

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case studentSectionUUID
        case registered_amount
        case is_provisional
        case is_audit
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        studentSectionUUID = try container.decodeIfPresent(String.self, forKey: .studentSectionUUID)
        registered_amount = try container.decodeIfPresent(Double.self, forKey: .registered_amount)
        is_provisional = try container.decodeIfPresent(Bool.self, forKey: .is_provisional)
        is_audit = try container.decodeIfPresent(Bool.self, forKey: .is_audit)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if studentSectionUUID != nil { try container.encode(studentSectionUUID, forKey: .studentSectionUUID) }
        if registered_amount != nil { try container.encode(registered_amount, forKey: .registered_amount) }
        if is_provisional != nil { try container.encode(is_provisional, forKey: .is_provisional) }
        if is_audit != nil { try container.encode(is_audit, forKey: .is_audit) }
    }
}

public class SectionResponse : Codable
{
    public var responseStatus:ResponseStatus
    public var secUUID:String
    public var course_name:String
    public var section_code:String
    public var course_title:String
    public var course_short_title:String
    public var course_description:String
    public var crosslist_description:String
    public var crosslist_course_name:String
    public var location_long_name:String
    public var room:String
    public var instructors:[InstructorResponse] = []
    public var required_documents:[DocumentResponse] = []
    public var start_date:Date?
    public var end_date:Date?
    public var first_meeting_date:Date?
    public var last_meeting_date:Date?
    public var meeting_days:String
    public var start_times:[String] = []
    public var end_times:[String] = []
    public var is_online_only:Bool
    public var is_weekend:Bool
    public var is_weekday:Bool
    public var is_evening:Bool
    public var is_waitlist:Bool
    public var has_special_requirements:Bool
    public var special_requirements:String
    public var is_unlisted:Bool
    public var credit_amounts:[Double] = []
    public var audit_amounts:[Double] = []
    public var audits_short_name:String
    public var audits_long_name:String
    public var credits_short_name:String
    public var credits_long_name:String
    public var distance_ed_materials:String
    public var prerequisites:String
    public var corequisites:String
    public var capacity:Int?
    public var flat_fee_amount:Double?
    public var additional_fee_amount:Double?
    public var registered_students:Int
    public var three_credit_plus:Int
    public var two_credit:Int
    public var one_credit:Int
    public var three_audit_plus:Int
    public var two_audit:Int
    public var one_audit:Int
    public var crosslist_registered_students:Int
    public var grades_received:Int
    public var crosslist_grades_received:Int
    public var registration_start_date:Date?
    public var registration_end_date:Date?
    public var add_start_date:Date?
    public var add_end_date:Date?
    public var drop_start_date:Date?
    public var drop_end_date:Date?
    public var grading_end_date:Date?
    public var term:String
    public var reporting_term:String
    public var reporting_year:Int
    public var current_status:String
    public var added_by:String
    public var added_date:Date?
    public var changed_by:String
    public var changed_date:Date?
    public var timestamp:Date

    required public init(){}
}

public class InstructorResponse : Codable
{
    public var responseStatus:ResponseStatus
    public var regent_id:Int
    public var regent_login:String
    public var preferred_name:String
    public var first_name:String
    public var last_name:String
    public var full_name:String
    public var email:String
    public var image_base64:String

    required public init(){}
}

public class DocumentResponse : Codable
{
    public var code:String
    public var document_name:String
    public var document_description:String

    required public init(){}
}


Swift DropRegistrationsBillingPlanPreviewRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /Registration/{uuid}/Drop/{reporting_term}/BillingPlanPreview HTTP/1.1 
Host: data.regent-college.edu 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	transaction_uuid: String,
	uuid: String,
	reporting_term: String,
	registrations: 
	[
		{
			student_section_uuid: String,
			tuition_refund_amount: 0,
			description: String,
			additional_rate_id: 0,
			additional_rate_amount: 0,
			benefit_rate_id: 0,
			second_benefit_rate_id: 0,
			benefit_charge_amount: 0,
			second_benefit_charge_amount: 0
		}
	],
	description: String,
	drop_fee: 0,
	drop_description: String,
	refund_student_fees: False,
	authorizing_uuid: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	transaction_uuid: String,
	uuid: String,
	regent_id: 0,
	reporting_term: String,
	total_charges: 0,
	total_credits: 0,
	terms: 
	[
		{
			reporting_term: String,
			term_name: String,
			due_date: 0001-01-01,
			total_charges: 0,
			total_credits: 0,
			invoiceItemGroups: 
			[
				{
					name: String,
					description: String,
					rate_code: String,
					rate_description: String,
					total_charges: 0,
					total_credits: 0,
					studentSectionInvoiceItems: 
					[
						{
							studentSection: 
							{
								studentSectionUUID: String,
								registered_amount: 0,
								is_provisional: False,
								is_audit: False,
								responseStatus: 
								{
									errorCode: String,
									message: String,
									stackTrace: String,
									errors: 
									[
										{
											errorCode: String,
											fieldName: String,
											message: String,
											meta: 
											{
												String: String
											}
										}
									],
									meta: 
									{
										String: String
									}
								},
								secUUID: String,
								course_name: String,
								section_code: String,
								course_title: String,
								course_short_title: String,
								course_description: String,
								crosslist_description: String,
								crosslist_course_name: String,
								location_long_name: String,
								room: String,
								instructors: 
								[
									{
										responseStatus: 
										{
											errorCode: String,
											message: String,
											stackTrace: String,
											errors: 
											[
												{
													errorCode: String,
													fieldName: String,
													message: String,
													meta: 
													{
														String: String
													}
												}
											],
											meta: 
											{
												String: String
											}
										},
										regent_id: 0,
										regent_login: String,
										preferred_name: String,
										first_name: String,
										last_name: String,
										full_name: String,
										email: String,
										image_base64: String
									}
								],
								required_documents: 
								[
									{
										code: String,
										document_name: String,
										document_description: String
									}
								],
								start_date: 0001-01-01,
								end_date: 0001-01-01,
								first_meeting_date: 0001-01-01,
								last_meeting_date: 0001-01-01,
								meeting_days: String,
								start_times: 
								[
									String
								],
								end_times: 
								[
									String
								],
								is_online_only: False,
								is_weekend: False,
								is_weekday: False,
								is_evening: False,
								is_waitlist: False,
								has_special_requirements: False,
								special_requirements: String,
								is_unlisted: False,
								credit_amounts: 
								[
									0
								],
								audit_amounts: 
								[
									0
								],
								audits_short_name: String,
								audits_long_name: String,
								credits_short_name: String,
								credits_long_name: String,
								distance_ed_materials: String,
								prerequisites: String,
								corequisites: String,
								capacity: 0,
								flat_fee_amount: 0,
								additional_fee_amount: 0,
								registered_students: 0,
								three_credit_plus: 0,
								two_credit: 0,
								one_credit: 0,
								three_audit_plus: 0,
								two_audit: 0,
								one_audit: 0,
								crosslist_registered_students: 0,
								grades_received: 0,
								crosslist_grades_received: 0,
								registration_start_date: 0001-01-01,
								registration_end_date: 0001-01-01,
								add_start_date: 0001-01-01,
								add_end_date: 0001-01-01,
								drop_start_date: 0001-01-01,
								drop_end_date: 0001-01-01,
								grading_end_date: 0001-01-01,
								term: String,
								reporting_term: String,
								reporting_year: 0,
								current_status: String,
								added_by: String,
								added_date: 0001-01-01,
								changed_by: String,
								changed_date: 0001-01-01,
								timestamp: 0001-01-01
							},
							responseStatus: 
							{
								errorCode: String,
								message: String,
								stackTrace: String,
								errors: 
								[
									{
										errorCode: String,
										fieldName: String,
										message: String,
										meta: 
										{
											String: String
										}
									}
								],
								meta: 
								{
									String: String
								}
							},
							invoiceItemUUID: String,
							rate_id: 0,
							rate_code: String,
							rate_description: String,
							reporting_term: String,
							charge: 0,
							credit: 0
						}
					],
					invoiceItems: 
					[
						{
							responseStatus: 
							{
								errorCode: String,
								message: String,
								stackTrace: String,
								errors: 
								[
									{
										errorCode: String,
										fieldName: String,
										message: String,
										meta: 
										{
											String: String
										}
									}
								],
								meta: 
								{
									String: String
								}
							},
							invoiceItemUUID: String,
							rate_id: 0,
							rate_code: String,
							rate_description: String,
							reporting_term: String,
							charge: 0,
							credit: 0
						}
					],
					otherInvoiceItems: 
					[
						{
							responseStatus: 
							{
								errorCode: String,
								message: String,
								stackTrace: String,
								errors: 
								[
									{
										errorCode: String,
										fieldName: String,
										message: String,
										meta: 
										{
											String: String
										}
									}
								],
								meta: 
								{
									String: String
								}
							},
							invoiceItemUUID: String,
							rate_id: 0,
							rate_code: String,
							rate_description: String,
							reporting_term: String,
							charge: 0,
							credit: 0
						}
					]
				}
			]
		}
	]
}