# frozen_string_literal: true # encoding: utf-8 # Options: =begin Date: 2026-11-07 02:58:09 Version: 10.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bettor.webhop.biz #MakePartial: True #MakeVirtual: True #MakeInternal: False #MakeDataContractsExtensible: False #AddReturnMarker: True #AddDescriptionAsComments: True #AddDataContractAttributes: False #AddIndexesToDataMembers: False #AddGeneratedCodeAttributes: False #AddResponseStatus: False #AddImplicitVersion: #InitializeCollections: False #ExportValueTypes: False IncludeTypes: CreateCashbookEntry.* #ExcludeTypes: #AddNamespaces: #AddDefaultXmlNamespace: http://schemas.servicestack.net/types =end require 'json' require 'servicestack' module IReturn def response_type() = T def get_type_name() = 'IReturn' end class Money include ServiceStack::DTO # @return [BigDecimal] attr_accessor :amount # @return [String] attr_accessor :currency def self.properties { amount: { name: 'amount' }, currency: { name: 'currency' }, } end end # @Route("/cmd/cashbook/entries", "POST") class CreateCashbookEntry include ServiceStack::DTO # @return [String] attr_accessor :id # @return [String] attr_accessor :location_id # @return [DateTime] attr_accessor :charged_at # @return [Money] attr_accessor :amount # @return [String] attr_accessor :description def self.properties { id: { name: 'id' }, location_id: { name: 'locationId' }, charged_at: { name: 'chargedAt', type: DateTime }, amount: { name: 'amount', type: Money }, description: { name: 'description' }, } end def response_type() = ServiceStack::ResponseStatus def get_type_name() = 'CreateCashbookEntry' def get_method() = 'POST' end