ClubManager.Api

<back to all web services

ZapierBookingRequest

The following routes are available for this service:
POST/zapier/v1/booking
import Foundation
import ServiceStack

public class ZapierBookingRequest : Codable
{
    public var title:String?
    public var forenames:String?
    public var surname:String?
    public var emailAddress:String?
    public var mobilePhone:String?
    public var homePhone:String?
    public var dateOfBirth:Date?
    public var tags:[String] = []
    public var optInEmail:Bool?
    public var optInSms:Bool?
    public var bookingTemplateId:Int?
    public var name:String?
    public var startDate:String?
    public var duration:Int?
    public var endDate:String?
    public var staffId:Int?
    public var staffName:String?
    public var facilityId:Int?
    public var maxAttendees:Int?
    public var notes:String?
    public var addToExisting:Bool?

    required public init(){}
}

public class ZapierBookingResponse : Codable
{
    public var memberId:Int?
    public var memberKey:String?
    public var memberCreated:Bool?
    public var bookingId:Int?
    public var bookingCreated:Bool?
    public var bookingAttendeeId:Int?
    public var name:String?
    public var startDate:Date?
    public var endDate:Date?
    public var staffId:Int?
    public var staffName:String?
    public var instructorMatched:Bool?

    required public init(){}
}


Swift ZapierBookingRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

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