| Required role: | REGISUserRole |
| POST | /registration/billing-audit-reports |
|---|
<?php namespace dtos;
use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};
class RegistrationBillingParityAuditResponse implements JsonSerializable
{
public function __construct(
/** @var int */
public int $execution_id=0,
/** @var string|null */
public ?string $reporting_term=null,
/** @var DateTime */
public DateTime $timestamp=new DateTime(),
/** @var string|null */
public ?string $workflow=null,
/** @var string|null */
public ?string $execution_mode=null,
/** @var int */
public int $regent_id=0,
/** @var int|null */
public ?int $transaction_id=null,
/** @var bool|null */
public ?bool $matches=null,
/** @var bool|null */
public ?bool $legacy_succeeded=null,
/** @var bool|null */
public ?bool $composed_succeeded=null,
/** @var string|null */
public ?string $differences=null,
/** @var string|null */
public ?string $request_summary_json=null,
/** @var string|null */
public ?string $legacy_summary_json=null,
/** @var string|null */
public ?string $composed_summary_json=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['execution_id'])) $this->execution_id = $o['execution_id'];
if (isset($o['reporting_term'])) $this->reporting_term = $o['reporting_term'];
if (isset($o['timestamp'])) $this->timestamp = JsonConverters::from('DateTime', $o['timestamp']);
if (isset($o['workflow'])) $this->workflow = $o['workflow'];
if (isset($o['execution_mode'])) $this->execution_mode = $o['execution_mode'];
if (isset($o['regent_id'])) $this->regent_id = $o['regent_id'];
if (isset($o['transaction_id'])) $this->transaction_id = $o['transaction_id'];
if (isset($o['matches'])) $this->matches = $o['matches'];
if (isset($o['legacy_succeeded'])) $this->legacy_succeeded = $o['legacy_succeeded'];
if (isset($o['composed_succeeded'])) $this->composed_succeeded = $o['composed_succeeded'];
if (isset($o['differences'])) $this->differences = $o['differences'];
if (isset($o['request_summary_json'])) $this->request_summary_json = $o['request_summary_json'];
if (isset($o['legacy_summary_json'])) $this->legacy_summary_json = $o['legacy_summary_json'];
if (isset($o['composed_summary_json'])) $this->composed_summary_json = $o['composed_summary_json'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->execution_id)) $o['execution_id'] = $this->execution_id;
if (isset($this->reporting_term)) $o['reporting_term'] = $this->reporting_term;
if (isset($this->timestamp)) $o['timestamp'] = JsonConverters::to('DateTime', $this->timestamp);
if (isset($this->workflow)) $o['workflow'] = $this->workflow;
if (isset($this->execution_mode)) $o['execution_mode'] = $this->execution_mode;
if (isset($this->regent_id)) $o['regent_id'] = $this->regent_id;
if (isset($this->transaction_id)) $o['transaction_id'] = $this->transaction_id;
if (isset($this->matches)) $o['matches'] = $this->matches;
if (isset($this->legacy_succeeded)) $o['legacy_succeeded'] = $this->legacy_succeeded;
if (isset($this->composed_succeeded)) $o['composed_succeeded'] = $this->composed_succeeded;
if (isset($this->differences)) $o['differences'] = $this->differences;
if (isset($this->request_summary_json)) $o['request_summary_json'] = $this->request_summary_json;
if (isset($this->legacy_summary_json)) $o['legacy_summary_json'] = $this->legacy_summary_json;
if (isset($this->composed_summary_json)) $o['composed_summary_json'] = $this->composed_summary_json;
return empty($o) ? new class(){} : $o;
}
}
class RegistrationBillingCompletenessAuditResponse implements JsonSerializable
{
public function __construct(
/** @var int */
public int $transaction_id=0,
/** @var string|null */
public ?string $transaction_uuid=null,
/** @var string|null */
public ?string $reporting_term=null,
/** @var DateTime */
public DateTime $finished_datetime=new DateTime(),
/** @var string|null */
public ?string $operation=null,
/** @var int */
public int $regent_id=0,
/** @var string|null */
public ?string $student_uuid=null,
/** @var string|null */
public ?string $student_name=null,
/** @var int */
public int $invoice_count=0,
/** @var float */
public float $invoice_net=0.0,
/** @var float */
public float $item_net=0.0,
/** @var int */
public int $gp_success_count=0,
/** @var int */
public int $gp_failure_count=0,
/** @var string|null */
public ?string $calculation_status=null,
/** @var string|null */
public ?string $calculation_findings=null,
/** @var string|null */
public ?string $status=null,
/** @var string|null */
public ?string $findings=null,
/** @var DateTime|null */
public ?DateTime $resolved_datetime=null,
/** @var string|null */
public ?string $resolved_by_uuid=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['transaction_id'])) $this->transaction_id = $o['transaction_id'];
if (isset($o['transaction_uuid'])) $this->transaction_uuid = $o['transaction_uuid'];
if (isset($o['reporting_term'])) $this->reporting_term = $o['reporting_term'];
if (isset($o['finished_datetime'])) $this->finished_datetime = JsonConverters::from('DateTime', $o['finished_datetime']);
if (isset($o['operation'])) $this->operation = $o['operation'];
if (isset($o['regent_id'])) $this->regent_id = $o['regent_id'];
if (isset($o['student_uuid'])) $this->student_uuid = $o['student_uuid'];
if (isset($o['student_name'])) $this->student_name = $o['student_name'];
if (isset($o['invoice_count'])) $this->invoice_count = $o['invoice_count'];
if (isset($o['invoice_net'])) $this->invoice_net = $o['invoice_net'];
if (isset($o['item_net'])) $this->item_net = $o['item_net'];
if (isset($o['gp_success_count'])) $this->gp_success_count = $o['gp_success_count'];
if (isset($o['gp_failure_count'])) $this->gp_failure_count = $o['gp_failure_count'];
if (isset($o['calculation_status'])) $this->calculation_status = $o['calculation_status'];
if (isset($o['calculation_findings'])) $this->calculation_findings = $o['calculation_findings'];
if (isset($o['status'])) $this->status = $o['status'];
if (isset($o['findings'])) $this->findings = $o['findings'];
if (isset($o['resolved_datetime'])) $this->resolved_datetime = JsonConverters::from('DateTime', $o['resolved_datetime']);
if (isset($o['resolved_by_uuid'])) $this->resolved_by_uuid = $o['resolved_by_uuid'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->transaction_id)) $o['transaction_id'] = $this->transaction_id;
if (isset($this->transaction_uuid)) $o['transaction_uuid'] = $this->transaction_uuid;
if (isset($this->reporting_term)) $o['reporting_term'] = $this->reporting_term;
if (isset($this->finished_datetime)) $o['finished_datetime'] = JsonConverters::to('DateTime', $this->finished_datetime);
if (isset($this->operation)) $o['operation'] = $this->operation;
if (isset($this->regent_id)) $o['regent_id'] = $this->regent_id;
if (isset($this->student_uuid)) $o['student_uuid'] = $this->student_uuid;
if (isset($this->student_name)) $o['student_name'] = $this->student_name;
if (isset($this->invoice_count)) $o['invoice_count'] = $this->invoice_count;
if (isset($this->invoice_net)) $o['invoice_net'] = $this->invoice_net;
if (isset($this->item_net)) $o['item_net'] = $this->item_net;
if (isset($this->gp_success_count)) $o['gp_success_count'] = $this->gp_success_count;
if (isset($this->gp_failure_count)) $o['gp_failure_count'] = $this->gp_failure_count;
if (isset($this->calculation_status)) $o['calculation_status'] = $this->calculation_status;
if (isset($this->calculation_findings)) $o['calculation_findings'] = $this->calculation_findings;
if (isset($this->status)) $o['status'] = $this->status;
if (isset($this->findings)) $o['findings'] = $this->findings;
if (isset($this->resolved_datetime)) $o['resolved_datetime'] = JsonConverters::to('DateTime', $this->resolved_datetime);
if (isset($this->resolved_by_uuid)) $o['resolved_by_uuid'] = $this->resolved_by_uuid;
return empty($o) ? new class(){} : $o;
}
}
class RegistrationBillingFailureAuditResponse implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $source=null,
/** @var string|null */
public ?string $reporting_term=null,
/** @var int */
public int $id=0,
/** @var DateTime */
public DateTime $timestamp=new DateTime(),
/** @var string|null */
public ?string $workflow=null,
/** @var int */
public int $regent_id=0,
/** @var int|null */
public ?int $transaction_id=null,
/** @var string|null */
public ?string $invoice_id=null,
/** @var string|null */
public ?string $gp_document_number=null,
/** @var float|null */
public ?float $amount=null,
/** @var string|null */
public ?string $error=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['source'])) $this->source = $o['source'];
if (isset($o['reporting_term'])) $this->reporting_term = $o['reporting_term'];
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['timestamp'])) $this->timestamp = JsonConverters::from('DateTime', $o['timestamp']);
if (isset($o['workflow'])) $this->workflow = $o['workflow'];
if (isset($o['regent_id'])) $this->regent_id = $o['regent_id'];
if (isset($o['transaction_id'])) $this->transaction_id = $o['transaction_id'];
if (isset($o['invoice_id'])) $this->invoice_id = $o['invoice_id'];
if (isset($o['gp_document_number'])) $this->gp_document_number = $o['gp_document_number'];
if (isset($o['amount'])) $this->amount = $o['amount'];
if (isset($o['error'])) $this->error = $o['error'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->source)) $o['source'] = $this->source;
if (isset($this->reporting_term)) $o['reporting_term'] = $this->reporting_term;
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->timestamp)) $o['timestamp'] = JsonConverters::to('DateTime', $this->timestamp);
if (isset($this->workflow)) $o['workflow'] = $this->workflow;
if (isset($this->regent_id)) $o['regent_id'] = $this->regent_id;
if (isset($this->transaction_id)) $o['transaction_id'] = $this->transaction_id;
if (isset($this->invoice_id)) $o['invoice_id'] = $this->invoice_id;
if (isset($this->gp_document_number)) $o['gp_document_number'] = $this->gp_document_number;
if (isset($this->amount)) $o['amount'] = $this->amount;
if (isset($this->error)) $o['error'] = $this->error;
return empty($o) ? new class(){} : $o;
}
}
class RegistrationBillingDriftAuditResponse implements JsonSerializable
{
public function __construct(
/** @var int */
public int $transaction_id=0,
/** @var string|null */
public ?string $reporting_term=null,
/** @var int */
public int $regent_id=0,
/** @var string|null */
public ?string $workflow=null,
/** @var int */
public int $calculation_count=0,
/** @var DateTime */
public DateTime $first_calculation=new DateTime(),
/** @var DateTime */
public DateTime $final_calculation=new DateTime(),
/** @var bool|null */
public ?bool $changed=null,
/** @var string|null */
public ?string $persistence_status=null,
/** @var string|null */
public ?string $persistence_findings=null,
/** @var string|null */
public ?string $first_summary_json=null,
/** @var string|null */
public ?string $final_summary_json=null,
/** @var array<string,string>|null */
public ?array $section_course_codes=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['transaction_id'])) $this->transaction_id = $o['transaction_id'];
if (isset($o['reporting_term'])) $this->reporting_term = $o['reporting_term'];
if (isset($o['regent_id'])) $this->regent_id = $o['regent_id'];
if (isset($o['workflow'])) $this->workflow = $o['workflow'];
if (isset($o['calculation_count'])) $this->calculation_count = $o['calculation_count'];
if (isset($o['first_calculation'])) $this->first_calculation = JsonConverters::from('DateTime', $o['first_calculation']);
if (isset($o['final_calculation'])) $this->final_calculation = JsonConverters::from('DateTime', $o['final_calculation']);
if (isset($o['changed'])) $this->changed = $o['changed'];
if (isset($o['persistence_status'])) $this->persistence_status = $o['persistence_status'];
if (isset($o['persistence_findings'])) $this->persistence_findings = $o['persistence_findings'];
if (isset($o['first_summary_json'])) $this->first_summary_json = $o['first_summary_json'];
if (isset($o['final_summary_json'])) $this->final_summary_json = $o['final_summary_json'];
if (isset($o['section_course_codes'])) $this->section_course_codes = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['int','string']), $o['section_course_codes']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->transaction_id)) $o['transaction_id'] = $this->transaction_id;
if (isset($this->reporting_term)) $o['reporting_term'] = $this->reporting_term;
if (isset($this->regent_id)) $o['regent_id'] = $this->regent_id;
if (isset($this->workflow)) $o['workflow'] = $this->workflow;
if (isset($this->calculation_count)) $o['calculation_count'] = $this->calculation_count;
if (isset($this->first_calculation)) $o['first_calculation'] = JsonConverters::to('DateTime', $this->first_calculation);
if (isset($this->final_calculation)) $o['final_calculation'] = JsonConverters::to('DateTime', $this->final_calculation);
if (isset($this->changed)) $o['changed'] = $this->changed;
if (isset($this->persistence_status)) $o['persistence_status'] = $this->persistence_status;
if (isset($this->persistence_findings)) $o['persistence_findings'] = $this->persistence_findings;
if (isset($this->first_summary_json)) $o['first_summary_json'] = $this->first_summary_json;
if (isset($this->final_summary_json)) $o['final_summary_json'] = $this->final_summary_json;
if (isset($this->section_course_codes)) $o['section_course_codes'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['int','string']), $this->section_course_codes);
return empty($o) ? new class(){} : $o;
}
}
class RegistrationBillingAuditReportResponse implements JsonSerializable
{
public function __construct(
/** @var array<RegistrationBillingParityAuditResponse>|null */
public ?array $parity=null,
/** @var array<RegistrationBillingCompletenessAuditResponse>|null */
public ?array $completeness=null,
/** @var array<RegistrationBillingFailureAuditResponse>|null */
public ?array $failures=null,
/** @var array<RegistrationBillingDriftAuditResponse>|null */
public ?array $drift=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['parity'])) $this->parity = JsonConverters::fromArray('RegistrationBillingParityAuditResponse', $o['parity']);
if (isset($o['completeness'])) $this->completeness = JsonConverters::fromArray('RegistrationBillingCompletenessAuditResponse', $o['completeness']);
if (isset($o['failures'])) $this->failures = JsonConverters::fromArray('RegistrationBillingFailureAuditResponse', $o['failures']);
if (isset($o['drift'])) $this->drift = JsonConverters::fromArray('RegistrationBillingDriftAuditResponse', $o['drift']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->parity)) $o['parity'] = JsonConverters::toArray('RegistrationBillingParityAuditResponse', $this->parity);
if (isset($this->completeness)) $o['completeness'] = JsonConverters::toArray('RegistrationBillingCompletenessAuditResponse', $this->completeness);
if (isset($this->failures)) $o['failures'] = JsonConverters::toArray('RegistrationBillingFailureAuditResponse', $this->failures);
if (isset($this->drift)) $o['drift'] = JsonConverters::toArray('RegistrationBillingDriftAuditResponse', $this->drift);
return empty($o) ? new class(){} : $o;
}
}
class RegistrationBillingAuditReportRequest implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $reporting_term=null,
/** @var DateTime */
public DateTime $from_date=new DateTime(),
/** @var DateTime */
public DateTime $to_date=new DateTime(),
/** @var string|null */
public ?string $authorizing_uuid=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['reporting_term'])) $this->reporting_term = $o['reporting_term'];
if (isset($o['from_date'])) $this->from_date = JsonConverters::from('DateTime', $o['from_date']);
if (isset($o['to_date'])) $this->to_date = JsonConverters::from('DateTime', $o['to_date']);
if (isset($o['authorizing_uuid'])) $this->authorizing_uuid = $o['authorizing_uuid'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->reporting_term)) $o['reporting_term'] = $this->reporting_term;
if (isset($this->from_date)) $o['from_date'] = JsonConverters::to('DateTime', $this->from_date);
if (isset($this->to_date)) $o['to_date'] = JsonConverters::to('DateTime', $this->to_date);
if (isset($this->authorizing_uuid)) $o['authorizing_uuid'] = $this->authorizing_uuid;
return empty($o) ? new class(){} : $o;
}
}
PHP RegistrationBillingAuditReportRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
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: application/xml
Content-Type: application/xml
Content-Length: length
<RegistrationBillingAuditReportRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/regis.ClassLibrary.Requests">
<authorizing_uuid>String</authorizing_uuid>
<from_date>0001-01-01T00:00:00</from_date>
<reporting_term>String</reporting_term>
<to_date>0001-01-01T00:00:00</to_date>
</RegistrationBillingAuditReportRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<RegistrationBillingAuditReportResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/regis.ClassLibrary.Responses">
<completeness>
<RegistrationBillingCompletenessAuditResponse>
<calculation_findings>String</calculation_findings>
<calculation_status>String</calculation_status>
<findings>String</findings>
<finished_datetime>0001-01-01T00:00:00</finished_datetime>
<gp_failure_count>0</gp_failure_count>
<gp_success_count>0</gp_success_count>
<invoice_count>0</invoice_count>
<invoice_net>0</invoice_net>
<item_net>0</item_net>
<operation>String</operation>
<regent_id>0</regent_id>
<reporting_term>String</reporting_term>
<resolved_by_uuid>String</resolved_by_uuid>
<resolved_datetime>0001-01-01T00:00:00</resolved_datetime>
<status>String</status>
<student_name>String</student_name>
<student_uuid>String</student_uuid>
<transaction_id>0</transaction_id>
<transaction_uuid>String</transaction_uuid>
</RegistrationBillingCompletenessAuditResponse>
</completeness>
<drift>
<RegistrationBillingDriftAuditResponse>
<calculation_count>0</calculation_count>
<changed>false</changed>
<final_calculation>0001-01-01T00:00:00</final_calculation>
<final_summary_json>String</final_summary_json>
<first_calculation>0001-01-01T00:00:00</first_calculation>
<first_summary_json>String</first_summary_json>
<persistence_findings>String</persistence_findings>
<persistence_status>String</persistence_status>
<regent_id>0</regent_id>
<reporting_term>String</reporting_term>
<section_course_codes xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:KeyValueOfintstring>
<d4p1:Key>0</d4p1:Key>
<d4p1:Value>String</d4p1:Value>
</d4p1:KeyValueOfintstring>
</section_course_codes>
<transaction_id>0</transaction_id>
<workflow>String</workflow>
</RegistrationBillingDriftAuditResponse>
</drift>
<failures>
<RegistrationBillingFailureAuditResponse>
<amount>0</amount>
<error>String</error>
<gp_document_number>String</gp_document_number>
<id>0</id>
<invoice_id>String</invoice_id>
<regent_id>0</regent_id>
<reporting_term>String</reporting_term>
<source>String</source>
<timestamp>0001-01-01T00:00:00</timestamp>
<transaction_id>0</transaction_id>
<workflow>String</workflow>
</RegistrationBillingFailureAuditResponse>
</failures>
<parity>
<RegistrationBillingParityAuditResponse>
<composed_succeeded>false</composed_succeeded>
<composed_summary_json>String</composed_summary_json>
<differences>String</differences>
<execution_id>0</execution_id>
<execution_mode>String</execution_mode>
<legacy_succeeded>false</legacy_succeeded>
<legacy_summary_json>String</legacy_summary_json>
<matches>false</matches>
<regent_id>0</regent_id>
<reporting_term>String</reporting_term>
<request_summary_json>String</request_summary_json>
<timestamp>0001-01-01T00:00:00</timestamp>
<transaction_id>0</transaction_id>
<workflow>String</workflow>
</RegistrationBillingParityAuditResponse>
</parity>
</RegistrationBillingAuditReportResponse>