regis

<back to all web services

RegistrationBillingAuditReportRequest

Requires Authentication
Required role:REGISUserRole
The following routes are available for this service:
POST/registration/billing-audit-reports
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 RegistrationBillingParityAuditResponse:
    execution_id: int = 0
    reporting_term: Optional[str] = None
    timestamp: datetime.datetime = datetime.datetime(1, 1, 1)
    workflow: Optional[str] = None
    execution_mode: Optional[str] = None
    regent_id: int = 0
    transaction_id: Optional[int] = None
    matches: bool = False
    legacy_succeeded: Optional[bool] = None
    composed_succeeded: Optional[bool] = None
    differences: Optional[str] = None
    request_summary_json: Optional[str] = None
    legacy_summary_json: Optional[str] = None
    composed_summary_json: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RegistrationBillingCompletenessAuditResponse:
    transaction_id: int = 0
    transaction_uuid: Optional[str] = None
    reporting_term: Optional[str] = None
    finished_datetime: datetime.datetime = datetime.datetime(1, 1, 1)
    operation: Optional[str] = None
    regent_id: int = 0
    student_uuid: Optional[str] = None
    student_name: Optional[str] = None
    invoice_count: int = 0
    invoice_net: Decimal = decimal.Decimal(0)
    item_net: Decimal = decimal.Decimal(0)
    gp_success_count: int = 0
    gp_failure_count: int = 0
    calculation_status: Optional[str] = None
    calculation_findings: Optional[str] = None
    status: Optional[str] = None
    findings: Optional[str] = None
    resolved_datetime: Optional[datetime.datetime] = None
    resolved_by_uuid: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RegistrationBillingFailureAuditResponse:
    source: Optional[str] = None
    reporting_term: Optional[str] = None
    id: int = 0
    timestamp: datetime.datetime = datetime.datetime(1, 1, 1)
    workflow: Optional[str] = None
    regent_id: int = 0
    transaction_id: Optional[int] = None
    invoice_id: Optional[str] = None
    gp_document_number: Optional[str] = None
    amount: Optional[Decimal] = None
    error: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RegistrationBillingDriftAuditResponse:
    transaction_id: int = 0
    reporting_term: Optional[str] = None
    regent_id: int = 0
    workflow: Optional[str] = None
    calculation_count: int = 0
    first_calculation: datetime.datetime = datetime.datetime(1, 1, 1)
    final_calculation: datetime.datetime = datetime.datetime(1, 1, 1)
    changed: bool = False
    persistence_status: Optional[str] = None
    persistence_findings: Optional[str] = None
    first_summary_json: Optional[str] = None
    final_summary_json: Optional[str] = None
    section_course_codes: Optional[Dict[int, str]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RegistrationBillingAuditReportResponse:
    parity: Optional[List[RegistrationBillingParityAuditResponse]] = None
    completeness: Optional[List[RegistrationBillingCompletenessAuditResponse]] = None
    failures: Optional[List[RegistrationBillingFailureAuditResponse]] = None
    drift: Optional[List[RegistrationBillingDriftAuditResponse]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RegistrationBillingAuditReportRequest:
    reporting_term: Optional[str] = None
    from_date: datetime.datetime = datetime.datetime(1, 1, 1)
    to_date: datetime.datetime = datetime.datetime(1, 1, 1)
    authorizing_uuid: Optional[str] = None

Python RegistrationBillingAuditReportRequest 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/billing-audit-reports HTTP/1.1 
Host: data.regent-college.edu 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	reporting_term: String,
	from_date: 0001-01-01,
	to_date: 0001-01-01,
	authorizing_uuid: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	parity: 
	[
		{
			execution_id: 0,
			reporting_term: String,
			timestamp: 0001-01-01,
			workflow: String,
			execution_mode: String,
			regent_id: 0,
			transaction_id: 0,
			matches: False,
			legacy_succeeded: False,
			composed_succeeded: False,
			differences: String,
			request_summary_json: String,
			legacy_summary_json: String,
			composed_summary_json: String
		}
	],
	completeness: 
	[
		{
			transaction_id: 0,
			transaction_uuid: String,
			reporting_term: String,
			finished_datetime: 0001-01-01,
			operation: String,
			regent_id: 0,
			student_uuid: String,
			student_name: String,
			invoice_count: 0,
			invoice_net: 0,
			item_net: 0,
			gp_success_count: 0,
			gp_failure_count: 0,
			calculation_status: String,
			calculation_findings: String,
			status: String,
			findings: String,
			resolved_datetime: 0001-01-01,
			resolved_by_uuid: String
		}
	],
	failures: 
	[
		{
			source: String,
			reporting_term: String,
			id: 0,
			timestamp: 0001-01-01,
			workflow: String,
			regent_id: 0,
			transaction_id: 0,
			invoice_id: String,
			gp_document_number: String,
			amount: 0,
			error: String
		}
	],
	drift: 
	[
		{
			transaction_id: 0,
			reporting_term: String,
			regent_id: 0,
			workflow: String,
			calculation_count: 0,
			first_calculation: 0001-01-01,
			final_calculation: 0001-01-01,
			changed: False,
			persistence_status: String,
			persistence_findings: String,
			first_summary_json: String,
			final_summary_json: String,
			section_course_codes: 
			{
				0: String
			}
		}
	]
}