TicketUserServices

<back to all web services

DiscountCodesSearchRequest

Requires Authentication
Requires any of the roles:Admin, TeamAdmin, MobileAppRequired permission:Tickets.Add
The following routes are available for this service:
POST/DiscountCode/Search
import 'package:servicestack/servicestack.dart';

class DiscountCode implements IConvertible
{
    int? id;
    int? discountCodeType;
    String? code;
    bool? isMultiUse;
    int? maxTickets;
    bool? isSingleUse;
    bool? isForPhoneNumberOnly;
    String? fullPhoneNumber;
    bool? isUsed;
    bool? isValid;

    DiscountCode({this.id,this.discountCodeType,this.code,this.isMultiUse,this.maxTickets,this.isSingleUse,this.isForPhoneNumberOnly,this.fullPhoneNumber,this.isUsed,this.isValid});
    DiscountCode.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        discountCodeType = json['discountCodeType'];
        code = json['code'];
        isMultiUse = json['isMultiUse'];
        maxTickets = json['maxTickets'];
        isSingleUse = json['isSingleUse'];
        isForPhoneNumberOnly = json['isForPhoneNumberOnly'];
        fullPhoneNumber = json['fullPhoneNumber'];
        isUsed = json['isUsed'];
        isValid = json['isValid'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'discountCodeType': discountCodeType,
        'code': code,
        'isMultiUse': isMultiUse,
        'maxTickets': maxTickets,
        'isSingleUse': isSingleUse,
        'isForPhoneNumberOnly': isForPhoneNumberOnly,
        'fullPhoneNumber': fullPhoneNumber,
        'isUsed': isUsed,
        'isValid': isValid
    };

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

class DiscountCodesResult implements IConvertible
{
    List<DiscountCode>? items;
    int? statusCode;
    String? message;

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

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

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

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

class DiscountCodesSearchRequest implements IConvertible
{
    int? discountCodeType;

    DiscountCodesSearchRequest({this.discountCodeType});
    DiscountCodesSearchRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'discountCodeType': discountCodeType
    };

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

TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: <String, TypeInfo> {
    'DiscountCode': TypeInfo(TypeOf.Class, create:() => DiscountCode()),
    'DiscountCodesResult': TypeInfo(TypeOf.Class, create:() => DiscountCodesResult()),
    'List<DiscountCode>': TypeInfo(TypeOf.Class, create:() => <DiscountCode>[]),
    'DiscountCodesSearchRequest': TypeInfo(TypeOf.Class, create:() => DiscountCodesSearchRequest()),
});

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

{
	discountCodeType: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	items: 
	[
		{
			id: 0,
			discountCodeType: 0,
			code: String,
			isMultiUse: False,
			maxTickets: 0,
			isSingleUse: False,
			isForPhoneNumberOnly: False,
			fullPhoneNumber: String,
			isUsed: False,
			isValid: False
		}
	],
	statusCode: 0,
	message: String
}