TicketUserServices

<back to all web services

KsiCardsSearchRequest

Requires Authentication
Requires any of the roles:Admin, TeamAdmin, MobileAppRequires the permission:ReadData
The following routes are available for this service:
All Verbs/ksiCards/Search
All Verbs/ksiCards/Search/{Id}
All Verbs/ksiCards/Search/Club/{KsiClubId}/{ExpiryYear}
All Verbs/ksiCards/Search/Club/CardType/{KsiClubId}/{KsiCardType}/{ExpiryYear}
import 'package:servicestack/servicestack.dart';

class KsiCards implements IConvertible
{
    int? id;
    DateTime? creationDate;
    String? phoneFullVerificationNumber;
    String? deviceId;
    String? ksiCardTypeId;
    String? ksiClubId;
    String? holderName;
    String? canTransferToPhoneFullNumber;
    String? canTransferToNName;
    String? expYear;
    String? expMonth;
    bool? isActive;
    DateTime? validFromDate;
    DateTime? validToDate;
    DateTime? lastModifiedDate;
    DateTime? revokedDate;
    String? revokedReason;

    KsiCards({this.id,this.creationDate,this.phoneFullVerificationNumber,this.deviceId,this.ksiCardTypeId,this.ksiClubId,this.holderName,this.canTransferToPhoneFullNumber,this.canTransferToNName,this.expYear,this.expMonth,this.isActive,this.validFromDate,this.validToDate,this.lastModifiedDate,this.revokedDate,this.revokedReason});
    KsiCards.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        creationDate = JsonConverters.fromJson(json['creationDate'],'DateTime',context!);
        phoneFullVerificationNumber = json['phoneFullVerificationNumber'];
        deviceId = json['deviceId'];
        ksiCardTypeId = json['ksiCardTypeId'];
        ksiClubId = json['ksiClubId'];
        holderName = json['holderName'];
        canTransferToPhoneFullNumber = json['canTransferToPhoneFullNumber'];
        canTransferToNName = json['canTransferToNName'];
        expYear = json['expYear'];
        expMonth = json['expMonth'];
        isActive = json['isActive'];
        validFromDate = JsonConverters.fromJson(json['validFromDate'],'DateTime',context!);
        validToDate = JsonConverters.fromJson(json['validToDate'],'DateTime',context!);
        lastModifiedDate = JsonConverters.fromJson(json['lastModifiedDate'],'DateTime',context!);
        revokedDate = JsonConverters.fromJson(json['revokedDate'],'DateTime',context!);
        revokedReason = json['revokedReason'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'creationDate': JsonConverters.toJson(creationDate,'DateTime',context!),
        'phoneFullVerificationNumber': phoneFullVerificationNumber,
        'deviceId': deviceId,
        'ksiCardTypeId': ksiCardTypeId,
        'ksiClubId': ksiClubId,
        'holderName': holderName,
        'canTransferToPhoneFullNumber': canTransferToPhoneFullNumber,
        'canTransferToNName': canTransferToNName,
        'expYear': expYear,
        'expMonth': expMonth,
        'isActive': isActive,
        'validFromDate': JsonConverters.toJson(validFromDate,'DateTime',context!),
        'validToDate': JsonConverters.toJson(validToDate,'DateTime',context!),
        'lastModifiedDate': JsonConverters.toJson(lastModifiedDate,'DateTime',context!),
        'revokedDate': JsonConverters.toJson(revokedDate,'DateTime',context!),
        'revokedReason': revokedReason
    };

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

class KsiCardsSearchResult implements IConvertible
{
    List<KsiCards>? cards;
    int? statusCode;
    String? message;

    KsiCardsSearchResult({this.cards,this.statusCode,this.message});
    KsiCardsSearchResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        cards = JsonConverters.fromJson(json['cards'],'List<KsiCards>',context!);
        statusCode = json['statusCode'];
        message = json['message'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'cards': JsonConverters.toJson(cards,'List<KsiCards>',context!),
        'statusCode': statusCode,
        'message': message
    };

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

class RequestSignature implements IConvertible
{
    String? systemId;
    String? systemSecret;
    String? signature;

