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 .csv suffix or ?format=csv

HTTP + CSV

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/csv
Content-Type: text/csv
Content-Length: length

{"discountCodeType":0}
HTTP/1.1 200 OK
Content-Type: text/csv
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"}