TicketUserServices

<back to all web services

DiscountCodesSearchByOwnerRequest

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

class DiscountCodeUsageItem implements IConvertible
{
    int? id;
    int? discountCodeType;
    String? code;
    bool? isMultiUse;
    int? maxTickets;
    bool? isSingleUse;
    bool? isForPhoneNumberOnly;
    bool? isValid;
    int? confirmedRedemptions;
    int? ticketsUsed;

    DiscountCodeUsageItem({this.id,this.discountCodeType,this.code,this.isMultiUse,this.maxTickets,this.isSingleUse,this.isForPhoneNumberOnly,this.isValid,this.confirmedRedemptions,this.ticketsUsed});
    DiscountCodeUsageItem.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'];
        isValid = json['isValid'];
        confirmedRedemptions = json['confirmedRedemptions'];
        ticketsUsed = json['ticketsUsed'];
        return this;
    }

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

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

class DiscountCodesSearchByOwnerResult implements IConvertible
{
    List<DiscountCodeUsageItem>? items;
    int? statusCode;
    bool? success;
    String? message;

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

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

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

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

class DiscountCodesSearchByOwnerRequest implements IConvertible
{
    int? eventOwnerId;

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

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

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

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

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

Dart DiscountCodesSearchByOwnerRequest 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/SearchByOwner HTTP/1.1 
Host: stubbur-app.azurewebsites.net 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"eventOwnerId":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,"isValid":false,"confirmedRedemptions":0,"ticketsUsed":0}],"statusCode":0,"success":false,"message":"String"}