regis

<back to all web services

DropReviewRequest

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

public class DropReviewRequest : Codable
{
    public var transaction_uuid:String
    public var uuid:String
    public var reporting_term:String
    public var student_section_uuids_to_drop:[String] = []
    public var authorizing_uuid:String

    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 DropReviewRequest DTOs

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

HTTP + CSV

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

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

{"transaction_uuid":"String","uuid":"String","reporting_term":"String","student_section_uuids_to_drop":["String"],"authorizing_uuid":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
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-01T00:00:00.0000000","end_date":"0001-01-01T00:00:00.0000000","first_meeting_date":"0001-01-01T00:00:00.0000000","last_meeting_date":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","registration_end_date":"0001-01-01T00:00:00.0000000","add_start_date":"0001-01-01T00:00:00.0000000","add_end_date":"0001-01-01T00:00:00.0000000","drop_start_date":"0001-01-01T00:00:00.0000000","drop_end_date":"0001-01-01T00:00:00.0000000","grading_end_date":"0001-01-01T00:00:00.0000000","term":"String","reporting_term":"String","reporting_year":0,"current_status":"String","added_by":"String","added_date":"0001-01-01T00:00:00.0000000","changed_by":"String","changed_date":"0001-01-01T00:00:00.0000000","timestamp":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}