regis

<back to all web services

ProvisionalRegistrationAuthorizeRequest

Requires Authentication
Required role:REGISUserRole
The following routes are available for this service:
POST/Registration/Provisional/{student_section_uuid}/Authorize
import 'package:servicestack/servicestack.dart';

class InvoiceResponse implements IConvertible
{
    ResponseStatus? responseStatus;
    String? invoiceUUID;
    int? regent_id;
    String? uuid;
    String? reporting_term;
    double? total_charges;
    double? total_credits;
    String? current_status;
    DateTime? timestamp;

    InvoiceResponse({this.responseStatus,this.invoiceUUID,this.regent_id,this.uuid,this.reporting_term,this.total_charges,this.total_credits,this.current_status,this.timestamp});
    InvoiceResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        invoiceUUID = json['invoiceUUID'];
        regent_id = json['regent_id'];
        uuid = json['uuid'];
        reporting_term = json['reporting_term'];
        total_charges = JsonConverters.toDouble(json['total_charges']);
        total_credits = JsonConverters.toDouble(json['total_credits']);
        current_status = json['current_status'];
        timestamp = JsonConverters.fromJson(json['timestamp'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!),
        'invoiceUUID': invoiceUUID,
        'regent_id': regent_id,
        'uuid': uuid,
        'reporting_term': reporting_term,
        'total_charges': total_charges,
        'total_credits': total_credits,
        'current_status': current_status,
        'timestamp': JsonConverters.toJson(timestamp,'DateTime',context!)
    };

    getTypeName() => "InvoiceResponse";
    TypeContext? context = _ctx;
}

class InvoiceItemResponse implements IConvertible
{
    ResponseStatus? responseStatus;
    String? invoiceItemUUID;
    int? rate_id;
    String? rate_code;
    String? rate_description;
    double? charge;
    double? credit;

    InvoiceItemResponse({this.responseStatus,this.invoiceItemUUID,this.rate_id,this.rate_code,this.rate_description,this.charge,this.credit});
    InvoiceItemResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        invoiceItemUUID = json['invoiceItemUUID'];
        rate_id = json['rate_id'];
        rate_code = json['rate_code'];
        rate_description = json['rate_description'];
        charge = JsonConverters.toDouble(json['charge']);
        credit = JsonConverters.toDouble(json['credit']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!),
        'invoiceItemUUID': invoiceItemUUID,
        'rate_id': rate_id,
        'rate_code': rate_code,
        'rate_description': rate_description,
        'charge': charge,
        'credit': credit
    };

    getTypeName() => "InvoiceItemResponse";
    TypeContext? context = _ctx;
}

class InstructorResponse implements IConvertible
{
    ResponseStatus? responseStatus;
    int? regent_id;
    String? regent_login;
    String? preferred_name;
    String? first_name;
    String? last_name;
    String? full_name;
    String? email;
    String? image_base64;

    InstructorResponse({this.responseStatus,this.regent_id,this.regent_login,this.preferred_name,this.first_name,this.last_name,this.full_name,this.email,this.image_base64});
    InstructorResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        regent_id = json['regent_id'];
        regent_login = json['regent_login'];
        preferred_name = json['preferred_name'];
        first_name = json['first_name'];
        last_name = json['last_name'];
        full_name = json['full_name'];
        email = json['email'];
        image_base64 = json['image_base64'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!),
        'regent_id': regent_id,
        'regent_login': regent_login,
        'preferred_name': preferred_name,
        'first_name': first_name,
        'last_name': last_name,
        'full_name': full_name,
        'email': email,
        'image_base64': image_base64
    };

    getTypeName() => "InstructorResponse";
    TypeContext? context = _ctx;
}

class DocumentResponse implements IConvertible
{
    String? code;
    String? document_name;
    String? document_description;

    DocumentResponse({this.code,this.document_name,this.document_description});
    DocumentResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        code = json['code'];
        document_name = json['document_name'];
        document_description = json['document_description'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'code': code,
        'document_name': document_name,
        'document_description': document_description
    };

