BokaMera.API.Host

<back to all web services

GetBookingUserQueue

Requires Authentication
The following routes are available for this service:
GET/bookinguserqueue/{Id}Get queue item by Id
import 'package:servicestack/servicestack.dart';

class BookingUserQueuePriceResponse implements IConvertible
{
    String? CompanyId;
    int? Id;
    int? BookingUserQueueId;
    int? ServicePriceId;
    int? Quantity;

    BookingUserQueuePriceResponse({this.CompanyId,this.Id,this.BookingUserQueueId,this.ServicePriceId,this.Quantity});
    BookingUserQueuePriceResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CompanyId = json['CompanyId'];
        Id = json['Id'];
        BookingUserQueueId = json['BookingUserQueueId'];
        ServicePriceId = json['ServicePriceId'];
        Quantity = json['Quantity'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CompanyId': CompanyId,
        'Id': Id,
        'BookingUserQueueId': BookingUserQueueId,
        'ServicePriceId': ServicePriceId,
        'Quantity': Quantity
    };

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

class GroupBookingSettings implements IConvertible
{
    bool? Active;
    int? Min;
    int? Max;

    GroupBookingSettings({this.Active,this.Min,this.Max});
    GroupBookingSettings.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'Active': Active,
        'Min': Min,
        'Max': Max
    };

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

class MultipleResourceSettings implements IConvertible
{
    bool? Active;
    int? Min;
    int? Max;

    MultipleResourceSettings({this.Active,this.Min,this.Max});
    MultipleResourceSettings.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'Active': Active,
        'Min': Min,
        'Max': Max
    };

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

class ServiceInfoResponse implements IConvertible
{
    int? Id;
    String? Name;
    String? Description;
    Uri? ImageUrl;
    int? LengthInMinutes;
    int? MaxNumberOfSpotsPerBooking;
    int? MinNumberOfSpotsPerBooking;
    GroupBookingSettings? GroupBooking;
    MultipleResourceSettings? MultipleResource;
    bool? IsGroupBooking;
    bool? IsPaymentEnabled;

    ServiceInfoResponse({this.Id,this.Name,this.Description,this.ImageUrl,this.LengthInMinutes,this.MaxNumberOfSpotsPerBooking,this.MinNumberOfSpotsPerBooking,this.GroupBooking,this.MultipleResource,this.IsGroupBooking,this.IsPaymentEnabled});
    ServiceInfoResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Name = json['Name'];
        Description = json['Description'];
        ImageUrl = JsonConverters.fromJson(json['ImageUrl'],'Uri',context!);
        LengthInMinutes = json['LengthInMinutes'];
        MaxNumberOfSpotsPerBooking = json['MaxNumberOfSpotsPerBooking'];
        MinNumberOfSpotsPerBooking = json['MinNumberOfSpotsPerBooking'];
        GroupBooking = JsonConverters.fromJson(json['GroupBooking'],'GroupBookingSettings',context!);
        MultipleResource = JsonConverters.fromJson(json['MultipleResource'],'MultipleResourceSettings',context!);
        IsGroupBooking = json['IsGroupBooking'];
        IsPaymentEnabled = json['IsPaymentEnabled'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Name': Name,
        'Description': Description,
        'ImageUrl': JsonConverters.toJson(ImageUrl,'Uri',context!),
        'LengthInMinutes': LengthInMinutes,
        'MaxNumberOfSpotsPerBooking': MaxNumberOfSpotsPerBooking,
        'MinNumberOfSpotsPerBooking': MinNumberOfSpotsPerBooking,
        'GroupBooking': JsonConverters.toJson(GroupBooking,'GroupBookingSettings',context!),
        'MultipleResource': JsonConverters.toJson(MultipleResource,'MultipleResourceSettings',context!),
        'IsGroupBooking': IsGroupBooking,
        'IsPaymentEnabled': IsPaymentEnabled
    };

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

class CompanyInfoResponse implements IConvertible
{
    String? Id;
    String? Name;
    Uri? LogoType;
    String? Category;
    String? Street1;
    String? Street2;
    String? ZipCode;
    String? City;
    String? CountryId;
    String? Longitude;
    String? Latitude;
    String? Phone;
    String? Email;
    String? HomePage;
    String? SitePath;

