/* Options:
Date: 2025-04-14 18:42:20
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: CRMSharepointLocationRequest.*
//ExcludeTypes: 
//DefaultImports: package:servicestack/servicestack.dart,dart:typed_data
*/

import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class CRMSharepointLocationResponse implements IConvertible
{
    ResponseStatus? responseStatus;
    String? guid;
    String? relativeurl;
    String? regarding_guid;

    CRMSharepointLocationResponse({this.responseStatus,this.guid,this.relativeurl,this.regarding_guid});
    CRMSharepointLocationResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        guid = json['guid'];
        relativeurl = json['relativeurl'];
        regarding_guid = json['regarding_guid'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!),
        'guid': guid,
        'relativeurl': relativeurl,
        'regarding_guid': regarding_guid
    };

    getTypeName() => "CRMSharepointLocationResponse";
    TypeContext? context = _ctx;
}

// @Route("/DynamicsCRM/Sharepoint/Location", "POST")
class CRMSharepointLocationRequest implements IReturn<CRMSharepointLocationResponse>, IConvertible, IPost
{
    String? application_guid;
    String? lead_guid;
    int? regent_id;

    CRMSharepointLocationRequest({this.application_guid,this.lead_guid,this.regent_id});
    CRMSharepointLocationRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        application_guid = json['application_guid'];
        lead_guid = json['lead_guid'];
        regent_id = json['regent_id'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'application_guid': application_guid,
        'lead_guid': lead_guid,
        'regent_id': regent_id
    };

    createResponse() => CRMSharepointLocationResponse();
    getResponseTypeName() => "CRMSharepointLocationResponse";
    getTypeName() => "CRMSharepointLocationRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'data.regent_college.edu', types: <String, TypeInfo> {
    'CRMSharepointLocationResponse': TypeInfo(TypeOf.Class, create:() => CRMSharepointLocationResponse()),
    'CRMSharepointLocationRequest': TypeInfo(TypeOf.Class, create:() => CRMSharepointLocationRequest()),
});