    getTypeName() => "DocumentResponse";
    TypeContext? context = _ctx;
}

class SectionResponse implements IConvertible
{
    ResponseStatus? responseStatus;
    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;
    List<InstructorResponse>? instructors;
    List<DocumentResponse>? required_documents;
    DateTime? start_date;
    DateTime? end_date;
    DateTime? first_meeting_date;
    DateTime? last_meeting_date;
    String? meeting_days;
    List<String>? start_times;
    List<String>? end_times;
    bool? is_online_only;
    bool? is_weekend;
    bool? is_weekday;
    bool? is_evening;
    bool? is_waitlist;
    bool? has_special_requirements;
    String? special_requirements;
    bool? is_unlisted;
    List<double>? credit_amounts;
    List<double>? audit_amounts;
    String? audits_short_name;
    String? audits_long_name;
    String? credits_short_name;
    String? credits_long_name;
    String? distance_ed_materials;
    String? prerequisites;
    String? corequisites;
    int? capacity;
    double? flat_fee_amount;
    double? additional_fee_amount;
    int? registered_students;
    int? three_credit_plus;
    int? two_credit;
    int? one_credit;
    int? three_audit_plus;
    int? two_audit;
    int? one_audit;
    int? crosslist_registered_students;
    int? grades_received;
    int? crosslist_grades_received;
    DateTime? registration_start_date;
    DateTime? registration_end_date;
    DateTime? add_start_date;
    DateTime? add_end_date;
    DateTime? drop_start_date;
    DateTime? drop_end_date;
    DateTime? grading_end_date;
    String? term;
    String? reporting_term;
    int? reporting_year;
    String? current_status;
    String? added_by;
    DateTime? added_date;
    String? changed_by;
    DateTime? changed_date;
    DateTime? timestamp;