    RequestSignature({this.systemId,this.systemSecret,this.signature});
    RequestSignature.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        systemId = json['systemId'];
        systemSecret = json['systemSecret'];
        signature = json['signature'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'systemId': systemId,
        'systemSecret': systemSecret,
        'signature': signature
    };

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

class KsiCardsSearchRequest implements IConvertible
{
    int? id;
    String? ksiClubId;
    String? expiryYear;
    String? ksiCardType;
    String? fullPhoneNumber;
    int? onlyValidForEventId;
    bool? includeInactive;
    bool? includeExpired;
    int? requestUnixUTCTimeStamp;
    RequestSignature? signature;

    KsiCardsSearchRequest({this.id,this.ksiClubId,this.expiryYear,this.ksiCardType,this.fullPhoneNumber,this.onlyValidForEventId,this.includeInactive,this.includeExpired,this.requestUnixUTCTimeStamp,this.signature});
    KsiCardsSearchRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        ksiClubId = json['ksiClubId'];
        expiryYear = json['expiryYear'];
        ksiCardType = json['ksiCardType'];
        fullPhoneNumber = json['fullPhoneNumber'];
        onlyValidForEventId = json['onlyValidForEventId'];
        includeInactive = json['includeInactive'];
        includeExpired = json['includeExpired'];
        requestUnixUTCTimeStamp = json['requestUnixUTCTimeStamp'];
        signature = JsonConverters.fromJson(json['signature'],'RequestSignature',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'ksiClubId': ksiClubId,
        'expiryYear': expiryYear,
        'ksiCardType': ksiCardType,
        'fullPhoneNumber': fullPhoneNumber,
        'onlyValidForEventId': onlyValidForEventId,
        'includeInactive': includeInactive,
        'includeExpired': includeExpired,
        'requestUnixUTCTimeStamp': requestUnixUTCTimeStamp,
        'signature': JsonConverters.toJson(signature,'RequestSignature',context!)
    };

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

TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: <String, TypeInfo> {
    'KsiCards': TypeInfo(TypeOf.Class, create:() => KsiCards()),
    'KsiCardsSearchResult': TypeInfo(TypeOf.Class, create:() => KsiCardsSearchResult()),
    'List<KsiCards>': TypeInfo(TypeOf.Class, create:() => <KsiCards>[]),
    'RequestSignature': TypeInfo(TypeOf.Class, create:() => RequestSignature()),
    'KsiCardsSearchRequest': TypeInfo(TypeOf.Class, create:() => KsiCardsSearchRequest()),
});

Dart KsiCardsSearchRequest 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 /ksiCards/Search HTTP/1.1 
Host: stubbur-app.azurewebsites.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: 0,
	ksiClubId: String,
	expiryYear: String,
	ksiCardType: String,
	fullPhoneNumber: String,
	onlyValidForEventId: 0,
	includeInactive: False,
	includeExpired: False,
	requestUnixUTCTimeStamp: 0,
	signature: 
	{
		systemId: String,
		systemSecret: String,
		signature: String
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	cards: 
	[
		{
			id: 0,
			creationDate: 0001-01-01,
			phoneFullVerificationNumber: String,
			deviceId: String,
			ksiCardTypeId: String,
			ksiClubId: String,
			holderName: String,
			canTransferToPhoneFullNumber: String,
			canTransferToNName: String,
			expYear: String,
			expMonth: String,
			isActive: False,
			validFromDate: 0001-01-01,
			validToDate: 0001-01-01,
			lastModifiedDate: 0001-01-01,
			revokedDate: 0001-01-01,
			revokedReason: String
		}
	],
	statusCode: 0,
	message: String
}