| Requires any of the roles: | bookingsupplier-administrator-write, superadmin | 
| POST | /reports/booking/printout | Add new booking printout report | 
|---|
import 'package:servicestack/servicestack.dart';
class ReportBase implements IConvertible
{
    /**
    * Report Name
    */
    // @ApiMember(Description="Report Name", IsRequired=true)
    String? Name;
    /**
    * Report header left cell content
    */
    // @ApiMember(Description="Report header left cell content", IsRequired=true)
    String? HeaderLeftCell;
    /**
    * Report header middle cell content
    */
    // @ApiMember(Description="Report header middle cell content", IsRequired=true)
    String? HeaderMiddleCell;
    /**
    * Report header right cell content
    */
    // @ApiMember(Description="Report header right cell content", IsRequired=true)
    String? HeaderRightCell;
    /**
    * Report body cell content
    */
    // @ApiMember(Description="Report body cell content", IsRequired=true)
    String? BodyCell;
    /**
    * Report footer left cell content
    */
    // @ApiMember(Description="Report footer left cell content", IsRequired=true)
    String? FooterLeftCell;
    /**
    * Report footer middle cell content
    */
    // @ApiMember(Description="Report footer middle cell content", IsRequired=true)
    String? FooterMiddleCell;
    /**
    * Report footer right cell content
    */
    // @ApiMember(Description="Report footer right cell content", IsRequired=true)
    String? FooterRightCell;
    /**
    * Report id
    */
    // @ApiMember(Description="Report id")
    int? Id;
    /**
    * Report language (sv, en, no, fi), default is sv
    */
    // @ApiMember(Description="Report language (sv, en, no, fi), default is sv")
    String? Language;
    ReportBase({this.Name,this.HeaderLeftCell,this.HeaderMiddleCell,this.HeaderRightCell,this.BodyCell,this.FooterLeftCell,this.FooterMiddleCell,this.FooterRightCell,this.Id,this.Language});
    ReportBase.fromJson(Map<String, dynamic> json) { fromMap(json); }
    fromMap(Map<String, dynamic> json) {
        Name = json['Name'];
        HeaderLeftCell = json['HeaderLeftCell'];
        HeaderMiddleCell = json['HeaderMiddleCell'];
        HeaderRightCell = json['HeaderRightCell'];
        BodyCell = json['BodyCell'];
        FooterLeftCell = json['FooterLeftCell'];
        FooterMiddleCell = json['FooterMiddleCell'];
        FooterRightCell = json['FooterRightCell'];
        Id = json['Id'];
        Language = json['Language'];
        return this;
    }
    Map<String, dynamic> toJson() => {
        'Name': Name,
        'HeaderLeftCell': HeaderLeftCell,
        'HeaderMiddleCell': HeaderMiddleCell,
        'HeaderRightCell': HeaderRightCell,
        'BodyCell': BodyCell,
        'FooterLeftCell': FooterLeftCell,
        'FooterMiddleCell': FooterMiddleCell,
        'FooterRightCell': FooterRightCell,
        'Id': Id,
        'Language': Language
    };
    getTypeName() => "ReportBase";
    TypeContext? context = _ctx;
}
class PrintoutQueryResponse implements IConvertible
{
    /**
    * Report id
    */
    // @ApiMember(Description="Report id")
    int? Id;
    /**
    * Report Name
    */
    // @ApiMember(Description="Report Name")
    String? Name;
    /**
    * Report header left cell content
    */
    // @ApiMember(Description="Report header left cell content", IsRequired=true)
    String? HeaderLeftCell;
    /**
    * Report header middle cell content
    */
    // @ApiMember(Description="Report header middle cell content", IsRequired=true)
    String? HeaderMiddleCell;
    /**
    * Report header right cell content
    */
    // @ApiMember(Description="Report header right cell content", IsRequired=true)
    String? HeaderRightCell;
    /**
    * Report body cell content
    */
    // @ApiMember(Description="Report body cell content", IsRequired=true)
    String? BodyCell;
    /**
    * Report footer left cell content
    */
    // @ApiMember(Description="Report footer left cell content", IsRequired=true)
    String? FooterLeftCell;
    /**
    * Report footer middle cell content
    */
    // @ApiMember(Description="Report footer middle cell content", IsRequired=true)
    String? FooterMiddleCell;
    /**
    * Report footer right cell content
    */
    // @ApiMember(Description="Report footer right cell content", IsRequired=true)
    String? FooterRightCell;
    PrintoutQueryResponse({this.Id,this.Name,this.HeaderLeftCell,this.HeaderMiddleCell,this.HeaderRightCell,this.BodyCell,this.FooterLeftCell,this.FooterMiddleCell,this.FooterRightCell});
    PrintoutQueryResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Name = json['Name'];
        HeaderLeftCell = json['HeaderLeftCell'];
        HeaderMiddleCell = json['HeaderMiddleCell'];
        HeaderRightCell = json['HeaderRightCell'];
        BodyCell = json['BodyCell'];
        FooterLeftCell = json['FooterLeftCell'];
        FooterMiddleCell = json['FooterMiddleCell'];
        FooterRightCell = json['FooterRightCell'];
        return this;
    }
    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Name': Name,
        'HeaderLeftCell': HeaderLeftCell,
        'HeaderMiddleCell': HeaderMiddleCell,
        'HeaderRightCell': HeaderRightCell,
        'BodyCell': BodyCell,
        'FooterLeftCell': FooterLeftCell,
        'FooterMiddleCell': FooterMiddleCell,
        'FooterRightCell': FooterRightCell
    };
    getTypeName() => "PrintoutQueryResponse";
    TypeContext? context = _ctx;
}
// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
// @ValidateRequest(Validator="IsAuthenticated")
class CreateBookingPrintout extends ReportBase implements ICompany, IConvertible
{
    /**
    * Enter the company you want to see add a token for, if blank and you are an admin, your company id will be used
    */
    // @ApiMember(Description="Enter the company you want to see add a token for, if blank and you are an admin, your company id will be used", ParameterType="query")
    String? CompanyId;
    CreateBookingPrintout({this.CompanyId});
    CreateBookingPrintout.fromJson(Map<String, dynamic> json) { fromMap(json); }
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        CompanyId = json['CompanyId'];
        return this;
    }
    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'CompanyId': CompanyId
    });
    getTypeName() => "CreateBookingPrintout";
    TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: <String, TypeInfo> {
    'ReportBase': TypeInfo(TypeOf.Class, create:() => ReportBase()),
    'PrintoutQueryResponse': TypeInfo(TypeOf.Class, create:() => PrintoutQueryResponse()),
    'CreateBookingPrintout': TypeInfo(TypeOf.Class, create:() => CreateBookingPrintout()),
});
Dart CreateBookingPrintout DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /reports/booking/printout HTTP/1.1 
Host: api.bokamera.se 
Accept: application/json
Content-Type: application/json
Content-Length: length
{"CompanyId":"00000000-0000-0000-0000-000000000000","Name":"String","HeaderLeftCell":"String","HeaderMiddleCell":"String","HeaderRightCell":"String","BodyCell":"String","FooterLeftCell":"String","FooterMiddleCell":"String","FooterRightCell":"String","Id":0,"Language":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"Id":0,"Name":"String","HeaderLeftCell":"String","HeaderMiddleCell":"String","HeaderRightCell":"String","BodyCell":"String","FooterLeftCell":"String","FooterMiddleCell":"String","FooterRightCell":"String"}