    SectionResponse({this.responseStatus,this.secUUID,this.course_name,this.section_code,this.course_title,this.course_short_title,this.course_description,this.crosslist_description,this.crosslist_course_name,this.location_long_name,this.room,this.instructors,this.required_documents,this.start_date,this.end_date,this.first_meeting_date,this.last_meeting_date,this.meeting_days,this.start_times,this.end_times,this.is_online_only,this.is_weekend,this.is_weekday,this.is_evening,this.is_waitlist,this.has_special_requirements,this.special_requirements,this.is_unlisted,this.credit_amounts,this.audit_amounts,this.audits_short_name,this.audits_long_name,this.credits_short_name,this.credits_long_name,this.distance_ed_materials,this.prerequisites,this.corequisites,this.capacity,this.flat_fee_amount,this.additional_fee_amount,this.registered_students,this.three_credit_plus,this.two_credit,this.one_credit,this.three_audit_plus,this.two_audit,this.one_audit,this.crosslist_registered_students,this.grades_received,this.crosslist_grades_received,this.registration_start_date,this.registration_end_date,this.add_start_date,this.add_end_date,this.drop_start_date,this.drop_end_date,this.grading_end_date,this.term,this.reporting_term,this.reporting_year,this.current_status,this.added_by,this.added_date,this.changed_by,this.changed_date,this.timestamp});
    SectionResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        secUUID = json['secUUID'];
        course_name = json['course_name'];
        section_code = json['section_code'];
        course_title = json['course_title'];
        course_short_title = json['course_short_title'];
        course_description = json['course_description'];
        crosslist_description = json['crosslist_description'];
        crosslist_course_name = json['crosslist_course_name'];
        location_long_name = json['location_long_name'];
        room = json['room'];
        instructors = JsonConverters.fromJson(json['instructors'],'List<InstructorResponse>',context!);
        required_documents = JsonConverters.fromJson(json['required_documents'],'List<DocumentResponse>',context!);
        start_date = JsonConverters.fromJson(json['start_date'],'DateTime',context!);
        end_date = JsonConverters.fromJson(json['end_date'],'DateTime',context!);
        first_meeting_date = JsonConverters.fromJson(json['first_meeting_date'],'DateTime',context!);
        last_meeting_date = JsonConverters.fromJson(json['last_meeting_date'],'DateTime',context!);
        meeting_days = json['meeting_days'];
        start_times = JsonConverters.fromJson(json['start_times'],'List<String>',context!);
        end_times = JsonConverters.fromJson(json['end_times'],'List<String>',context!);
        is_online_only = json['is_online_only'];
        is_weekend = json['is_weekend'];
        is_weekday = json['is_weekday'];
        is_evening = json['is_evening'];
        is_waitlist = json['is_waitlist'];
        has_special_requirements = json['has_special_requirements'];
        special_requirements = json['special_requirements'];
        is_unlisted = json['is_unlisted'];
        credit_amounts = JsonConverters.fromJson(json['credit_amounts'],'List<double>',context!);
        audit_amounts = JsonConverters.fromJson(json['audit_amounts'],'List<double>',context!);
        audits_short_name = json['audits_short_name'];
        audits_long_name = json['audits_long_name'];
        credits_short_name = json['credits_short_name'];
        credits_long_name = json['credits_long_name'];
        distance_ed_materials = json['distance_ed_materials'];
        prerequisites = json['prerequisites'];
        corequisites = json['corequisites'];
        capacity = json['capacity'];
        flat_fee_amount = JsonConverters.toDouble(json['flat_fee_amount']);
        additional_fee_amount = JsonConverters.toDouble(json['additional_fee_amount']);
        registered_students = json['registered_students'];
        three_credit_plus = json['three_credit_plus'];
        two_credit = json['two_credit'];
        one_credit = json['one_credit'];
        three_audit_plus = json['three_audit_plus'];
        two_audit = json['two_audit'];
        one_audit = json['one_audit'];
        crosslist_registered_students = json['crosslist_registered_students'];
        grades_received = json['grades_received'];
        crosslist_grades_received = json['crosslist_grades_received'];
        registration_start_date = JsonConverters.fromJson(json['registration_start_date'],'DateTime',context!);
        registration_end_date = JsonConverters.fromJson(json['registration_end_date'],'DateTime',context!);
        add_start_date = JsonConverters.fromJson(json['add_start_date'],'DateTime',context!);
        add_end_date = JsonConverters.fromJson(json['add_end_date'],'DateTime',context!);
        drop_start_date = JsonConverters.fromJson(json['drop_start_date'],'DateTime',context!);
        drop_end_date = JsonConverters.fromJson(json['drop_end_date'],'DateTime',context!);
        grading_end_date = JsonConverters.fromJson(json['grading_end_date'],'DateTime',context!);
        term = json['term'];
        reporting_term = json['reporting_term'];
        reporting_year = json['reporting_year'];
        current_status = json['current_status'];
        added_by = json['added_by'];
        added_date = JsonConverters.fromJson(json['added_date'],'DateTime',context!);
        changed_by = json['changed_by'];
        changed_date = JsonConverters.fromJson(json['changed_date'],'DateTime',context!);
        timestamp = JsonConverters.fromJson(json['timestamp'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!),
        'secUUID': secUUID,
        'course_name': course_name,
        'section_code': section_code,
        'course_title': course_title,
        'course_short_title': course_short_title,
        'course_description': course_description,
        'crosslist_description': crosslist_description,
        'crosslist_course_name': crosslist_course_name,
        'location_long_name': location_long_name,
        'room': room,
        'instructors': JsonConverters.toJson(instructors,'List<InstructorResponse>',context!),
        'required_documents': JsonConverters.toJson(required_documents,'List<DocumentResponse>',context!),
        'start_date': JsonConverters.toJson(start_date,'DateTime',context!),
        'end_date': JsonConverters.toJson(end_date,'DateTime',context!),
        'first_meeting_date': JsonConverters.toJson(first_meeting_date,'DateTime',context!),
        'last_meeting_date': JsonConverters.toJson(last_meeting_date,'DateTime',context!),
        'meeting_days': meeting_days,
        'start_times': JsonConverters.toJson(start_times,'List<String>',context!),
        'end_times': JsonConverters.toJson(end_times,'List<String>',context!),
        'is_online_only': is_online_only,
        'is_weekend': is_weekend,
        'is_weekday': is_weekday,
        'is_evening': is_evening,
        'is_waitlist': is_waitlist,
        'has_special_requirements': has_special_requirements,
        'special_requirements': special_requirements,
        'is_unlisted': is_unlisted,
        'credit_amounts': JsonConverters.toJson(credit_amounts,'List<double>',context!),
        'audit_amounts': JsonConverters.toJson(audit_amounts,'List<double>',context!),
        'audits_short_name': audits_short_name,
        'audits_long_name': audits_long_name,
        'credits_short_name': credits_short_name,
        'credits_long_name': credits_long_name,
        'distance_ed_materials': distance_ed_materials,
        'prerequisites': prerequisites,
        'corequisites': corequisites,
        'capacity': capacity,
        'flat_fee_amount': flat_fee_amount,
        'additional_fee_amount': additional_fee_amount,
        'registered_students': registered_students,
        'three_credit_plus': three_credit_plus,
        'two_credit': two_credit,
        'one_credit': one_credit,
        'three_audit_plus': three_audit_plus,
        'two_audit': two_audit,
        'one_audit': one_audit,
        'crosslist_registered_students': crosslist_registered_students,
        'grades_received': grades_received,
        'crosslist_grades_received': crosslist_grades_received,
        'registration_start_date': JsonConverters.toJson(registration_start_date,'DateTime',context!),
        'registration_end_date': JsonConverters.toJson(registration_end_date,'DateTime',context!),
        'add_start_date': JsonConverters.toJson(add_start_date,'DateTime',context!),
        'add_end_date': JsonConverters.toJson(add_end_date,'DateTime',context!),
        'drop_start_date': JsonConverters.toJson(drop_start_date,'DateTime',context!),
        'drop_end_date': JsonConverters.toJson(drop_end_date,'DateTime',context!),
        'grading_end_date': JsonConverters.toJson(grading_end_date,'DateTime',context!),
        'term': term,
        'reporting_term': reporting_term,
        'reporting_year': reporting_year,
        'current_status': current_status,
        'added_by': added_by,
        'added_date': JsonConverters.toJson(added_date,'DateTime',context!),
        'changed_by': changed_by,
        'changed_date': JsonConverters.toJson(changed_date,'DateTime',context!),
        'timestamp': JsonConverters.toJson(timestamp,'DateTime',context!)
    };

