| POST | /zapier/v1/booking |
|---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class ZapierBookingResponse implements IConvertible
{
int? MemberId;
String? MemberKey;
bool? MemberCreated;
int? BookingId;
bool? BookingCreated;
int? BookingAttendeeId;
String? Name;
DateTime? StartDate;
DateTime? EndDate;
int? StaffId;
String? StaffName;
bool? InstructorMatched;
ZapierBookingResponse({this.MemberId,this.MemberKey,this.MemberCreated,this.BookingId,this.BookingCreated,this.BookingAttendeeId,this.Name,this.StartDate,this.EndDate,this.StaffId,this.StaffName,this.InstructorMatched});
ZapierBookingResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
MemberId = json['MemberId'];
MemberKey = json['MemberKey'];
MemberCreated = json['MemberCreated'];
BookingId = json['BookingId'];
BookingCreated = json['BookingCreated'];
BookingAttendeeId = json['BookingAttendeeId'];
Name = json['Name'];
StartDate = JsonConverters.fromJson(json['StartDate'],'DateTime',context!);
EndDate = JsonConverters.fromJson(json['EndDate'],'DateTime',context!);
StaffId = json['StaffId'];
StaffName = json['StaffName'];
InstructorMatched = json['InstructorMatched'];
return this;
}
Map<String, dynamic> toJson() => {
'MemberId': MemberId,
'MemberKey': MemberKey,
'MemberCreated': MemberCreated,
'BookingId': BookingId,
'BookingCreated': BookingCreated,
'BookingAttendeeId': BookingAttendeeId,
'Name': Name,
'StartDate': JsonConverters.toJson(StartDate,'DateTime',context!),
'EndDate': JsonConverters.toJson(EndDate,'DateTime',context!),
'StaffId': StaffId,
'StaffName': StaffName,
'InstructorMatched': InstructorMatched
};
getTypeName() => "ZapierBookingResponse";
TypeContext? context = _ctx;
}
class ZapierBookingRequest implements IConvertible
{
String? Title;
String? Forenames;
String? Surname;
String? EmailAddress;
String? MobilePhone;
String? HomePhone;
DateTime? DateOfBirth;
List<String>? Tags;
bool? OptInEmail;
bool? OptInSms;
int? BookingTemplateId;
String? Name;
String? StartDate;
int? Duration;
String? EndDate;
int? StaffId;
String? StaffName;
int? FacilityId;
int? MaxAttendees;
String? Notes;
bool? AddToExisting;
ZapierBookingRequest({this.Title,this.Forenames,this.Surname,this.EmailAddress,this.MobilePhone,this.HomePhone,this.DateOfBirth,this.Tags,this.OptInEmail,this.OptInSms,this.BookingTemplateId,this.Name,this.StartDate,this.Duration,this.EndDate,this.StaffId,this.StaffName,this.FacilityId,this.MaxAttendees,this.Notes,this.AddToExisting});
ZapierBookingRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Title = json['Title'];
Forenames = json['Forenames'];
Surname = json['Surname'];
EmailAddress = json['EmailAddress'];
MobilePhone = json['MobilePhone'];
HomePhone = json['HomePhone'];
DateOfBirth = JsonConverters.fromJson(json['DateOfBirth'],'DateTime',context!);
Tags = JsonConverters.fromJson(json['Tags'],'List<String>',context!);
OptInEmail = json['OptInEmail'];
OptInSms = json['OptInSms'];
BookingTemplateId = json['BookingTemplateId'];
Name = json['Name'];
StartDate = json['StartDate'];
Duration = json['Duration'];
EndDate = json['EndDate'];
StaffId = json['StaffId'];
StaffName = json['StaffName'];
FacilityId = json['FacilityId'];
MaxAttendees = json['MaxAttendees'];
Notes = json['Notes'];
AddToExisting = json['AddToExisting'];
return this;
}
Map<String, dynamic> toJson() => {
'Title': Title,
'Forenames': Forenames,
'Surname': Surname,
'EmailAddress': EmailAddress,
'MobilePhone': MobilePhone,
'HomePhone': HomePhone,
'DateOfBirth': JsonConverters.toJson(DateOfBirth,'DateTime',context!),
'Tags': JsonConverters.toJson(Tags,'List<String>',context!),
'OptInEmail': OptInEmail,
'OptInSms': OptInSms,
'BookingTemplateId': BookingTemplateId,
'Name': Name,
'StartDate': StartDate,
'Duration': Duration,
'EndDate': EndDate,
'StaffId': StaffId,
'StaffName': StaffName,
'FacilityId': FacilityId,
'MaxAttendees': MaxAttendees,
'Notes': Notes,
'AddToExisting': AddToExisting
};
getTypeName() => "ZapierBookingRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.clubmanagercentral.com', types: <String, TypeInfo> {
'ZapierBookingResponse': TypeInfo(TypeOf.Class, create:() => ZapierBookingResponse()),
'ZapierBookingRequest': TypeInfo(TypeOf.Class, create:() => ZapierBookingRequest()),
});
Dart ZapierBookingRequest 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 /zapier/v1/booking HTTP/1.1
Host: api.clubmanagercentral.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<ZapierBookingRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/ClubManager.Api.Services.Zapier">
<AddToExisting>false</AddToExisting>
<BookingTemplateId>0</BookingTemplateId>
<DateOfBirth>0001-01-01T00:00:00</DateOfBirth>
<Duration>0</Duration>
<EmailAddress>String</EmailAddress>
<EndDate>String</EndDate>
<FacilityId>0</FacilityId>
<Forenames>String</Forenames>
<HomePhone>String</HomePhone>
<MaxAttendees>0</MaxAttendees>
<MobilePhone>String</MobilePhone>
<Name>String</Name>
<Notes>String</Notes>
<OptInEmail>false</OptInEmail>
<OptInSms>false</OptInSms>
<StaffId>0</StaffId>
<StaffName>String</StaffName>
<StartDate>String</StartDate>
<Surname>String</Surname>
<Tags xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</Tags>
<Title>String</Title>
</ZapierBookingRequest>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <ZapierBookingResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/ClubManager.Api.Services.Zapier"> <BookingAttendeeId>0</BookingAttendeeId> <BookingCreated>false</BookingCreated> <BookingId>0</BookingId> <EndDate>0001-01-01T00:00:00</EndDate> <InstructorMatched>false</InstructorMatched> <MemberCreated>false</MemberCreated> <MemberId>0</MemberId> <MemberKey>00000000-0000-0000-0000-000000000000</MemberKey> <Name>String</Name> <StaffId>0</StaffId> <StaffName>String</StaffName> <StartDate>0001-01-01T00:00:00</StartDate> </ZapierBookingResponse>