ClubManager.Api

<back to all web services

ZapierBookingRequest

The following routes are available for this service:
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

HTTP + 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>