regis

<back to all web services

SectionCreateRequest

Requires Authentication
Required role:REGISUserRole
The following routes are available for this service:
POST/Sections/Admin/{reporting_term}/Create
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 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 SectionCreateRequest:
    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
    start_times: Optional[str] = None
    end_times: Optional[str] = None
    meeting_days: Optional[str] = None
    is_pass_fail: 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
    authorizing_uuid: Optional[str] = None

Python SectionCreateRequest 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}/Create HTTP/1.1 
Host: data.regent-college.edu 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	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,
	start_times: String,
	end_times: String,
	meeting_days: String,
	is_pass_fail: 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,
	authorizing_uuid: 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
		}
	},
	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
}