Required role: | REGISUserRole |
POST | /Registration/Change/{uuid}/Term/{reporting_term}/Review |
---|
import Foundation
import ServiceStack
public class RegistrationChangeReviewRequest : Codable
{
public var transaction_uuid:String
public var uuid:String
public var reporting_term:String
public var rates_opted_in:[Int] = []
public var authorizing_uuid:String
public var is_audit:Bool
public var is_oncampus:Bool
public var is_online:Bool
public var amount:Double
public var section_uuid:String
public var appliedForSpousalAuditBenefit:Bool
public var appliedForSpousalCreditBenefit:Bool
required public init(){}
}
public class StudentSectionInvoiceResponse : InvoiceResponse
{
public var transaction_uuid:String
public var studentSectionInvoiceItems:[StudentSectionInvoiceItemResponse] = []
public var otherInvoiceItems:[InvoiceItemResponse] = []
public var optedInInvoiceItems:[InvoiceItemResponse] = []
public var optionalInvoiceItems:[InvoiceItemResponse] = []
public var appliedForSpousalAuditBenefit:Bool
public var appliedForSpousalCreditBenefit:Bool
public var appliedForDEReentryBenefit:Bool
public var dropRefundRate:Double?
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case transaction_uuid
case studentSectionInvoiceItems
case otherInvoiceItems
case optedInInvoiceItems
case optionalInvoiceItems
case appliedForSpousalAuditBenefit
case appliedForSpousalCreditBenefit
case appliedForDEReentryBenefit
case dropRefundRate
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
transaction_uuid = try container.decodeIfPresent(String.self, forKey: .transaction_uuid)
studentSectionInvoiceItems = try container.decodeIfPresent([StudentSectionInvoiceItemResponse].self, forKey: .studentSectionInvoiceItems) ?? []
otherInvoiceItems = try container.decodeIfPresent([InvoiceItemResponse].self, forKey: .otherInvoiceItems) ?? []
optedInInvoiceItems = try container.decodeIfPresent([InvoiceItemResponse].self, forKey: .optedInInvoiceItems) ?? []
optionalInvoiceItems = try container.decodeIfPresent([InvoiceItemResponse].self, forKey: .optionalInvoiceItems) ?? []
appliedForSpousalAuditBenefit = try container.decodeIfPresent(Bool.self, forKey: .appliedForSpousalAuditBenefit)
appliedForSpousalCreditBenefit = try container.decodeIfPresent(Bool.self, forKey: .appliedForSpousalCreditBenefit)
appliedForDEReentryBenefit = try container.decodeIfPresent(Bool.self, forKey: .appliedForDEReentryBenefit)
dropRefundRate = try container.decodeIfPresent(Double.self, forKey: .dropRefundRate)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if transaction_uuid != nil { try container.encode(transaction_uuid, forKey: .transaction_uuid) }
if studentSectionInvoiceItems.count > 0 { try container.encode(studentSectionInvoiceItems, forKey: .studentSectionInvoiceItems) }
if otherInvoiceItems.count > 0 { try container.encode(otherInvoiceItems, forKey: .otherInvoiceItems) }
if optedInInvoiceItems.count > 0 { try container.encode(optedInInvoiceItems, forKey: .optedInInvoiceItems) }
if optionalInvoiceItems.count > 0 { try container.encode(optionalInvoiceItems, forKey: .optionalInvoiceItems) }
if appliedForSpousalAuditBenefit != nil { try container.encode(appliedForSpousalAuditBenefit, forKey: .appliedForSpousalAuditBenefit) }
if appliedForSpousalCreditBenefit != nil { try container.encode(appliedForSpousalCreditBenefit, forKey: .appliedForSpousalCreditBenefit) }
if appliedForDEReentryBenefit != nil { try container.encode(appliedForDEReentryBenefit, forKey: .appliedForDEReentryBenefit) }
if dropRefundRate != nil { try container.encode(dropRefundRate, forKey: .dropRefundRate) }
}
}
public class InvoiceResponse : Codable
{
public var responseStatus:ResponseStatus
public var invoiceUUID:String
public var regent_id:Int
public var uuid:String
public var reporting_term:String
public var total_charges:Double?
public var total_credits:Double?
public var current_status:String
public var timestamp:Date
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 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 RegistrationChangeReviewRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /Registration/Change/{uuid}/Term/{reporting_term}/Review 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,
rates_opted_in:
[
0
],
authorizing_uuid: String,
is_audit: False,
is_oncampus: False,
is_online: False,
amount: 0,
section_uuid: String,
appliedForSpousalAuditBenefit: False,
appliedForSpousalCreditBenefit: False
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { transaction_uuid: String, 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, 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, charge: 0, credit: 0 } ], optedInInvoiceItems: [ { 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, charge: 0, credit: 0 } ], optionalInvoiceItems: [ { 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, charge: 0, credit: 0 } ], appliedForSpousalAuditBenefit: False, appliedForSpousalCreditBenefit: False, appliedForDEReentryBenefit: False, dropRefundRate: 0, responseStatus: { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } }, invoiceUUID: String, regent_id: 0, uuid: String, reporting_term: String, total_charges: 0, total_credits: 0, current_status: String, timestamp: 0001-01-01 }