ClubManager.Api

<back to all web services

FindJournal

Requires Authentication
Required role:API
The following routes are available for this service:
All Verbs/api/Query/Journal
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

// @DataContract
abstract class QueryBase
{
    // @DataMember(Order=1)
    int? Skip;

    // @DataMember(Order=2)
    int? Take;

    // @DataMember(Order=3)
    String? OrderBy;

    // @DataMember(Order=4)
    String? OrderByDesc;

    // @DataMember(Order=5)
    String? Include;

    // @DataMember(Order=6)
    String? Fields;

    // @DataMember(Order=7)
    Map<String,String?>? Meta;

    QueryBase({this.Skip,this.Take,this.OrderBy,this.OrderByDesc,this.Include,this.Fields,this.Meta});
    QueryBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Skip = json['Skip'];
        Take = json['Take'];
        OrderBy = json['OrderBy'];
        OrderByDesc = json['OrderByDesc'];
        Include = json['Include'];
        Fields = json['Fields'];
        Meta = JsonConverters.toStringMap(json['Meta']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Skip': Skip,
        'Take': Take,
        'OrderBy': OrderBy,
        'OrderByDesc': OrderByDesc,
        'Include': Include,
        'Fields': Fields,
        'Meta': Meta
    };

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

abstract class QueryDb<T> extends QueryBase
{
    QueryDb();
    QueryDb.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "QueryDb<$T>";
    TypeContext? context = _ctx;
}

class LossReasonInstance implements IConvertible
{
    int? LossReasonId;
    String? Reason;
    bool? Deleted;
    bool? Demo;
    bool? Selectable;

    LossReasonInstance({this.LossReasonId,this.Reason,this.Deleted,this.Demo,this.Selectable});
    LossReasonInstance.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        LossReasonId = json['LossReasonId'];
        Reason = json['Reason'];
        Deleted = json['Deleted'];
        Demo = json['Demo'];
        Selectable = json['Selectable'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'LossReasonId': LossReasonId,
        'Reason': Reason,
        'Deleted': Deleted,
        'Demo': Demo,
        'Selectable': Selectable
    };

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

class UserInstance implements IConvertible
{
    int? UserId;
    String? UserName;
    String? Name;
    String? Email;
    String? MobilePhone;
    bool? Enabled;
    DateTime? LastLogin;
    DateTime? Created;
    bool? Training;
    bool? Deleted;
    int? CoursesCompleted;
    bool? DisplayHomeNotification;
    bool? TwoFactorEnabled;
    bool? EmailConfirmed;
    bool? MobilePhoneConfirmed;
    bool? Notifications;
    DateTime? ChangePassword;
    DateTime? Activated;