    getTypeName() => "SectionResponse";
    TypeContext? context = _ctx;
}

class StudentSectionResponse extends SectionResponse implements IConvertible
{
    String? studentSectionUUID;
    double? registered_amount;
    bool? is_provisional;
    bool? is_audit;

    StudentSectionResponse({this.studentSectionUUID,this.registered_amount,this.is_provisional,this.is_audit});
    StudentSectionResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        studentSectionUUID = json['studentSectionUUID'];
        registered_amount = JsonConverters.toDouble(json['registered_amount']);
        is_provisional = json['is_provisional'];
        is_audit = json['is_audit'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'studentSectionUUID': studentSectionUUID,
        'registered_amount': registered_amount,
        'is_provisional': is_provisional,
        'is_audit': is_audit
    });

    getTypeName() => "StudentSectionResponse";
    TypeContext? context = _ctx;
}

class StudentSectionInvoiceItemResponse extends InvoiceItemResponse implements IConvertible
{
    StudentSectionResponse? studentSection;

    StudentSectionInvoiceItemResponse({this.studentSection});
    StudentSectionInvoiceItemResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        studentSection = JsonConverters.fromJson(json['studentSection'],'StudentSectionResponse',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'studentSection': JsonConverters.toJson(studentSection,'StudentSectionResponse',context!)
    });

    getTypeName() => "StudentSectionInvoiceItemResponse";
    TypeContext? context = _ctx;
}

