Requires any of the roles: | bookingsupplier-administrator-write, bookingsupplier-administrator-read, superadmin |
GET | /bookinglog | Find booking log for booking. |
---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using BokaMera.API.ServiceModel.Dtos;
using BokaMera.API.ServiceModel.Db;
namespace BokaMera.API.ServiceModel.Db
{
public partial class BaseModel
{
}
public partial class BookingLog
: BaseModel
{
[References(typeof(BokaMera.API.ServiceModel.Db.BookingLogEventType))]
public virtual int EventTypeId { get; set; }
public virtual BookingLogEventType EventType { get; set; }
[Required]
public virtual Guid CompanyId { get; set; }
[Required]
public virtual int BookingId { get; set; }
public virtual int Id { get; set; }
public virtual string Comments { get; set; }
public virtual string UserId { get; set; }
[Required]
public virtual DateTime Created { get; set; }
public virtual DateTimeOffset? ModifiedDate { get; set; }
}
public partial class BookingLogEventType
: BaseModel
{
[Required]
public virtual string Name { get; set; }
[Required]
public virtual string Description { get; set; }
public virtual DateTimeOffset? ModifiedDate { get; set; }
[Required]
public virtual int Id { get; set; }
}
}
namespace BokaMera.API.ServiceModel.Dtos
{
public partial class AccessKeyTypeResponse
{
public virtual int Id { get; set; }
public virtual string KeyType { get; set; }
public virtual string Description { get; set; }
}
public partial class BookingLogEventTypeResponse
{
///<summary>
///The event type id
///</summary>
[ApiMember(Description="The event type id")]
public virtual int Id { get; set; }
///<summary>
///The event type name
///</summary>
[ApiMember(Description="The event type name")]
public virtual string Name { get; set; }
///<summary>
///The event type description
///</summary>
[ApiMember(Description="The event type description")]
public virtual string Description { get; set; }
}
[ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)]
[ApiResponse(Description="You have too low privilegies to call this service", StatusCode=403)]
[ValidateRequest("IsAuthenticated")]
public partial class BookingLogQuery
: QueryDb<BookingLog, BookingLogQueryResponse>
{
///<summary>
///Enter the company and booking id you want to see log for, if blank company id and you are an admin, your company id will be used
///</summary>
[ApiMember(Description="Enter the company and booking id you want to see log for, if blank company id and you are an admin, your company id will be used", IsRequired=true, ParameterType="query")]
public virtual Guid? CompanyId { get; set; }
///<summary>
///Enter the booking id you want to get the log
///</summary>
[ApiMember(Description="Enter the booking id you want to get the log", IsRequired=true, ParameterType="query")]
public virtual int BookingId { get; set; }
}
public partial class BookingLogQueryResponse
{
///<summary>
///The booking log id
///</summary>
[ApiMember(Description="The booking log id")]
public virtual int Id { get; set; }
///<summary>
///The booking id
///</summary>
[ApiMember(Description="The booking id")]
public virtual int BookingId { get; set; }
///<summary>
///The type of event
///</summary>
[ApiMember(Description="The type of event")]
public virtual int EventTypeId { get; set; }
///<summary>
///The type of event
///</summary>
[ApiMember(Description="The type of event")]
public virtual BookingLogEventTypeResponse EventType { get; set; }
///<summary>
///Comments that could be added to the event log item
///</summary>
[ApiMember(Description="Comments that could be added to the event log item")]
public virtual string Comments { get; set; }
///<summary>
///The user created the event
///</summary>
[ApiMember(Description="The user created the event")]
public virtual string UserName { get; set; }
///<summary>
///Then date when the event occured
///</summary>
[ApiMember(Description="Then date when the event occured")]
public virtual DateTime Created { get; set; }
}
}
namespace ServiceStack
{
[DataContract]
public partial class QueryBase
{
public QueryBase()
{
Meta = new Dictionary<string, string>{};
}
///<summary>
///Skip over a given number of elements in a sequence and then return the remainder. Use this when you need paging.<br/><br/><strong>Example:</strong><br/><code>?skip=10&orderBy=Id</code>
///</summary>
[DataMember(Order=1)]
public virtual int? Skip { get; set; }
///<summary>
///Return a given number of elements in a sequence and then skip over the remainder. Use this when you need paging.<br/><br/><strong>Example:</strong><br/><code>?take=20</code>
///</summary>
[DataMember(Order=2)]
public virtual int? Take { get; set; }
///<summary>
///Comma separated list of fields to order by. Prefix the field name with a minus if you wan't to invert the sort for that field.<br/><br/><strong>Example:</strong><br/><code>?orderBy=Id,-Age,FirstName</code>
///</summary>
[DataMember(Order=3)]
public virtual string OrderBy { get; set; }
///<summary>
///Comma separated list of fields to order by in descending order. Prefix the field name with a minus if you wan't to invert the sort for that field.<br/><br/><strong>Example:</strong><br/><code>?orderByDesc=Id,-Age,FirstName</code>
///</summary>
[DataMember(Order=4)]
public virtual string OrderByDesc { get; set; }
///<summary>
///Include any of the aggregates <code>AVG, COUNT, FIRST, LAST, MAX, MIN, SUM</code> in your result set. The results will be returned in the meta field.<br/><br/><strong>Example:</strong><br/><code>?include=COUNT(*) as Total</code><br/><br/>or multiple fields with<br/><code>?include=Count(*) Total, Min(Age), AVG(Age) AverageAge</code><br/></br>or unique with<br/><code>?include=COUNT(DISTINCT LivingStatus) as UniqueStatus</code>
///</summary>
[DataMember(Order=5)]
public virtual string Include { get; set; }
[DataMember(Order=6)]
public virtual string Fields { get; set; }
[DataMember(Order=7)]
public virtual Dictionary<string, string> Meta { get; set; }
}
public partial class QueryDb<From, Into>
: QueryBase
{
}
[DataContract]
public partial class QueryResponse<AccessKeyTypeResponse>
{
public QueryResponse()
{
Results = new List<AccessKeyTypeResponse>{};
Meta = new Dictionary<string, string>{};
}
[DataMember(Order=1)]
public virtual int Offset { get; set; }
[DataMember(Order=2)]
public virtual int Total { get; set; }
[DataMember(Order=3)]
public virtual List<AccessKeyTypeResponse> Results { get; set; }
[DataMember(Order=4)]
public virtual Dictionary<string, string> Meta { get; set; }
[DataMember(Order=5)]
public virtual ResponseStatus ResponseStatus { get; set; }
}
}
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.
GET /bookinglog HTTP/1.1 Host: testapi.bokamera.se Accept: application/json
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"Offset":0,"Total":0,"Results":[{"Id":0,"BookingId":0,"EventTypeId":0,"EventType":{"Id":0,"Name":"String","Description":"String"},"Comments":"String","UserName":"String"}],"Meta":{"String":"String"},"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}