    CompanyInfoResponse({this.Id,this.Name,this.LogoType,this.Category,this.Street1,this.Street2,this.ZipCode,this.City,this.CountryId,this.Longitude,this.Latitude,this.Phone,this.Email,this.HomePage,this.SitePath});
    CompanyInfoResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Name = json['Name'];
        LogoType = JsonConverters.fromJson(json['LogoType'],'Uri',context!);
        Category = json['Category'];
        Street1 = json['Street1'];
        Street2 = json['Street2'];
        ZipCode = json['ZipCode'];
        City = json['City'];
        CountryId = json['CountryId'];
        Longitude = json['Longitude'];
        Latitude = json['Latitude'];
        Phone = json['Phone'];
        Email = json['Email'];
        HomePage = json['HomePage'];
        SitePath = json['SitePath'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Name': Name,
        'LogoType': JsonConverters.toJson(LogoType,'Uri',context!),
        'Category': Category,
        'Street1': Street1,
        'Street2': Street2,
        'ZipCode': ZipCode,
        'City': City,
        'CountryId': CountryId,
        'Longitude': Longitude,
        'Latitude': Latitude,
        'Phone': Phone,
        'Email': Email,
        'HomePage': HomePage,
        'SitePath': SitePath
    };

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

class BookingUserQueueItemResponse implements IConvertible
{
    int? BookingUserQueueId;
    String? CompanyId;
    String? CustomerId;
    int? ServiceId;
    DateTime? From;
    DateTime? To;
    int? StatusCode;
    String? StatusName;
    DateTime? SendConfirmationTime;
    List<BookingUserQueuePriceResponse>? Quantities;
    ServiceInfoResponse? Service;
    CompanyInfoResponse? Company;

    BookingUserQueueItemResponse({this.BookingUserQueueId,this.CompanyId,this.CustomerId,this.ServiceId,this.From,this.To,this.StatusCode,this.StatusName,this.SendConfirmationTime,this.Quantities,this.Service,this.Company});
    BookingUserQueueItemResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        BookingUserQueueId = json['BookingUserQueueId'];
        CompanyId = json['CompanyId'];
        CustomerId = json['CustomerId'];
        ServiceId = json['ServiceId'];
        From = JsonConverters.fromJson(json['From'],'DateTime',context!);
        To = JsonConverters.fromJson(json['To'],'DateTime',context!);
        StatusCode = json['StatusCode'];
        StatusName = json['StatusName'];
        SendConfirmationTime = JsonConverters.fromJson(json['SendConfirmationTime'],'DateTime',context!);
        Quantities = JsonConverters.fromJson(json['Quantities'],'List<BookingUserQueuePriceResponse>',context!);
        Service = JsonConverters.fromJson(json['Service'],'ServiceInfoResponse',context!);
        Company = JsonConverters.fromJson(json['Company'],'CompanyInfoResponse',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'BookingUserQueueId': BookingUserQueueId,
        'CompanyId': CompanyId,
        'CustomerId': CustomerId,
        'ServiceId': ServiceId,
        'From': JsonConverters.toJson(From,'DateTime',context!),
        'To': JsonConverters.toJson(To,'DateTime',context!),
        'StatusCode': StatusCode,
        'StatusName': StatusName,
        'SendConfirmationTime': JsonConverters.toJson(SendConfirmationTime,'DateTime',context!),
        'Quantities': JsonConverters.toJson(Quantities,'List<BookingUserQueuePriceResponse>',context!),
        'Service': JsonConverters.toJson(Service,'ServiceInfoResponse',context!),
        'Company': JsonConverters.toJson(Company,'CompanyInfoResponse',context!)
    };

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

// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
// @ValidateRequest(Validator="IsAuthenticated")
class GetBookingUserQueue implements IConvertible
{
    /**
    * Id of the booking user queue
    */
    // @ApiMember(Description="Id of the booking user queue", IsRequired=true, ParameterType="path")
    int? Id;