class InvoiceItemAdminResponse implements IConvertible
{
    ResponseStatus? responseStatus;
    String? invoiceItemUUID;
    int? rate_id;
    String? rate_code;
    String? rate_description;
    bool? is_required;
    bool? is_optional;
    double? charge;
    double? credit;

    InvoiceItemAdminResponse({this.responseStatus,this.invoiceItemUUID,this.rate_id,this.rate_code,this.rate_description,this.is_required,this.is_optional,this.charge,this.credit});
    InvoiceItemAdminResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        invoiceItemUUID = json['invoiceItemUUID'];
        rate_id = json['rate_id'];
        rate_code = json['rate_code'];
        rate_description = json['rate_description'];
        is_required = json['is_required'];
        is_optional = json['is_optional'];
        charge = JsonConverters.toDouble(json['charge']);
        credit = JsonConverters.toDouble(json['credit']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!),
        'invoiceItemUUID': invoiceItemUUID,
        'rate_id': rate_id,
        'rate_code': rate_code,
        'rate_description': rate_description,
        'is_required': is_required,
        'is_optional': is_optional,
        'charge': charge,
        'credit': credit
    };

    getTypeName() => "InvoiceItemAdminResponse";
    TypeContext? context = _ctx;
}

class BenefitResponse implements IConvertible
{
    int? rate_id;
    String? rate_code;
    String? rate_description;
    double? percentage_rate;
    bool? is_optional;
    bool? is_required;

    BenefitResponse({this.rate_id,this.rate_code,this.rate_description,this.percentage_rate,this.is_optional,this.is_required});
    BenefitResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        rate_id = json['rate_id'];
        rate_code = json['rate_code'];
        rate_description = json['rate_description'];
        percentage_rate = JsonConverters.toDouble(json['percentage_rate']);
        is_optional = json['is_optional'];
        is_required = json['is_required'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'rate_id': rate_id,
        'rate_code': rate_code,
        'rate_description': rate_description,
        'percentage_rate': percentage_rate,
        'is_optional': is_optional,
        'is_required': is_required
    };

    getTypeName() => "BenefitResponse";
    TypeContext? context = _ctx;
}

class AddRegistrationsResponse extends InvoiceResponse implements IConvertible
{
    String? transaction_uuid;
    List<StudentSectionInvoiceItemResponse>? studentSectionInvoiceItems;
    Map<String,List<SectionRateWithAmountResponse>?>? sectionRates;
    InvoiceItemAdminResponse? creditTuitionRate;
    InvoiceItemAdminResponse? auditTuitionRate;
    int? studentAge;
    int? studentAgeAtEarliestSectionStartDate;
    bool? isRegentGrad;
    bool? isOnlyUnclassified;
    bool? canRegisterForAuditInTerm;
    bool? canRegisterForCreditInTerm;
    List<String>? messages;
    double? currentTermAuditHours;
    double? currentTermCreditHours;
    double? totalCreditHours;
    List<InvoiceItemAdminResponse>? availableInvoiceItems;
    List<BenefitResponse>? availableBenefits;

