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