ClubManager.Api

<back to all web services

Command.AddMembershipCommandRequest

Requires Authentication
The following routes are available for this service:
POST/api/Command/AddMembershipCommand
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class AddMembershipResult implements ICommandResult, IConvertible
{
    int? MembershipId;
    int? RecurrenceId;
    bool? HasRecurringPayments;
    String? ReturnUrl;
    bool? Rejected;
    String? RejectedMessage;

    AddMembershipResult({this.MembershipId,this.RecurrenceId,this.HasRecurringPayments,this.ReturnUrl,this.Rejected,this.RejectedMessage});
    AddMembershipResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        MembershipId = json['MembershipId'];
        RecurrenceId = json['RecurrenceId'];
        HasRecurringPayments = json['HasRecurringPayments'];
        ReturnUrl = json['ReturnUrl'];
        Rejected = json['Rejected'];
        RejectedMessage = json['RejectedMessage'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'MembershipId': MembershipId,
        'RecurrenceId': RecurrenceId,
        'HasRecurringPayments': HasRecurringPayments,
        'ReturnUrl': ReturnUrl,
        'Rejected': Rejected,
        'RejectedMessage': RejectedMessage
    };

    getTypeName() => "AddMembershipResult";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'api.clubmanagercentral.com', types: <String, TypeInfo> {
    'AddMembershipResult': TypeInfo(TypeOf.Class, create:() => AddMembershipResult()),
});

Dart Command.AddMembershipCommandRequest 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 /api/Command/AddMembershipCommand HTTP/1.1 
Host: api.clubmanagercentral.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	MemberId: 0,
	UserId: 0,
	MembershipTypeId: 0,
	StartDate: 0001-01-01,
	PreviousMembershipAction: Nothing,
	ExternallyCreated: False,
	IsOnlineJoining: False,
	MembershipType: 
	{
		BranchId: 0,
		StartDate: 0001-01-01,
		EndDate: 0001-01-01,
		Length: 0,
		LengthPeriod: Day,
		Payments: 
		[
			{
				Name: String,
				PaymentType: Deposit,
				Amount: 0,
				OriginalAmount: 0,
				PaymentPeriod: Single,
				DirectDebitPeriod: Daily,
				Recurring: 0,
				StartingOffset: 0,
				StartingOffsetPeriod: Day,
				StartDate: 0001-01-01,
				LastDayOfMonth: False,
				PaymentMethod: 0,
				AutoRecur: False,
				ProRata: False,
				ProRataAmount: 0,
				ProRataStartDate: 0001-01-01,
				ProRataPaymentMethod: 0,
				ProRataAddToFirstPayment: False,
				ChargePerLicense: False,
				PaymentGatewayId: 0
			}
		],
		AddToBalance: 0,
		SessionsRemaining: 0,
		ClassesRemaining: 0,
		LicensesRemaining: 0,
		MultiSiteAccess: False,
		MemberLimit: 0,
		Definition: String,
		BookingAccessOnly: False
	},
	CreateRecurringPaymentsOnly: False,
	MembershipReviewAttributes: 
	[
		{
			CustomAttributeId: 0,
			CustomAttributeValueId: 0,
			InstanceId: 0,
			StoredValue: String,
			TypeName: String,
			ReadOnly: False,
			CreatedUtc: 0001-01-01,
			DeletedUtc: 0001-01-01,
			Name: String
		}
	],
	RegistrationAttributes: 
	[
		{
			CustomAttributeId: 0,
			CustomAttributeValueId: 0,
			InstanceId: 0,
			StoredValue: String,
			TypeName: String,
			ReadOnly: False,
			CreatedUtc: 0001-01-01,
			DeletedUtc: 0001-01-01,
			Name: String
		}
	],
	FeeRecurrenceDisabled: False,
	Expired: False,
	EndDate: 0001-01-01,
	RefererMemberId: 0,
	PromotionId: 0,
	RecurringAmount: 0,
	RecurringStartDate: 0001-01-01,
	PaymentMethodId: 0,
	RecurringPaymentMethodId: 0,
	PaymentDay: String,
	BookingId: 0,
	ReturnUrl: String,
	VoucherCode: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	MembershipId: 0,
	RecurrenceId: 0,
	HasRecurringPayments: False,
	ReturnUrl: String,
	Rejected: False,
	RejectedMessage: String
}