    /**
    * 
    */
    // @ApiMember(Description="", IsRequired=true)
    String? CompanyId;

    /**
    * 
    */
    // @ApiMember(Description="", IsRequired=true)
    String? CustomerId;

    /**
    * If you want to include the service information for the booking
    */
    // @ApiMember(DataType="boolean", Description="If you want to include the service information for the booking", ParameterType="query")
    bool? IncludeServiceInformation;

    /**
    * If you want to include the company information for the booking
    */
    // @ApiMember(DataType="boolean", Description="If you want to include the company information for the booking", ParameterType="query")
    bool? IncludeCompanyInformation;

    GetBookingUserQueue({this.Id,this.CompanyId,this.CustomerId,this.IncludeServiceInformation,this.IncludeCompanyInformation});
    GetBookingUserQueue.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        CompanyId = json['CompanyId'];
        CustomerId = json['CustomerId'];
        IncludeServiceInformation = json['IncludeServiceInformation'];
        IncludeCompanyInformation = json['IncludeCompanyInformation'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'CompanyId': CompanyId,
        'CustomerId': CustomerId,
        'IncludeServiceInformation': IncludeServiceInformation,
        'IncludeCompanyInformation': IncludeCompanyInformation
    };

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

TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: <String, TypeInfo> {
    'BookingUserQueuePriceResponse': TypeInfo(TypeOf.Class, create:() => BookingUserQueuePriceResponse()),
    'GroupBookingSettings': TypeInfo(TypeOf.Class, create:() => GroupBookingSettings()),
    'MultipleResourceSettings': TypeInfo(TypeOf.Class, create:() => MultipleResourceSettings()),
    'ServiceInfoResponse': TypeInfo(TypeOf.Class, create:() => ServiceInfoResponse()),
    'Uri': TypeInfo(TypeOf.Class, create:() => Uri()),
    'CompanyInfoResponse': TypeInfo(TypeOf.Class, create:() => CompanyInfoResponse()),
    'BookingUserQueueItemResponse': TypeInfo(TypeOf.Class, create:() => BookingUserQueueItemResponse()),
    'List<BookingUserQueuePriceResponse>': TypeInfo(TypeOf.Class, create:() => <BookingUserQueuePriceResponse>[]),
    'GetBookingUserQueue': TypeInfo(TypeOf.Class, create:() => GetBookingUserQueue()),
});

Dart GetBookingUserQueue 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.

GET /bookinguserqueue/{Id} HTTP/1.1 
Host: api.bokamera.se 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	BookingUserQueueId: 0,
	ServiceId: 0,
	StatusCode: 0,
	StatusName: String,
	SendConfirmationTime: "0001-01-01T00:00:00",
	Quantities: 
	[
		{
			Id: 0,
			BookingUserQueueId: 0,
			ServicePriceId: 0,
			Quantity: 0
		}
	],
	Service: 
	{
		Id: 0,
		Name: String,
		Description: String,
		LengthInMinutes: 0,
		MaxNumberOfSpotsPerBooking: 0,
		MinNumberOfSpotsPerBooking: 0,
		GroupBooking: 
		{
			Active: False,
			Min: 0,
			Max: 0
		},
		MultipleResource: 
		{
			Active: False,
			Min: 0,
			Max: 0
		},
		IsGroupBooking: False,
		IsPaymentEnabled: False
	},
	Company: 
	{
		Name: String,
		Category: String,
		Street1: String,
		Street2: String,
		ZipCode: String,
		City: String,
		CountryId: String,
		Longitude: String,
		Latitude: String,
		Phone: String,
		Email: String,
		HomePage: String,
		SitePath: String
	}
}