| 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 .jsv suffix or ?format=jsv
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: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Title: String,
Forenames: String,
Surname: String,
EmailAddress: String,
MobilePhone: String,
HomePhone: String,
DateOfBirth: 0001-01-01,
Tags:
[
String
],
OptInEmail: False,
OptInSms: False,
BookingTemplateId: 0,
Name: String,
StartDate: String,
Duration: 0,
EndDate: String,
StaffId: 0,
StaffName: String,
FacilityId: 0,
MaxAttendees: 0,
Notes: String,
AddToExisting: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
MemberId: 0,
MemberKey: 00000000000000000000000000000000,
MemberCreated: False,
BookingId: 0,
BookingCreated: False,
BookingAttendeeId: 0,
Name: String,
StartDate: 0001-01-01,
EndDate: 0001-01-01,
StaffId: 0,
StaffName: String,
InstructorMatched: False
}