versa 0.4.2

Versa types and utilities for developing Versa client applications in Rust
# Versa Protocol Schema

**Warning: While the Versa schema is considered stable, certain down-stream artifacts such as the Rust crate may not be.**

There are broadly two kinds of types represented in this repository: Protocol Bindings and Purchase Details

This repository references the root JSON schema files, at https://github.com/versa-protocol/schema

## Protocol Bindings
Protocol Bindings represent the types of requests, responses, and error codes to be expected when developing client implementations according to the specifications of the Versa Protocol. These types are defined in the `protocol_bindings` directory.

## Purchase Details
Purchase Details represent the receipt and invoice data schemas to be handled  when developing client implementations according to the specifications of the Versa Protocol. These types are defined in the `purchase_details` directory.

Versa uses [semantic versioning](https://semver.org/) to ensure the stability of its data model. The current schema version **1.5.0**

Previous schema versions will be maintained in this repo under their version tag after the first major version release (1.0.0)

## Build Process

This crate uses the [typify](https://crates.io/crates/typify) crate to construct the receipt schema bindings from our json schema

## Features

- mysql: Enables mysql conversion for certain protocol bindings

## TODO

- [ ] Rust stable crate
- [ ] Complete protocol bindings
- [ ] Expanded diesel database support