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;

    KsiCards({this.id,this.creationDate,this.phoneFullVerificationNumber,this.deviceId,this.ksiCardTypeId,this.ksiClubId,this.holderName,this.canTransferToPhoneFullNumber,this.canTransferToNName,this.expYear,this.expMonth});
    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'];
        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
    };

    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;
    int? requestUnixUTCTimeStamp;
    RequestSignature? signature;

    KsiCardsSearchRequest({this.id,this.ksiClubId,this.expiryYear,this.ksiCardType,this.fullPhoneNumber,this.onlyValidForEventId,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'];
        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,
        'requestUnixUTCTimeStamp': requestUnixUTCTimeStamp,
        'signature': JsonConverters.toJson(signature,'RequestSignature',context!)
    };

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

TypeContext _ctx = TypeContext(library: 'stubbur_autoupdates_live.smartnewapis.com', 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-autoupdates-live.smartnewapis.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: 0,
	ksiClubId: String,
	expiryYear: String,
	ksiCardType: String,
	fullPhoneNumber: String,
	onlyValidForEventId: 0,
	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
		}
	],
	statusCode: 0,
	message: String
}