POST | /api/PostTeeSlots |
---|
import 'package:servicestack/servicestack.dart';
// @DataContract
class BaseRequest implements IConvertible
{
/**
* This is your AIM API Key provided by Tri-Tech
*/
// @DataMember
// @ApiMember(DataType="string", Description="This is your AIM API Key provided by Tri-Tech", IsRequired=true, Name="ApiKey", ParameterType="header")
String? ApiKey;
// @DataMember
// @ApiMember(DataType="string", Name="OAuthToken", ParameterType="header")
String? OAuthToken;
BaseRequest({this.ApiKey,this.OAuthToken});
BaseRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ApiKey = json['ApiKey'];
OAuthToken = json['OAuthToken'];
return this;
}
Map<String, dynamic> toJson() => {
'ApiKey': ApiKey,
'OAuthToken': OAuthToken
};
getTypeName() => "BaseRequest";
TypeContext? context = _ctx;
}
// @DataContract
class BaseSecureRequest extends BaseRequest implements IConvertible
{
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="Token", ParameterType="Header")
String? Token;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="DeviceId", ParameterType="Header")
String? DeviceId;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", IsRequired=true, Name="AppId", ParameterType="Header")
String? AppId;
BaseSecureRequest({this.Token,this.DeviceId,this.AppId});
BaseSecureRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
Token = json['Token'];
DeviceId = json['DeviceId'];
AppId = json['AppId'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'Token': Token,
'DeviceId': DeviceId,
'AppId': AppId
});
getTypeName() => "BaseSecureRequest";
TypeContext? context = _ctx;
}
// @DataContract
class BaseResponseResult implements IConvertible
{
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="StatusCode", ParameterType="body")
String? StatusCode;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="Login", ParameterType="body")
String? Login;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="ErrorCode", ParameterType="body")
String? ErrorCode;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="ErrorDisplayText", ParameterType="body")
String? ErrorDisplayText;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="ErrorMessage", ParameterType="body")
String? ErrorMessage;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="DomainName", ParameterType="body")
String? DomainName;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="IPAddress", ParameterType="body")
String? IpAddress;
BaseResponseResult({this.StatusCode,this.Login,this.ErrorCode,this.ErrorDisplayText,this.ErrorMessage,this.DomainName,this.IpAddress});
BaseResponseResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
StatusCode = json['StatusCode'];
Login = json['Login'];
ErrorCode = json['ErrorCode'];
ErrorDisplayText = json['ErrorDisplayText'];
ErrorMessage = json['ErrorMessage'];
DomainName = json['DomainName'];
IpAddress = json['IpAddress'];
return this;
}
Map<String, dynamic> toJson() => {
'StatusCode': StatusCode,
'Login': Login,
'ErrorCode': ErrorCode,
'ErrorDisplayText': ErrorDisplayText,
'ErrorMessage': ErrorMessage,
'DomainName': DomainName,
'IpAddress': IpAddress
};
getTypeName() => "BaseResponseResult";
TypeContext? context = _ctx;
}
// @DataContract
class BaseResponse implements IConvertible
{
/**
*
*/
// @DataMember
// @ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body")
BaseResponseResult? Status;
BaseResponse({this.Status});
BaseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Status = JsonConverters.fromJson(json['Status'],'BaseResponseResult',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Status': JsonConverters.toJson(Status,'BaseResponseResult',context!)
};
getTypeName() => "BaseResponse";
TypeContext? context = _ctx;
}
// @DataContract
class PostTeeSlotsResponse extends BaseResponse implements IConvertible
{
PostTeeSlotsResponse();
PostTeeSlotsResponse.fromJson(Map<String, dynamic> json) : super.fromJson(json);
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
return this;
}
Map<String, dynamic> toJson() => super.toJson();
getTypeName() => "PostTeeSlotsResponse";
TypeContext? context = _ctx;
}
// @DataContract(Name="FormInput")
class FormInput implements IConvertible
{
/**
* Field Name of the Input Field
*/
// @DataMember
// @ApiMember(DataType="string", Description="Field Name of the Input Field", IsRequired=true, Name="Key", ParameterType="query")
String? Key;
/**
* Value of the Input Field.
*/
// @DataMember
// @ApiMember(DataType="string", Description="Value of the Input Field.", IsRequired=true, Name="Value", ParameterType="query")
String? Value;
/**
* Whether or not the field is encryped with the C2B encryption key.
*/
// @DataMember
// @ApiMember(DataType="boolean", Description="Whether or not the field is encryped with the C2B encryption key.", IsRequired=true, Name="Encrypted", ParameterType="query")
bool? Encrypted;
FormInput({this.Key,this.Value,this.Encrypted});
FormInput.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Key = json['Key'];
Value = json['Value'];
Encrypted = json['Encrypted'];
return this;
}
Map<String, dynamic> toJson() => {
'Key': Key,
'Value': Value,
'Encrypted': Encrypted
};
getTypeName() => "FormInput";
TypeContext? context = _ctx;
}
// @DataContract(Name="CCInfo")
class CcInfo implements IConvertible
{
/**
* Token returned from processor
*/
// @DataMember
// @ApiMember(DataType="string", Description="Token returned from processor", IsRequired=true, Name="TokenStr", ParameterType="query")
String? TokenStr;
/**
* Card Type (VISA, MCARD, AMEX, DSCVR)
*/
// @DataMember
// @ApiMember(DataType="string", Description="Card Type (VISA, MCARD, AMEX, DSCVR)", IsRequired=true, Name="CardType", ParameterType="query")
String? CardType;
/**
* Last four of the card
*/
// @DataMember
// @ApiMember(DataType="string", Description="Last four of the card", IsRequired=true, Name="LastFour", ParameterType="query")
String? LastFour;
/**
* Expiration Date of the Card. (MM/YY)
*/
// @DataMember
// @ApiMember(DataType="string", Description="Expiration Date of the Card. (MM/YY)", Name="Expiration", ParameterType="query")
String? Expiration;
/**
* Reason the card is on file.
*/
// @DataMember
// @ApiMember(DataType="string", Description="Reason the card is on file.", Name="ReasonOnFile", ParameterType="query")
String? ReasonOnFile;
/**
* ID of the existing Token Record in AIM, if applicable
*/
// @DataMember
// @ApiMember(DataType="integer", Description="ID of the existing Token Record in AIM, if applicable", Format="int64", Name="TokenPk", ParameterType="query")
int? TokenPk;
/**
* Is this the customer's primary card? Defaults to false.
*/
// @DataMember
// @ApiMember(DataType="boolean", Description="Is this the customer's primary card? Defaults to false.", Name="Primary", ParameterType="query")
bool? Primary;
CcInfo({this.TokenStr,this.CardType,this.LastFour,this.Expiration,this.ReasonOnFile,this.TokenPk,this.Primary});
CcInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
TokenStr = json['TokenStr'];
CardType = json['CardType'];
LastFour = json['LastFour'];
Expiration = json['Expiration'];
ReasonOnFile = json['ReasonOnFile'];
TokenPk = json['TokenPk'];
Primary = json['Primary'];
return this;
}
Map<String, dynamic> toJson() => {
'TokenStr': TokenStr,
'CardType': CardType,
'LastFour': LastFour,
'Expiration': Expiration,
'ReasonOnFile': ReasonOnFile,
'TokenPk': TokenPk,
'Primary': Primary
};
getTypeName() => "CcInfo";
TypeContext? context = _ctx;
}
// @DataContract(Name="CustomerInfo")
class CustomerInfo implements IConvertible
{
/**
* The WebId of the customer. Optional.
*/
// @DataMember
// @ApiMember(DataType="integer", Description="The WebId of the customer. Optional.", Format="int32", IsRequired=true, Name="WebId", ParameterType="query")
int? WebId;
/**
* Name of the customer.
*/
// @DataMember
// @ApiMember(DataType="string", Description="Name of the customer.", IsRequired=true, Name="Name", ParameterType="query")
String? Name;
/**
* Address line 1 of the customer
*/
// @DataMember
// @ApiMember(DataType="string", Description="Address line 1 of the customer", Name="Addr1", ParameterType="query")
String? Addr1;
/**
* Address line 2 of the customer
*/
// @DataMember
// @ApiMember(DataType="string", Description="Address line 2 of the customer", Name="Addr2", ParameterType="query")
String? Addr2;
/**
* City of the customer
*/
// @DataMember
// @ApiMember(DataType="string", Description="City of the customer", Name="City", ParameterType="query")
String? City;
/**
* State/Province of the customer
*/
// @DataMember
// @ApiMember(DataType="string", Description="State/Province of the customer", Name="St", ParameterType="query")
String? St;
/**
* Zip code of the customer
*/
// @DataMember
// @ApiMember(DataType="string", Description="Zip code of the customer", Name="Zip", ParameterType="query")
String? Zip;
/**
* Country of the customer
*/
// @DataMember
// @ApiMember(DataType="string", Description="Country of the customer", Name="Country", ParameterType="query")
String? Country;
/**
* Phone number of the customer
*/
// @DataMember
// @ApiMember(DataType="string", Description="Phone number of the customer", Name="Phone", ParameterType="query")
String? Phone;
/**
* Email address of the customer. Required.
*/
// @DataMember
// @ApiMember(DataType="string", Description="Email address of the customer. Required.", IsRequired=true, Name="Email", ParameterType="query")
String? Email;
CustomerInfo({this.WebId,this.Name,this.Addr1,this.Addr2,this.City,this.St,this.Zip,this.Country,this.Phone,this.Email});
CustomerInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
WebId = json['WebId'];
Name = json['Name'];
Addr1 = json['Addr1'];
Addr2 = json['Addr2'];
City = json['City'];
St = json['St'];
Zip = json['Zip'];
Country = json['Country'];
Phone = json['Phone'];
Email = json['Email'];
return this;
}
Map<String, dynamic> toJson() => {
'WebId': WebId,
'Name': Name,
'Addr1': Addr1,
'Addr2': Addr2,
'City': City,
'St': St,
'Zip': Zip,
'Country': Country,
'Phone': Phone,
'Email': Email
};
getTypeName() => "CustomerInfo";
TypeContext? context = _ctx;
}
/**
* PostTeeSlotsRequires active-e Tee-Sheet Service
*/
// @DataContract
class PostTeeSlotsRequest extends BaseSecureRequest implements IConvertible
{
/**
*
*/
// @DataMember
// @ApiMember(DataType="integer", Description="", Format="int64", IsRequired=true, Name="SlotId", ParameterType="query")
int? SlotId;
/**
* Number of players. Defaults to 1
*/
// @DataMember
// @ApiMember(DataType="integer", Description="Number of players. Defaults to 1", Format="int32", Name="NumberOfPlayers", ParameterType="query")
int? NumberOfPlayers;
/**
* Number of players requiring carts. Defaults to 0
*/
// @DataMember
// @ApiMember(DataType="integer", Description="Number of players requiring carts. Defaults to 0", Format="int32", Name="NumberOfPlayersRequiringCarts", ParameterType="query")
int? NumberOfPlayersRequiringCarts;
/**
* Number of holes to book. Defaults to the number of holes in the course.
*/
// @DataMember
// @ApiMember(DataType="integer", Description="Number of holes to book. Defaults to the number of holes in the course.", Format="int32", Name="NumberOfHoles", ParameterType="query")
int? NumberOfHoles;
/**
*
*/
// @DataMember
// @ApiMember(DataType="array", Description="", Name="FormInputList", ParameterType="query")
List<FormInput>? FormInputList;
/**
*
*/
// @DataMember
// @ApiMember(DataType="object", Description="", Name="CcInfo", ParameterType="query")
CcInfo? CcInfo;
/**
*
*/
// @DataMember
// @ApiMember(DataType="object", Description="", Name="CustomerInfo", ParameterType="query")
CustomerInfo? CustomerInfo;
// @DataMember
List<CustomerInfo>? GuestInfo;
/**
*
*/
// @DataMember
// @ApiMember(DataType="integer", Description="", Format="int32", Name="CusAcct", ParameterType="query")
int? CusAcct;
// @DataMember
String? Notes;
// @DataMember
List<String>? GuestNotes;
PostTeeSlotsRequest({this.SlotId,this.NumberOfPlayers,this.NumberOfPlayersRequiringCarts,this.NumberOfHoles,this.FormInputList,this.CcInfo,this.CustomerInfo,this.GuestInfo,this.CusAcct,this.Notes,this.GuestNotes});
PostTeeSlotsRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
SlotId = json['SlotId'];
NumberOfPlayers = json['NumberOfPlayers'];
NumberOfPlayersRequiringCarts = json['NumberOfPlayersRequiringCarts'];
NumberOfHoles = json['NumberOfHoles'];
FormInputList = JsonConverters.fromJson(json['FormInputList'],'List<FormInput>',context!);
CcInfo = JsonConverters.fromJson(json['CcInfo'],'CcInfo',context!);
CustomerInfo = JsonConverters.fromJson(json['CustomerInfo'],'CustomerInfo',context!);
GuestInfo = JsonConverters.fromJson(json['GuestInfo'],'List<CustomerInfo>',context!);
CusAcct = json['CusAcct'];
Notes = json['Notes'];
GuestNotes = JsonConverters.fromJson(json['GuestNotes'],'List<String>',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'SlotId': SlotId,
'NumberOfPlayers': NumberOfPlayers,
'NumberOfPlayersRequiringCarts': NumberOfPlayersRequiringCarts,
'NumberOfHoles': NumberOfHoles,
'FormInputList': JsonConverters.toJson(FormInputList,'List<FormInput>',context!),
'CcInfo': JsonConverters.toJson(CcInfo,'CcInfo',context!),
'CustomerInfo': JsonConverters.toJson(CustomerInfo,'CustomerInfo',context!),
'GuestInfo': JsonConverters.toJson(GuestInfo,'List<CustomerInfo>',context!),
'CusAcct': CusAcct,
'Notes': Notes,
'GuestNotes': JsonConverters.toJson(GuestNotes,'List<String>',context!)
});
getTypeName() => "PostTeeSlotsRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'active_ewebservice.biz', types: <String, TypeInfo> {
'BaseRequest': TypeInfo(TypeOf.Class, create:() => BaseRequest()),
'BaseSecureRequest': TypeInfo(TypeOf.Class, create:() => BaseSecureRequest()),
'BaseResponseResult': TypeInfo(TypeOf.Class, create:() => BaseResponseResult()),
'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()),
'PostTeeSlotsResponse': TypeInfo(TypeOf.Class, create:() => PostTeeSlotsResponse()),
'FormInput': TypeInfo(TypeOf.Class, create:() => FormInput()),
'CcInfo': TypeInfo(TypeOf.Class, create:() => CcInfo()),
'CustomerInfo': TypeInfo(TypeOf.Class, create:() => CustomerInfo()),
'PostTeeSlotsRequest': TypeInfo(TypeOf.Class, create:() => PostTeeSlotsRequest()),
'List<FormInput>': TypeInfo(TypeOf.Class, create:() => <FormInput>[]),
'List<CustomerInfo>': TypeInfo(TypeOf.Class, create:() => <CustomerInfo>[]),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/PostTeeSlots HTTP/1.1
Host: active-ewebservice.biz
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"SlotId":0,"NumberOfPlayers":0,"NumberOfPlayersRequiringCarts":0,"NumberOfHoles":0,"FormInputList":[{"Key":"String","Value":"String","Encrypted":false}],"CcInfo":{"TokenStr":"String","CardType":"String","LastFour":"String","Expiration":"String","ReasonOnFile":"String","TokenPk":0,"Primary":false},"CustomerInfo":{"WebId":0,"Name":"String","Addr1":"String","Addr2":"String","City":"String","St":"String","Zip":"String","Country":"String","Phone":"String","Email":"String"},"GuestInfo":[{"WebId":0,"Name":"String","Addr1":"String","Addr2":"String","City":"String","St":"String","Zip":"String","Country":"String","Phone":"String","Email":"String"}],"CusAcct":0,"Notes":"String","GuestNotes":["String"],"Token":"String","DeviceId":"String","AppId":"String","ApiKey":"String","OAuthToken":"String"}
HTTP/1.1 200 OK Content-Type: text/jsonl Content-Length: length {"Status":{"StatusCode":"String","Login":"String","ErrorCode":"String","ErrorDisplayText":"String","ErrorMessage":"String","DomainName":"String","IpAddress":"String"}}