""" Options: Date: 2024-12-29 03:44:19 Version: 8.22 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://data.regent-college.edu #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: DropReviewRequest.* #ExcludeTypes: #DefaultImports: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ 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 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 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 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 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 # @Route("/Registration/Drop/{uuid}/Term/{reporting_term}/Review", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class DropReviewRequest(IReturn[StudentSectionInvoiceResponse]): transaction_uuid: Optional[str] = None uuid: Optional[str] = None reporting_term: Optional[str] = None student_section_uuids_to_drop: Optional[List[str]] = None authorizing_uuid: Optional[str] = None