regis

<back to all web services

SectionsAdminRequest

Requires Authentication
Required role:REGISUserRole
The following routes are available for this service:
POST/Sections/Admin/{reporting_term}
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 SectionAdminResponse:
    uuid: Optional[str] = None
    section_id: int = 0
    course_id: Optional[int] = None
    course_name: Optional[str] = None
    min_credits: Optional[Decimal] = None
    max_credits: Optional[Decimal] = None
    credit_increments: Optional[Decimal] = None
    min_audits: Optional[Decimal] = None
    max_audits: Optional[Decimal] = None
    audit_increments: Optional[Decimal] = None
    section_code: Optional[str] = None
    title: Optional[str] = None
    pretty_title: Optional[str] = None
    override_course_description: Optional[str] = None
    current_status: Optional[str] = None
    location: Optional[str] = None
    room: Optional[str] = None
    is_audio: bool = False
    is_oncampus: bool = False
    distance_ed_materials: Optional[str] = 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[str] = None
    end_times: Optional[str] = None
    is_pass_fail: 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
    capacity: Optional[int] = None
    flat_fee_amount: Optional[Decimal] = None
    additional_fee_amount: Optional[Decimal] = None
    override_registration_start_date: Optional[datetime.datetime] = None
    override_registration_end_date: Optional[datetime.datetime] = None
    override_add_start_date: Optional[datetime.datetime] = None
    override_add_end_date: Optional[datetime.datetime] = None
    override_drop_start_date: Optional[datetime.datetime] = None
    override_drop_end_date: Optional[datetime.datetime] = None
    override_grading_end_date: Optional[datetime.datetime] = None
    term: Optional[str] = None
    reporting_term: Optional[str] = None
    reporting_year: int = 0
    added_date: Optional[datetime.datetime] = None
    added_by: Optional[str] = None
    changed_date: Optional[datetime.datetime] = None
    changed_by: Optional[str] = None
    timestamp: datetime.datetime = datetime.datetime(1, 1, 1)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SectionsAdminResponse:
    response_status: Optional[ResponseStatus] = None
    reporting_term: Optional[str] = None
    sections: Optional[List[SectionAdminResponse]] = None
    section_rates: Optional[Dict[int, List[SectionRateWithAmountResponse]]] = None
    section_refund_schedules: Optional[Dict[int, List[SectionRefundScheduleResponse]]] = None
    locations: Optional[List[str]] = None
    section_instructors: Optional[Dict[int, List[InstructorResponse]]] = None
    section_document_codes: Optional[Dict[int, List[str]]] = None
    crosslisted_sections: Optional[Dict[int, List[int]]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SectionsAdminRequest:
    reporting_term: Optional[str] = None

Python SectionsAdminRequest 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 /Sections/Admin/{reporting_term} HTTP/1.1 
Host: data.regent-college.edu 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	reporting_term: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	},
	reporting_term: String,
	sections: 
	[
		{
			uuid: String,
			section_id: 0,
			course_id: 0,
			course_name: String,
			min_credits: 0,
			max_credits: 0,
			credit_increments: 0,
			min_audits: 0,
			max_audits: 0,
			audit_increments: 0,
			section_code: String,
			title: String,
			pretty_title: String,
			override_course_description: String,
			current_status: String,
			location: String,
			room: String,
			is_audio: False,
			is_oncampus: False,
			distance_ed_materials: 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_pass_fail: False,
			is_weekend: False,
			is_weekday: False,
			is_evening: False,
			is_waitlist: False,
			has_special_requirements: False,
			special_requirements: String,
			is_unlisted: False,
			capacity: 0,
			flat_fee_amount: 0,
			additional_fee_amount: 0,
			override_registration_start_date: 0001-01-01,
			override_registration_end_date: 0001-01-01,
			override_add_start_date: 0001-01-01,
			override_add_end_date: 0001-01-01,
			override_drop_start_date: 0001-01-01,
			override_drop_end_date: 0001-01-01,
			override_grading_end_date: 0001-01-01,
			term: String,
			reporting_term: String,
			reporting_year: 0,
			added_date: 0001-01-01,
			added_by: String,
			changed_date: 0001-01-01,
			changed_by: String,
			timestamp: 0001-01-01
		}
	],
	section_rates: 
	{
		0: 
		[
			{
				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
			}
		]
	},
	section_refund_schedules: 
	{
		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,
				percentage: 0,
				start_date: 0001-01-01,
				end_date: 0001-01-01
			}
		]
	},
	locations: 
	[
		String
	],
	section_instructors: 
	{
		0: 
		[
			{
				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
			}
		]
	},
	section_document_codes: 
	{
		0: 
		[
			String
		]
	},
	crosslisted_sections: 
	{
		0: 
		[
			0
		]
	}
}