Required role: | REGISUserRole |
POST | /Registration/{uuid}/Drop/{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 DropRegistrationResponse:
student_section_uuid: Optional[str] = None
course_name: Optional[str] = None
section_code: Optional[str] = None
title: Optional[str] = None
term: Optional[str] = None
amount: Decimal = decimal.Decimal(0)
is_audit: bool = False
is_grade_final: bool = False
is_provisional: bool = False
is_selected_to_drop: bool = False
suggested_refund_percentage: Decimal = decimal.Decimal(0)
suggested_refund_amount: Decimal = decimal.Decimal(0)
balance_amount: Decimal = decimal.Decimal(0)
charge_amount: Decimal = decimal.Decimal(0)
credit_amount: Decimal = decimal.Decimal(0)
description: Optional[str] = None
additional_rate_description: Optional[str] = None
additional_rate_id: Optional[int] = None
additional_rate_amount: Optional[Decimal] = None
additional_rate_suggested_refund_percentage: Optional[Decimal] = None
additional_rate_suggested_refund_amount: Optional[Decimal] = None
benefit_description: Optional[str] = None
second_benefit_description: Optional[str] = None
benefit_rate_id: Optional[int] = None
benefit_amount: Optional[Decimal] = None
second_benefit_amount: Optional[Decimal] = None
second_benefit_rate_id: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class InvoiceItemBalanceResponse:
response_status: Optional[ResponseStatus] = None
rate_id: int = 0
rate_code: Optional[str] = None
rate_description: Optional[str] = None
balance_amount: Decimal = decimal.Decimal(0)
charge_amount: Decimal = decimal.Decimal(0)
credit_amount: Decimal = decimal.Decimal(0)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DropRegistrationsResponse:
response_status: Optional[ResponseStatus] = None
transaction_uuid: Optional[str] = None
regent_id: int = 0
uuid: Optional[str] = None
reporting_term: Optional[str] = None
suggested_drop_fee: Decimal = decimal.Decimal(0)
suggested_full_student_fee_refund: bool = False
messages: Optional[List[str]] = None
registrations: Optional[List[DropRegistrationResponse]] = None
invoice_item_balances: Optional[List[InvoiceItemBalanceResponse]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DropRegistrationsRequest:
uuid: Optional[str] = None
reporting_term: Optional[str] = None
registrations: Optional[List[DropRegistrationResponse]] = None
override_drop_date: Optional[datetime.datetime] = None
authorizing_uuid: Optional[str] = None
Python DropRegistrationsRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /Registration/{uuid}/Drop/{reporting_term} HTTP/1.1
Host: data.regent-college.edu
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"uuid":"String","reporting_term":"String","registrations":[{"student_section_uuid":"String","course_name":"String","section_code":"String","title":"String","term":"String","amount":0,"is_audit":false,"is_grade_final":false,"is_provisional":false,"is_selected_to_drop":false,"suggested_refund_percentage":0,"suggested_refund_amount":0,"balance_amount":0,"charge_amount":0,"credit_amount":0,"description":"String","additional_rate_description":"String","additional_rate_id":0,"additional_rate_amount":0,"additional_rate_suggested_refund_percentage":0,"additional_rate_suggested_refund_amount":0,"benefit_description":"String","second_benefit_description":"String","benefit_rate_id":0,"benefit_amount":0,"second_benefit_amount":0,"second_benefit_rate_id":0}],"override_drop_date":"0001-01-01T00:00:00.0000000","authorizing_uuid":"String"}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}},"transaction_uuid":"String","regent_id":0,"uuid":"String","reporting_term":"String","suggested_drop_fee":0,"suggested_full_student_fee_refund":false,"messages":["String"],"registrations":[{"student_section_uuid":"String","course_name":"String","section_code":"String","title":"String","term":"String","amount":0,"is_audit":false,"is_grade_final":false,"is_provisional":false,"is_selected_to_drop":false,"suggested_refund_percentage":0,"suggested_refund_amount":0,"balance_amount":0,"charge_amount":0,"credit_amount":0,"description":"String","additional_rate_description":"String","additional_rate_id":0,"additional_rate_amount":0,"additional_rate_suggested_refund_percentage":0,"additional_rate_suggested_refund_amount":0,"benefit_description":"String","second_benefit_description":"String","benefit_rate_id":0,"benefit_amount":0,"second_benefit_amount":0,"second_benefit_rate_id":0}],"invoiceItemBalances":[{"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}},"rate_id":0,"rate_code":"String","rate_description":"String","balance_amount":0,"charge_amount":0,"credit_amount":0}]}