    UserInstance({this.UserId,this.UserName,this.Name,this.Email,this.MobilePhone,this.Enabled,this.LastLogin,this.Created,this.Training,this.Deleted,this.CoursesCompleted,this.DisplayHomeNotification,this.TwoFactorEnabled,this.EmailConfirmed,this.MobilePhoneConfirmed,this.Notifications,this.ChangePassword,this.Activated});
    UserInstance.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        UserId = json['UserId'];
        UserName = json['UserName'];
        Name = json['Name'];
        Email = json['Email'];
        MobilePhone = json['MobilePhone'];
        Enabled = json['Enabled'];
        LastLogin = JsonConverters.fromJson(json['LastLogin'],'DateTime',context!);
        Created = JsonConverters.fromJson(json['Created'],'DateTime',context!);
        Training = json['Training'];
        Deleted = json['Deleted'];
        CoursesCompleted = json['CoursesCompleted'];
        DisplayHomeNotification = json['DisplayHomeNotification'];
        TwoFactorEnabled = json['TwoFactorEnabled'];
        EmailConfirmed = json['EmailConfirmed'];
        MobilePhoneConfirmed = json['MobilePhoneConfirmed'];
        Notifications = json['Notifications'];
        ChangePassword = JsonConverters.fromJson(json['ChangePassword'],'DateTime',context!);
        Activated = JsonConverters.fromJson(json['Activated'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'UserId': UserId,
        'UserName': UserName,
        'Name': Name,
        'Email': Email,
        'MobilePhone': MobilePhone,
        'Enabled': Enabled,
        'LastLogin': JsonConverters.toJson(LastLogin,'DateTime',context!),
        'Created': JsonConverters.toJson(Created,'DateTime',context!),
        'Training': Training,
        'Deleted': Deleted,
        'CoursesCompleted': CoursesCompleted,
        'DisplayHomeNotification': DisplayHomeNotification,
        'TwoFactorEnabled': TwoFactorEnabled,
        'EmailConfirmed': EmailConfirmed,
        'MobilePhoneConfirmed': MobilePhoneConfirmed,
        'Notifications': Notifications,
        'ChangePassword': JsonConverters.toJson(ChangePassword,'DateTime',context!),
        'Activated': JsonConverters.toJson(Activated,'DateTime',context!)
    };

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

class MemberInstance implements IConvertible
{
    int? MemberId;
    int? MemberType;
    String? MembershipNumber;
    String? CardNumber;
    String? CompanyName;
    String? Surname;
    String? Forenames;
    String? Title;
    int? Gender;
    DateTime? DateOfBirth;
    String? Address1;
    String? Address2;
    String? City;
    String? County;
    String? Postcode;
    String? HomePhone;
    String? MobilePhone;
    String? EmailAddress;
    bool? EmailOptOut;
    bool? SmsOptOut;
    bool? PhoneOptOut;
    bool? LetterOptOut;
    String? DirectDebitAccountHolder;
    String? DirectDebitAccountNumber;
    String? DirectDebitSortCode;
    DateTime? JoinedDate;
    String? DirectDebitBankAddress;
    String? FullName;
    String? ExternalReference;
    Uint8List? Photo;
    DateTime? PhotoModifiedDate;
    String? Notes;
    bool? Deleted;
    bool? Demo;
    bool? UseExternalStatus;
    int? ExternalStatus;
    String? FreeText;
    String? MemberKey;
    double? Balance;
    double? CreditLimit;
    DateTime? CreatedDate;
    DateTime? ModifiedDate;
    DateTime? DeletedDate;
    int? ExternalSource;
    double? RetentionMetric;
    double? MonthlyAttendanceFrequency;
    int? AssignedToUserId;
    int? CreatedByUserId;
    int? DeletedByUserId;
    LossReasonInstance? LossReason;
    // @References(typeof(LossReasonInstance))
    int? LossReasonId;

    int? WonOrLost;
    DateTime? WonOrLostDate;
    bool? GiftAidPermission;
    bool? PhotoPermission;
    bool? FirstAidPermission;
    String? EmergencyContact;
    UserInstance? WonOrLostByUser;
    // @References(typeof(UserInstance))
    int? WonOrLostByUserId;

    DateTime? AgreedToTerms;
    bool? OnlineBookingBanned;
    String? Country;
    DateTime? FingerprintEnrolled;
    double? LastPaymentAmount;
    String? Pin;
    int? ProspectingPoints;
    int? AchievementPoints;
    String? ParentForenames;
    String? ParentSurname;

    MemberInstance({this.MemberId,this.MemberType,this.MembershipNumber,this.CardNumber,this.CompanyName,this.Surname,this.Forenames,this.Title,this.Gender,this.DateOfBirth,this.Address1,this.Address2,this.City,this.County,this.Postcode,this.HomePhone,this.MobilePhone,this.EmailAddress,this.EmailOptOut,this.SmsOptOut,this.PhoneOptOut,this.LetterOptOut,this.DirectDebitAccountHolder,this.DirectDebitAccountNumber,this.DirectDebitSortCode,this.JoinedDate,this.DirectDebitBankAddress,this.FullName,this.ExternalReference,this.Photo,this.PhotoModifiedDate,this.Notes,this.Deleted,this.Demo,this.UseExternalStatus,this.ExternalStatus,this.FreeText,this.MemberKey,this.Balance,this.CreditLimit,this.CreatedDate,this.ModifiedDate,this.DeletedDate,this.ExternalSource,this.RetentionMetric,this.MonthlyAttendanceFrequency,this.AssignedToUserId,this.CreatedByUserId,this.DeletedByUserId,this.LossReason,this.LossReasonId,this.WonOrLost,this.WonOrLostDate,this.GiftAidPermission,this.PhotoPermission,this.FirstAidPermission,this.EmergencyContact,this.WonOrLostByUser,this.WonOrLostByUserId,this.AgreedToTerms,this.OnlineBookingBanned,this.Country,this.FingerprintEnrolled,this.LastPaymentAmount,this.Pin,this.ProspectingPoints,this.AchievementPoints,this.ParentForenames,this.ParentSurname});
    MemberInstance.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        MemberId = json['MemberId'];
        MemberType = json['MemberType'];
        MembershipNumber = json['MembershipNumber'];
        CardNumber = json['CardNumber'];
        CompanyName = json['CompanyName'];
        Surname = json['Surname'];
        Forenames = json['Forenames'];
        Title = json['Title'];
        Gender = json['Gender'];
        DateOfBirth = JsonConverters.fromJson(json['DateOfBirth'],'DateTime',context!);
        Address1 = json['Address1'];
        Address2 = json['Address2'];
        City = json['City'];
        County = json['County'];
        Postcode = json['Postcode'];
        HomePhone = json['HomePhone'];
        MobilePhone = json['MobilePhone'];
        EmailAddress = json['EmailAddress'];
        EmailOptOut = json['EmailOptOut'];
        SmsOptOut = json['SmsOptOut'];
        PhoneOptOut = json['PhoneOptOut'];
        LetterOptOut = json['LetterOptOut'];
        DirectDebitAccountHolder = json['DirectDebitAccountHolder'];
        DirectDebitAccountNumber = json['DirectDebitAccountNumber'];
        DirectDebitSortCode = json['DirectDebitSortCode'];
        JoinedDate = JsonConverters.fromJson(json['JoinedDate'],'DateTime',context!);
        DirectDebitBankAddress = json['DirectDebitBankAddress'];
        FullName = json['FullName'];
        ExternalReference = json['ExternalReference'];
        Photo = JsonConverters.fromJson(json['Photo'],'Uint8List',context!);
        PhotoModifiedDate = JsonConverters.fromJson(json['PhotoModifiedDate'],'DateTime',context!);
        Notes = json['Notes'];
        Deleted = json['Deleted'];
        Demo = json['Demo'];
        UseExternalStatus = json['UseExternalStatus'];
        ExternalStatus = json['ExternalStatus'];
        FreeText = json['FreeText'];
        MemberKey = json['MemberKey'];
        Balance = JsonConverters.toDouble(json['Balance']);
        CreditLimit = JsonConverters.toDouble(json['CreditLimit']);
        CreatedDate = JsonConverters.fromJson(json['CreatedDate'],'DateTime',context!);
        ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!);
        DeletedDate = JsonConverters.fromJson(json['DeletedDate'],'DateTime',context!);
        ExternalSource = json['ExternalSource'];
        RetentionMetric = JsonConverters.toDouble(json['RetentionMetric']);
        MonthlyAttendanceFrequency = JsonConverters.toDouble(json['MonthlyAttendanceFrequency']);
        AssignedToUserId = json['AssignedToUserId'];
        CreatedByUserId = json['CreatedByUserId'];
        DeletedByUserId = json['DeletedByUserId'];
        LossReason = JsonConverters.fromJson(json['LossReason'],'LossReasonInstance',context!);
        LossReasonId = json['LossReasonId'];
        WonOrLost = json['WonOrLost'];
        WonOrLostDate = JsonConverters.fromJson(json['WonOrLostDate'],'DateTime',context!);
        GiftAidPermission = json['GiftAidPermission'];
        PhotoPermission = json['PhotoPermission'];
        FirstAidPermission = json['FirstAidPermission'];
        EmergencyContact = json['EmergencyContact'];
        WonOrLostByUser = JsonConverters.fromJson(json['WonOrLostByUser'],'UserInstance',context!);
        WonOrLostByUserId = json['WonOrLostByUserId'];
        AgreedToTerms = JsonConverters.fromJson(json['AgreedToTerms'],'DateTime',context!);
        OnlineBookingBanned = json['OnlineBookingBanned'];
        Country = json['Country'];
        FingerprintEnrolled = JsonConverters.fromJson(json['FingerprintEnrolled'],'DateTime',context!);
        LastPaymentAmount = JsonConverters.toDouble(json['LastPaymentAmount']);
        Pin = json['Pin'];
        ProspectingPoints = json['ProspectingPoints'];
        AchievementPoints = json['AchievementPoints'];
        ParentForenames = json['ParentForenames'];
        ParentSurname = json['ParentSurname'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'MemberId': MemberId,
        'MemberType': MemberType,
        'MembershipNumber': MembershipNumber,
        'CardNumber': CardNumber,
        'CompanyName': CompanyName,
        'Surname': Surname,
        'Forenames': Forenames,
        'Title': Title,
        'Gender': Gender,
        'DateOfBirth': JsonConverters.toJson(DateOfBirth,'DateTime',context!),
        'Address1': Address1,
        'Address2': Address2,
        'City': City,
        'County': County,
        'Postcode': Postcode,
        'HomePhone': HomePhone,
        'MobilePhone': MobilePhone,
        'EmailAddress': EmailAddress,
        'EmailOptOut': EmailOptOut,
        'SmsOptOut': SmsOptOut,
        'PhoneOptOut': PhoneOptOut,
        'LetterOptOut': LetterOptOut,
        'DirectDebitAccountHolder': DirectDebitAccountHolder,
        'DirectDebitAccountNumber': DirectDebitAccountNumber,
        'DirectDebitSortCode': DirectDebitSortCode,
        'JoinedDate': JsonConverters.toJson(JoinedDate,'DateTime',context!),
        'DirectDebitBankAddress': DirectDebitBankAddress,
        'FullName': FullName,
        'ExternalReference': ExternalReference,
        'Photo': JsonConverters.toJson(Photo,'Uint8List',context!),
        'PhotoModifiedDate': JsonConverters.toJson(PhotoModifiedDate,'DateTime',context!),
        'Notes': Notes,
        'Deleted': Deleted,
        'Demo': Demo,
        'UseExternalStatus': UseExternalStatus,
        'ExternalStatus': ExternalStatus,
        'FreeText': FreeText,
        'MemberKey': MemberKey,
        'Balance': Balance,
        'CreditLimit': CreditLimit,
        'CreatedDate': JsonConverters.toJson(CreatedDate,'DateTime',context!),
        'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!),
        'DeletedDate': JsonConverters.toJson(DeletedDate,'DateTime',context!),
        'ExternalSource': ExternalSource,
        'RetentionMetric': RetentionMetric,
        'MonthlyAttendanceFrequency': MonthlyAttendanceFrequency,
        'AssignedToUserId': AssignedToUserId,
        'CreatedByUserId': CreatedByUserId,
        'DeletedByUserId': DeletedByUserId,
        'LossReason': JsonConverters.toJson(LossReason,'LossReasonInstance',context!),
        'LossReasonId': LossReasonId,
        'WonOrLost': WonOrLost,
        'WonOrLostDate': JsonConverters.toJson(WonOrLostDate,'DateTime',context!),
        'GiftAidPermission': GiftAidPermission,
        'PhotoPermission': PhotoPermission,
        'FirstAidPermission': FirstAidPermission,
        'EmergencyContact': EmergencyContact,
        'WonOrLostByUser': JsonConverters.toJson(WonOrLostByUser,'UserInstance',context!),
        'WonOrLostByUserId': WonOrLostByUserId,
        'AgreedToTerms': JsonConverters.toJson(AgreedToTerms,'DateTime',context!),
        'OnlineBookingBanned': OnlineBookingBanned,
        'Country': Country,
        'FingerprintEnrolled': JsonConverters.toJson(FingerprintEnrolled,'DateTime',context!),
        'LastPaymentAmount': LastPaymentAmount,
        'Pin': Pin,
        'ProspectingPoints': ProspectingPoints,
        'AchievementPoints': AchievementPoints,
        'ParentForenames': ParentForenames,
        'ParentSurname': ParentSurname
    };

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

class MessageTemplateInstance implements IConvertible
{
    int? MessageTemplateId;
    String? Name;
    String? Subject;
    String? Body;
    int? ReportId;
    int? TemplateType;
    DateTime? Created;
    int? CreatedBy;
    DateTime? Modified;
    int? ModifiedBy;
    DateTime? Deleted;
    int? DeletedBy;
    int? EventType;
    int? ContentType;
    bool? Hidden;
    int? ParentMessageTemplateId;
    String? InclusionTags;
    String? ExclusionTags;

    MessageTemplateInstance({this.MessageTemplateId,this.Name,this.Subject,this.Body,this.ReportId,this.TemplateType,this.Created,this.CreatedBy,this.Modified,this.ModifiedBy,this.Deleted,this.DeletedBy,this.EventType,this.ContentType,this.Hidden,this.ParentMessageTemplateId,this.InclusionTags,this.ExclusionTags});
    MessageTemplateInstance.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        MessageTemplateId = json['MessageTemplateId'];
        Name = json['Name'];
        Subject = json['Subject'];
        Body = json['Body'];
        ReportId = json['ReportId'];
        TemplateType = json['TemplateType'];
        Created = JsonConverters.fromJson(json['Created'],'DateTime',context!);
        CreatedBy = json['CreatedBy'];
        Modified = JsonConverters.fromJson(json['Modified'],'DateTime',context!);
        ModifiedBy = json['ModifiedBy'];
        Deleted = JsonConverters.fromJson(json['Deleted'],'DateTime',context!);
        DeletedBy = json['DeletedBy'];
        EventType = json['EventType'];
        ContentType = json['ContentType'];
        Hidden = json['Hidden'];
        ParentMessageTemplateId = json['ParentMessageTemplateId'];
        InclusionTags = json['InclusionTags'];
        ExclusionTags = json['ExclusionTags'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'MessageTemplateId': MessageTemplateId,
        'Name': Name,
        'Subject': Subject,
        'Body': Body,
        'ReportId': ReportId,
        'TemplateType': TemplateType,
        'Created': JsonConverters.toJson(Created,'DateTime',context!),
        'CreatedBy': CreatedBy,
        'Modified': JsonConverters.toJson(Modified,'DateTime',context!),
        'ModifiedBy': ModifiedBy,
        'Deleted': JsonConverters.toJson(Deleted,'DateTime',context!),
        'DeletedBy': DeletedBy,
        'EventType': EventType,
        'ContentType': ContentType,
        'Hidden': Hidden,
        'ParentMessageTemplateId': ParentMessageTemplateId,
        'InclusionTags': InclusionTags,
        'ExclusionTags': ExclusionTags
    };

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

class MessageInstance implements IConvertible
{
    int? MessageId;
    DateTime? DueDate;
    DateTime? SentDate;
    bool? Processed;
    int? Failures;
    int? InstanceId;
    String? MessageSid;
    MessageTemplateInstance? MessageTemplate;
    // @References(typeof(MessageTemplateInstance))
    int? MessageTemplateId;

    DateTime? OpenedDate;
    DateTime? BouncedDate;
    DateTime? DeliveredDate;
    DateTime? UnsubscribedDate;
    DateTime? SpamReportDate;
    UserInstance? User;
    // @References(typeof(UserInstance))
    int? UserId;

    int? InstanceType;

    MessageInstance({this.MessageId,this.DueDate,this.SentDate,this.Processed,this.Failures,this.InstanceId,this.MessageSid,this.MessageTemplate,this.MessageTemplateId,this.OpenedDate,this.BouncedDate,this.DeliveredDate,this.UnsubscribedDate,this.SpamReportDate,this.User,this.UserId,this.InstanceType});
    MessageInstance.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        MessageId = json['MessageId'];
        DueDate = JsonConverters.fromJson(json['DueDate'],'DateTime',context!);
        SentDate = JsonConverters.fromJson(json['SentDate'],'DateTime',context!);
        Processed = json['Processed'];
        Failures = json['Failures'];
        InstanceId = json['InstanceId'];
        MessageSid = json['MessageSid'];
        MessageTemplate = JsonConverters.fromJson(json['MessageTemplate'],'MessageTemplateInstance',context!);
        MessageTemplateId = json['MessageTemplateId'];
        OpenedDate = JsonConverters.fromJson(json['OpenedDate'],'DateTime',context!);
        BouncedDate = JsonConverters.fromJson(json['BouncedDate'],'DateTime',context!);
        DeliveredDate = JsonConverters.fromJson(json['DeliveredDate'],'DateTime',context!);
        UnsubscribedDate = JsonConverters.fromJson(json['UnsubscribedDate'],'DateTime',context!);
        SpamReportDate = JsonConverters.fromJson(json['SpamReportDate'],'DateTime',context!);
        User = JsonConverters.fromJson(json['User'],'UserInstance',context!);
        UserId = json['UserId'];
        InstanceType = json['InstanceType'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'MessageId': MessageId,
        'DueDate': JsonConverters.toJson(DueDate,'DateTime',context!),
        'SentDate': JsonConverters.toJson(SentDate,'DateTime',context!),
        'Processed': Processed,
        'Failures': Failures,
        'InstanceId': InstanceId,
        'MessageSid': MessageSid,
        'MessageTemplate': JsonConverters.toJson(MessageTemplate,'MessageTemplateInstance',context!),
        'MessageTemplateId': MessageTemplateId,
        'OpenedDate': JsonConverters.toJson(OpenedDate,'DateTime',context!),
        'BouncedDate': JsonConverters.toJson(BouncedDate,'DateTime',context!),
        'DeliveredDate': JsonConverters.toJson(DeliveredDate,'DateTime',context!),
        'UnsubscribedDate': JsonConverters.toJson(UnsubscribedDate,'DateTime',context!),
        'SpamReportDate': JsonConverters.toJson(SpamReportDate,'DateTime',context!),
        'User': JsonConverters.toJson(User,'UserInstance',context!),
        'UserId': UserId,
        'InstanceType': InstanceType
    };

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

class JournalInstance implements IConvertible
{
    int? JournalId;
    DateTime? JournalDate;
    String? Title;
    String? Comment;
    int? MessageType;
    String? UserName;
    MemberInstance? Member;
    // @References(typeof(MemberInstance))
    int? MemberId;

    MessageInstance? Message;
    // @References(typeof(MessageInstance))
    int? MessageId;

    DateTime? ViewedDate;
    bool? Deleted;
    bool? Demo;
    bool? Permanent;
    DateTime? alertDate;
    int? AssignedToUserId;
    bool? Completed;
    DateTime? CompletedDate;
    int? CreatedByUserId;
    int? PostponedCount;
    bool? SendSMSReminder;
    bool? NoShow;

    JournalInstance({this.JournalId,this.JournalDate,this.Title,this.Comment,this.MessageType,this.UserName,this.Member,this.MemberId,this.Message,this.MessageId,this.ViewedDate,this.Deleted,this.Demo,this.Permanent,this.alertDate,this.AssignedToUserId,this.Completed,this.CompletedDate,this.CreatedByUserId,this.PostponedCount,this.SendSMSReminder,this.NoShow});
    JournalInstance.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        JournalId = json['JournalId'];
        JournalDate = JsonConverters.fromJson(json['JournalDate'],'DateTime',context!);
        Title = json['Title'];
        Comment = json['Comment'];
        MessageType = json['MessageType'];
        UserName = json['UserName'];
        Member = JsonConverters.fromJson(json['Member'],'MemberInstance',context!);
        MemberId = json['MemberId'];
        Message = JsonConverters.fromJson(json['Message'],'MessageInstance',context!);
        MessageId = json['MessageId'];
        ViewedDate = JsonConverters.fromJson(json['ViewedDate'],'DateTime',context!);
        Deleted = json['Deleted'];
        Demo = json['Demo'];
        Permanent = json['Permanent'];
        alertDate = JsonConverters.fromJson(json['alertDate'],'DateTime',context!);
        AssignedToUserId = json['AssignedToUserId'];
        Completed = json['Completed'];
        CompletedDate = JsonConverters.fromJson(json['CompletedDate'],'DateTime',context!);
        CreatedByUserId = json['CreatedByUserId'];
        PostponedCount = json['PostponedCount'];
        SendSMSReminder = json['SendSMSReminder'];
        NoShow = json['NoShow'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'JournalId': JournalId,
        'JournalDate': JsonConverters.toJson(JournalDate,'DateTime',context!),
        'Title': Title,
        'Comment': Comment,
        'MessageType': MessageType,
        'UserName': UserName,
        'Member': JsonConverters.toJson(Member,'MemberInstance',context!),
        'MemberId': MemberId,
        'Message': JsonConverters.toJson(Message,'MessageInstance',context!),
        'MessageId': MessageId,
        'ViewedDate': JsonConverters.toJson(ViewedDate,'DateTime',context!),
        'Deleted': Deleted,
        'Demo': Demo,
        'Permanent': Permanent,
        'alertDate': JsonConverters.toJson(alertDate,'DateTime',context!),
        'AssignedToUserId': AssignedToUserId,
        'Completed': Completed,
        'CompletedDate': JsonConverters.toJson(CompletedDate,'DateTime',context!),
        'CreatedByUserId': CreatedByUserId,
        'PostponedCount': PostponedCount,
        'SendSMSReminder': SendSMSReminder,
        'NoShow': NoShow
    };

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

// @AutoQueryViewer(Description="", IconUrl="octicon:database", Title="Journal")
class FindJournal extends QueryDb<JournalInstance> implements IConvertible
{
    FindJournal();
    FindJournal.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "FindJournal";
    TypeContext? context = _ctx;
}

// @DataContract
class QueryResponse<T> implements IConvertible
{
    // @DataMember(Order=1)
    int? Offset;

    // @DataMember(Order=2)
    int? Total;

    // @DataMember(Order=3)
    List<T>? Results;

    // @DataMember(Order=4)
    Map<String,String?>? Meta;

    // @DataMember(Order=5)
    ResponseStatus? ResponseStatus;

    QueryResponse({this.Offset,this.Total,this.Results,this.Meta,this.ResponseStatus});
    QueryResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Offset = json['Offset'];
        Total = json['Total'];
        Results = JsonConverters.fromJson(json['Results'],'List<${runtimeGenericTypeDefs(this,[0]).join(",")}>',context!);
        Meta = JsonConverters.toStringMap(json['Meta']);
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Offset': Offset,
        'Total': Total,
        'Results': JsonConverters.toJson(Results,'List<T>',context!),
        'Meta': Meta,
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "QueryResponse<$T>";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'api.clubmanagercentral.com', types: <String, TypeInfo> {
    'LossReasonInstance': TypeInfo(TypeOf.Class, create:() => LossReasonInstance()),
    'UserInstance': TypeInfo(TypeOf.Class, create:() => UserInstance()),
    'MemberInstance': TypeInfo(TypeOf.Class, create:() => MemberInstance()),
    'Uint8List': TypeInfo(TypeOf.Class, create:() => Uint8List(0)),
    'MessageTemplateInstance': TypeInfo(TypeOf.Class, create:() => MessageTemplateInstance()),
    'MessageInstance': TypeInfo(TypeOf.Class, create:() => MessageInstance()),
    'JournalInstance': TypeInfo(TypeOf.Class, create:() => JournalInstance()),
    'FindJournal': TypeInfo(TypeOf.Class, create:() => FindJournal()),
    'List<JournalInstance>': TypeInfo(TypeOf.Class, create:() => <JournalInstance>[]),
});

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

POST /api/Query/Journal HTTP/1.1 
Host: api.clubmanagercentral.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Skip: 0,
	Take: 0,
	OrderBy: String,
	OrderByDesc: String,
	Include: String,
	Fields: String,
	Meta: 
	{
		String: String
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Offset: 0,
	Total: 0,
	Results: 
	[
		{
			JournalId: 0,
			JournalDate: 0001-01-01,
			Title: String,
			Comment: String,
			MessageType: 0,
			UserName: String,
			Member: 
			{
				MemberId: 0,
				MemberType: 0,
				MembershipNumber: String,
				CardNumber: String,
				CompanyName: String,
				Surname: String,
				Forenames: String,
				Title: String,
				Gender: 0,
				DateOfBirth: 0001-01-01,
				Address1: String,
				Address2: String,
				City: String,
				County: String,
				Postcode: String,
				HomePhone: String,
				MobilePhone: String,
				EmailAddress: String,
				EmailOptOut: False,
				SmsOptOut: False,
				PhoneOptOut: False,
				LetterOptOut: False,
				DirectDebitAccountHolder: String,
				DirectDebitAccountNumber: String,
				DirectDebitSortCode: String,
				JoinedDate: 0001-01-01,
				DirectDebitBankAddress: String,
				FullName: String,
				ExternalReference: String,
				Photo: AA==,
				PhotoModifiedDate: 0001-01-01,
				Notes: String,
				Deleted: False,
				Demo: False,
				UseExternalStatus: False,
				ExternalStatus: 0,
				FreeText: String,
				MemberKey: 00000000000000000000000000000000,
				Balance: 0,
				CreditLimit: 0,
				CreatedDate: 0001-01-01,
				ModifiedDate: 0001-01-01,
				DeletedDate: 0001-01-01,
				ExternalSource: 0,
				RetentionMetric: 0,
				MonthlyAttendanceFrequency: 0,
				AssignedToUserId: 0,
				CreatedByUserId: 0,
				DeletedByUserId: 0,
				LossReason: 
				{
					LossReasonId: 0,
					Reason: String,
					Deleted: False,
					Demo: False,
					Selectable: False
				},
				LossReasonId: 0,
				WonOrLost: 0,
				WonOrLostDate: 0001-01-01,
				GiftAidPermission: False,
				PhotoPermission: False,
				FirstAidPermission: False,
				EmergencyContact: String,
				WonOrLostByUser: 
				{
					UserId: 0,
					UserName: String,
					Name: String,
					Email: String,
					MobilePhone: String,
					Enabled: False,
					LastLogin: 0001-01-01,
					Created: 0001-01-01,
					Training: False,
					Deleted: False,
					CoursesCompleted: 0,
					DisplayHomeNotification: False,
					TwoFactorEnabled: False,
					EmailConfirmed: False,
					MobilePhoneConfirmed: False,
					Notifications: False,
					ChangePassword: 0001-01-01,
					Activated: 0001-01-01
				},
				WonOrLostByUserId: 0,
				AgreedToTerms: 0001-01-01,
				OnlineBookingBanned: False,
				Country: String,
				FingerprintEnrolled: 0001-01-01,
				LastPaymentAmount: 0,
				Pin: String,
				ProspectingPoints: 0,
				AchievementPoints: 0,
				ParentForenames: String,
				ParentSurname: String
			},
			MemberId: 0,
			Message: 
			{
				MessageId: 0,
				DueDate: 0001-01-01,
				SentDate: 0001-01-01,
				Processed: False,
				Failures: 0,
				InstanceId: 0,
				MessageSid: String,
				MessageTemplate: 
				{
					MessageTemplateId: 0,
					Name: String,
					Subject: String,
					Body: String,
					ReportId: 0,
					TemplateType: 0,
					Created: 0001-01-01,
					CreatedBy: 0,
					Modified: 0001-01-01,
					ModifiedBy: 0,
					Deleted: 0001-01-01,
					DeletedBy: 0,
					EventType: 0,
					ContentType: 0,
					Hidden: False,
					ParentMessageTemplateId: 0,
					InclusionTags: String,
					ExclusionTags: String
				},
				MessageTemplateId: 0,
				OpenedDate: 0001-01-01,
				BouncedDate: 0001-01-01,
				DeliveredDate: 0001-01-01,
				UnsubscribedDate: 0001-01-01,
				SpamReportDate: 0001-01-01,
				User: 
				{
					UserId: 0,
					UserName: String,
					Name: String,
					Email: String,
					MobilePhone: String,
					Enabled: False,
					LastLogin: 0001-01-01,
					Created: 0001-01-01,
					Training: False,
					Deleted: False,
					CoursesCompleted: 0,
					DisplayHomeNotification: False,
					TwoFactorEnabled: False,
					EmailConfirmed: False,
					MobilePhoneConfirmed: False,
					Notifications: False,
					ChangePassword: 0001-01-01,
					Activated: 0001-01-01
				},
				UserId: 0,
				InstanceType: 0
			},
			MessageId: 0,
			ViewedDate: 0001-01-01,
			Deleted: False,
			Demo: False,
			Permanent: False,
			alertDate: 0001-01-01,
			AssignedToUserId: 0,
			Completed: False,
			CompletedDate: 0001-01-01,
			CreatedByUserId: 0,
			PostponedCount: 0,
			SendSMSReminder: False,
			NoShow: False
		}
	],
	Meta: 
	{
		String: String
	},
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}