    AddRegistrationsResponse({this.transaction_uuid,this.studentSectionInvoiceItems,this.sectionRates,this.creditTuitionRate,this.auditTuitionRate,this.studentAge,this.studentAgeAtEarliestSectionStartDate,this.isRegentGrad,this.isOnlyUnclassified,this.canRegisterForAuditInTerm,this.canRegisterForCreditInTerm,this.messages,this.currentTermAuditHours,this.currentTermCreditHours,this.totalCreditHours,this.availableInvoiceItems,this.availableBenefits});
    AddRegistrationsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        transaction_uuid = json['transaction_uuid'];
        studentSectionInvoiceItems = JsonConverters.fromJson(json['studentSectionInvoiceItems'],'List<StudentSectionInvoiceItemResponse>',context!);
        sectionRates = JsonConverters.fromJson(json['sectionRates'],'Map<String,List<SectionRateWithAmountResponse>?>',context!);
        creditTuitionRate = JsonConverters.fromJson(json['creditTuitionRate'],'InvoiceItemAdminResponse',context!);
        auditTuitionRate = JsonConverters.fromJson(json['auditTuitionRate'],'InvoiceItemAdminResponse',context!);
        studentAge = json['studentAge'];
        studentAgeAtEarliestSectionStartDate = json['studentAgeAtEarliestSectionStartDate'];
        isRegentGrad = json['isRegentGrad'];
        isOnlyUnclassified = json['isOnlyUnclassified'];
        canRegisterForAuditInTerm = json['canRegisterForAuditInTerm'];
        canRegisterForCreditInTerm = json['canRegisterForCreditInTerm'];
        messages = JsonConverters.fromJson(json['messages'],'List<String>',context!);
        currentTermAuditHours = JsonConverters.toDouble(json['currentTermAuditHours']);
        currentTermCreditHours = JsonConverters.toDouble(json['currentTermCreditHours']);
        totalCreditHours = JsonConverters.toDouble(json['totalCreditHours']);
        availableInvoiceItems = JsonConverters.fromJson(json['availableInvoiceItems'],'List<InvoiceItemAdminResponse>',context!);
        availableBenefits = JsonConverters.fromJson(json['availableBenefits'],'List<BenefitResponse>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'transaction_uuid': transaction_uuid,
        'studentSectionInvoiceItems': JsonConverters.toJson(studentSectionInvoiceItems,'List<StudentSectionInvoiceItemResponse>',context!),
        'sectionRates': JsonConverters.toJson(sectionRates,'Map<String,List<SectionRateWithAmountResponse>?>',context!),
        'creditTuitionRate': JsonConverters.toJson(creditTuitionRate,'InvoiceItemAdminResponse',context!),
        'auditTuitionRate': JsonConverters.toJson(auditTuitionRate,'InvoiceItemAdminResponse',context!),
        'studentAge': studentAge,
        'studentAgeAtEarliestSectionStartDate': studentAgeAtEarliestSectionStartDate,
        'isRegentGrad': isRegentGrad,
        'isOnlyUnclassified': isOnlyUnclassified,
        'canRegisterForAuditInTerm': canRegisterForAuditInTerm,
        'canRegisterForCreditInTerm': canRegisterForCreditInTerm,
        'messages': JsonConverters.toJson(messages,'List<String>',context!),
        'currentTermAuditHours': currentTermAuditHours,
        'currentTermCreditHours': currentTermCreditHours,
        'totalCreditHours': totalCreditHours,
        'availableInvoiceItems': JsonConverters.toJson(availableInvoiceItems,'List<InvoiceItemAdminResponse>',context!),
        'availableBenefits': JsonConverters.toJson(availableBenefits,'List<BenefitResponse>',context!)
    });

    getTypeName() => "AddRegistrationsResponse";
    TypeContext? context = _ctx;
}

class ProvisionalRegistrationAuthorizeRequest implements IConvertible
{
    String? student_section_uuid;
    String? authorizing_uuid;

    ProvisionalRegistrationAuthorizeRequest({this.student_section_uuid,this.authorizing_uuid});
    ProvisionalRegistrationAuthorizeRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        student_section_uuid = json['student_section_uuid'];
        authorizing_uuid = json['authorizing_uuid'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'student_section_uuid': student_section_uuid,
        'authorizing_uuid': authorizing_uuid
    };

