Skyware.ErpNetFS.Model 0.4.0

Prefix Reserved
dotnet add package Skyware.ErpNetFS.Model --version 0.4.0
                    
NuGet\Install-Package Skyware.ErpNetFS.Model -Version 0.4.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Skyware.ErpNetFS.Model" Version="0.4.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Skyware.ErpNetFS.Model" Version="0.4.0" />
                    
Directory.Packages.props
<PackageReference Include="Skyware.ErpNetFS.Model" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Skyware.ErpNetFS.Model --version 0.4.0
                    
#r "nuget: Skyware.ErpNetFS.Model, 0.4.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Skyware.ErpNetFS.Model@0.4.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Skyware.ErpNetFS.Model&version=0.4.0
                    
Install as a Cake Addin
#tool nuget:?package=Skyware.ErpNetFS.Model&version=0.4.0
                    
Install as a Cake Tool

ErpNet.FS fiscal server data model

This library is a data model used in ErpNet.FP fiscal server. You may use it to create your own client implementation with well-known REST client libraries such as Refit.

Here is the example implementation of the client:

/// <summary>
/// Interface for the ErpNet.FS client.
/// </summary>
public interface IFiscalPrinterClient
{

    /// <summary>
    /// Retrieves server variables.
    /// </summary>
    /// <returns>Server variables (<see cref="ServerVariables"/>)</returns>
    [Get("/service/vars")]
    Task<ServerVariables> GetServerVariablesAsync();

    /// <summary>
    /// Retrieves list of configured printers.
    /// </summary>
    /// <returns>List of all configured printers</returns>
    [Get("/printers")]
    Task<Dictionary<string, DeviceInfo>> GetPrintersAsync();

    /// <summary>
    /// Retrieves printer information - model, uri, etc.
    /// </summary>
    /// <param name="deviceId">Id of the printer</param>
    /// <returns>Information for a given device</returns>
    [Get("/printers/{deviceId}")]
    Task<DeviceInfo> GetPrinterAsync(string deviceId);

    /// <summary>
    /// Retrieves printer status.
    /// </summary>
    /// <param name="deviceId">Id of the printer</param>
    /// <returns>Device status</returns>
    [Get("/printers/{deviceId}/status")]
    Task<DeviceStatusWithDateTime> GetPrinterStatusAsync(string deviceId);

    /// <summary>
    /// Register sale and prints fiscal receipt.
    /// </summary>
    /// <param name="deviceId">Id of the printer</param>
    /// <param name="receipt">Fiscal <see cref="Receipt"/> to be registered</param>
    /// <returns>Receipt status</returns>
    [Post("/printers/{deviceId}/receipt")]
    Task<DeviceStatusWithReceiptInfo> PrintFiscalReceiptAsync(string deviceId, Receipt receipt);

    /// <summary>
    /// Prints duplicate of the last printed fiscal receipt.
    /// </summary>
    /// <param name="deviceId">Id of the printer</param>
    /// <returns></returns>
    [Post("/printers/{deviceId}/duplicate")]
    Task<DeviceStatus> PrintDuplicateAsync(string deviceId);

    /// <summary>
    /// Register refund and prints reversal fiscal receipt.
    /// </summary>
    /// <param name="deviceId">Id of the printer</param>
    /// <param name="receipt">Refund (<see cref="ReversalReceipt"/>) to be registered</param>
    /// <returns>Receipt status</returns>
    [Post("/printers/{deviceId}/reversalreceipt")]
    Task<DeviceStatusWithReceiptInfo> PrintRefundReceiptAsync(string deviceId, ReversalReceipt receipt);

    /// <summary>
    /// Retrieves the balance (cash) of the cash register.
    /// </summary>
    /// <param name="deviceId">Id of the printer</param>
    /// <returns></returns>
    [Get("/printers/{deviceId}/cash")]
    Task<DeviceStatusWithCashAmount> GetBalanceAsync(string deviceId);

    /// <summary>
    /// Registers deposit money to the cash register and prints a slip.
    /// </summary>
    /// <param name="deviceId">Id of the printer</param>
    /// <param name="deposit">Amount of deposit (<see cref="DepositWithdraw"/>)</param>
    /// <returns></returns>
    [Post("/printers/{deviceId}/deposit")]
    Task<DeviceStatus> DepositMoneyAsync(string deviceId, DepositWithdraw deposit);

    /// <summary>
    /// Registers withdraw money from the cash register and prints a slip.
    /// </summary>
    /// <param name="deviceId">Id of the printer</param>
    /// <param name="withdraw">Amount of withdraw (<see cref="DepositWithdraw"/>)</param>
    /// <returns></returns>
    [Post("/printers/{deviceId}/withdraw")]
    Task<DeviceStatus> WithdrawMoneyAsync(string deviceId, DepositWithdraw withdraw);

    /// <summary>
    /// Sends raw requests to the printer.
    /// </summary>
    /// <param name="deviceId">Id of the printer</param>
    /// <param name="request"><see cref="RawRequest"/> to be executed</param>
    /// <returns>Device status with raw response</returns>
    [Post("/printers/{deviceId}/rawrequest")]
    Task<DeviceStatusWithRawResponse> SendRawRequestAsync(string deviceId, RawRequest request);

    /// <summary>
    /// Prints X or Z report.
    /// </summary>
    /// <param name="deviceId">Id of the printer</param>
    /// <param name="action">Action to be performed: <b>xreport</b> or <b>zreport</b>.</param>
    /// <returns>Device status</returns>
    [Post("/printers/{deviceId}/{action}")]
    Task<DeviceStatusWithDateTime> PrintReportAsync(string deviceId, string action);

    /// <summary>
    /// Sends time synchronization request to the printer.
    /// </summary>
    /// <param name="deviceId">Id of the printer</param>
    /// <param name="currentTime">Date and time (<see cref="CurrentDateTime"/>)</param>
    /// <returns></returns>
    [Post("/printers/{deviceId}/datetime")]
    Task<DeviceStatus> SentPrinterTimeAsync(string deviceId, CurrentDateTime currentTime);

}
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Skyware.ErpNetFS.Model:

Package Downloads
Skyware.ErpNetFS.Client

ErpNet.FS client implementation.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.4.0 199 4/19/2025