regis

<back to all web services

RegistrationChangeReviewRequest

Requires Authentication
Required role:REGISUserRole
The following routes are available for this service:
POST/Registration/Change/{uuid}/Term/{reporting_term}/Review
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class InvoiceResponse:
    response_status: Optional[ResponseStatus] = None
    invoice_u_u_i_d: Optional[str] = None
    regent_id: int = 0
    uuid: Optional[str] = None
    reporting_term: Optional[str] = None
    total_charges: Optional[Decimal] = None
    total_credits: Optional[Decimal] = None
    current_status: Optional[str] = None
    timestamp: datetime.datetime = datetime.datetime(1, 1, 1)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class InvoiceItemResponse:
    response_status: Optional[ResponseStatus] = None
    invoice_item_u_u_i_d: Optional[str] = None
    rate_id: int = 0
    rate_code: Optional[str] = None
    rate_description: Optional[str] = None
    charge: Optional[Decimal] = None
    credit: Optional[Decimal] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class InstructorResponse:
    response_status: Optional[ResponseStatus] = None
    regent_id: int = 0
    regent_login: Optional[str] = None
    preferred_name: Optional[str] = None
    first_name: Optional[str] = None
    last_name: Optional[str] = None
    full_name: Optional[str] = None
    email: Optional[str] = None
    image_base64: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DocumentResponse:
    code: Optional[str] = None
    document_name: Optional[str] = None
    document_description: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SectionResponse:
    response_status: Optional[ResponseStatus] = None
    sec_u_u_i_d: Optional[str] = None
    course_name: Optional[str] = None
    section_code: Optional[str] = None
    course_title: Optional[str] = None
    course_short_title: Optional[str] = None
    course_description: Optional[str] = None
    crosslist_description: Optional[str] = None
    crosslist_course_name: Optional[str] = None
    location_long_name: Optional[str] = None
    room: Optional[str] = None
    instructors: Optional[List[InstructorResponse]] = None
    required_documents: Optional[List[DocumentResponse]] = None
    start_date: Optional[datetime.datetime] = None
    end_date: Optional[datetime.datetime] = None
    first_meeting_date: Optional[datetime.datetime] = None
    last_meeting_date: Optional[datetime.datetime] = None
    meeting_days: Optional[str] = None
    start_times: Optional[List[str]] = None
    end_times: Optional[List[str]] = None
    is_online_only: bool = False
    is_weekend: bool = False
    is_weekday: bool = False
    is_evening: bool = False
    is_waitlist: bool = False
    has_special_requirements: bool = False
    special_requirements: Optional[str] = None
    is_unlisted: bool = False
    credit_amounts: Optional[List[Decimal]] = None
    audit_amounts: Optional[List[Decimal]] = None
    audits_short_name: Optional[str] = None
    audits_long_name: Optional[str] = None
    credits_short_name: Optional[str] = None
    credits_long_name: Optional[str] = None
    distance_ed_materials: Optional[str] = None
    prerequisites: Optional[str] = None
    corequisites: Optional[str] = None
    capacity: Optional[int] = None
    flat_fee_amount: Optional[Decimal] = None
    additional_fee_amount: Optional[Decimal] = None
    registered_students: int = 0
    three_credit_plus: int = 0
    two_credit: int = 0
    one_credit: int = 0
    three_audit_plus: int = 0
    two_audit: int = 0
    one_audit: int = 0
    crosslist_registered_students: int = 0
    grades_received: int = 0
    crosslist_grades_received: int = 0
    registration_start_date: Optional[datetime.datetime] = None
    registration_end_date: Optional[datetime.datetime] = None
    add_start_date: Optional[datetime.datetime] = None
    add_end_date: Optional[datetime.datetime] = None
    drop_start_date: Optional[datetime.datetime] = None
    drop_end_date: Optional[datetime.datetime] = None
    grading_end_date: Optional[datetime.datetime] = None
    term: Optional[str] = None
    reporting_term: Optional[str] = None
    reporting_year: int = 0
    current_status: Optional[str] = None
    added_by: Optional[str] = None
    added_date: Optional[datetime.datetime] = None
    changed_by: Optional[str] = None
    changed_date: Optional[datetime.datetime] = None
    timestamp: datetime.datetime = datetime.datetime(1, 1, 1)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StudentSectionResponse(SectionResponse):
    student_section_u_u_i_d: Optional[str] = None
    registered_amount: Decimal = decimal.Decimal(0)
    is_provisional: bool = False
    is_audit: bool = False


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StudentSectionInvoiceItemResponse(InvoiceItemResponse):
    student_section: Optional[StudentSectionResponse] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StudentSectionInvoiceResponse(InvoiceResponse):
    transaction_uuid: Optional[str] = None
    student_section_invoice_items: Optional[List[StudentSectionInvoiceItemResponse]] = None
    other_invoice_items: Optional[List[InvoiceItemResponse]] = None
    opted_in_invoice_items: Optional[List[InvoiceItemResponse]] = None
    optional_invoice_items: Optional[List[InvoiceItemResponse]] = None
    applied_for_spousal_audit_benefit: bool = False
    applied_for_spousal_credit_benefit: bool = False
    applied_for_d_e_reentry_benefit: bool = False
    drop_refund_rate: Optional[Decimal] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RegistrationChangeReviewRequest:
    transaction_uuid: Optional[str] = None
    uuid: Optional[str] = None
    reporting_term: Optional[str] = None
    rates_opted_in: Optional[List[int]] = None
    authorizing_uuid: Optional[str] = None
    is_audit: bool = False
    is_oncampus: bool = False
    is_online: bool = False
    amount: Decimal = decimal.Decimal(0)
    section_uuid: Optional[str] = None
    applied_for_spousal_audit_benefit: bool = False
    applied_for_spousal_credit_benefit: bool = False

Python RegistrationChangeReviewRequest 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/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
}