    getTypeName() => "ProvisionalRegistrationAuthorizeRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'data.regent_college.edu', types: <String, TypeInfo> {
    'InvoiceResponse': TypeInfo(TypeOf.Class, create:() => InvoiceResponse()),
    'InvoiceItemResponse': TypeInfo(TypeOf.Class, create:() => InvoiceItemResponse()),
    'InstructorResponse': TypeInfo(TypeOf.Class, create:() => InstructorResponse()),
    'DocumentResponse': TypeInfo(TypeOf.Class, create:() => DocumentResponse()),
    'SectionResponse': TypeInfo(TypeOf.Class, create:() => SectionResponse()),
    'List<InstructorResponse>': TypeInfo(TypeOf.Class, create:() => <InstructorResponse>[]),
    'List<DocumentResponse>': TypeInfo(TypeOf.Class, create:() => <DocumentResponse>[]),
    'StudentSectionResponse': TypeInfo(TypeOf.Class, create:() => StudentSectionResponse()),
    'StudentSectionInvoiceItemResponse': TypeInfo(TypeOf.Class, create:() => StudentSectionInvoiceItemResponse()),
    'InvoiceItemAdminResponse': TypeInfo(TypeOf.Class, create:() => InvoiceItemAdminResponse()),
    'BenefitResponse': TypeInfo(TypeOf.Class, create:() => BenefitResponse()),
    'AddRegistrationsResponse': TypeInfo(TypeOf.Class, create:() => AddRegistrationsResponse()),
    'List<StudentSectionInvoiceItemResponse>': TypeInfo(TypeOf.Class, create:() => <StudentSectionInvoiceItemResponse>[]),
    'Map<String,List<SectionRateWithAmountResponse>?>': TypeInfo(TypeOf.Class, create:() => Map<String,List<SectionRateWithAmountResponse>?>()),
    'List<SectionRateWithAmountResponse>': TypeInfo(TypeOf.Class, create:() => <SectionRateWithAmountResponse>[]),
    'SectionRateWithAmountResponse': TypeInfo(TypeOf.Class, create:() => SectionRateWithAmountResponse()),
    'List<InvoiceItemAdminResponse>': TypeInfo(TypeOf.Class, create:() => <InvoiceItemAdminResponse>[]),
    'List<BenefitResponse>': TypeInfo(TypeOf.Class, create:() => <BenefitResponse>[]),
    'ProvisionalRegistrationAuthorizeRequest': TypeInfo(TypeOf.Class, create:() => ProvisionalRegistrationAuthorizeRequest()),
});

Dart ProvisionalRegistrationAuthorizeRequest 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/Provisional/{student_section_uuid}/Authorize HTTP/1.1 
Host: data.regent-college.edu 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	student_section_uuid: String,
	authorizing_uuid: String
}
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
		}
	],
	sectionRates: 
	{
		String: 
		[
			{
				rate_id: 0,
				charge: 0,
				credit: 0,
				responseStatus: 
				{
					errorCode: String,
					message: String,
					stackTrace: String,
					errors: 
					[
						{
							errorCode: String,
							fieldName: String,
							message: String,
							meta: 
							{
								String: String
							}
						}
					],
					meta: 
					{
						String: String
					}
				},
				uuid: String,
				secUUID: String,
				section_id: 0,
				course_name: String,
				section_code: String,
				title: String,
				reporting_term: String,
				rate_code: String,
				rate_description: String,
				is_override_credit_rate: False,
				is_override_audit_rate: False
			}
		]
	},
	creditTuitionRate: 
	{
		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,
		is_required: False,
		is_optional: False,
		charge: 0,
		credit: 0
	},
	auditTuitionRate: 
	{
		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,
		is_required: False,
		is_optional: False,
		charge: 0,
		credit: 0
	},
	studentAge: 0,
	studentAgeAtEarliestSectionStartDate: 0,
	isRegentGrad: False,
	isOnlyUnclassified: False,
	canRegisterForAuditInTerm: False,
	canRegisterForCreditInTerm: False,
	messages: 
	[
		String
	],
	currentTermAuditHours: 0,
	currentTermCreditHours: 0,
	totalCreditHours: 0,
	availableInvoiceItems: 
	[
		{
			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,
			is_required: False,
			is_optional: False,
			charge: 0,
			credit: 0
		}
	],
	availableBenefits: 
	[
		{
			rate_id: 0,
			rate_code: String,
			rate_description: String,
			percentage_rate: 0,
			is_optional: False,
			is_required: False
		}
	],
	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
}