# peachworks

> Peachworks SDK

Latest version **0.0.5** (published 2016-05-31) · ASL license · 0 weekly downloads

## Install

```sh
npm install peachworks
pnpm add peachworks
yarn add peachworks
bun add peachworks
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.5 |
| Published | 2016-05-31 |
| First published | 2016-03-28 |
| Weekly downloads | 0 |
| License | ASL |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Ando Food Inc. |
| Maintainers | mjk |

## Links

- npm: https://www.npmjs.com/package/peachworks
- Repository: https://github.com/andofood/peachworks-sdk
- Homepage: https://github.com/andofood/peachworks-sdk#readme
- Issues: https://github.com/andofood/peachworks-sdk/issues
- npm.io page: https://npm.io/package/peachworks

## Dependencies (3)

- [q](https://npm.io/package/q.md) ^1.4.1
- [json2xml](https://npm.io/package/json2xml.md) ^0.1.2
- [restling](https://npm.io/package/restling.md) ^0.9.1

## Recent versions

- 0.0.5 (latest) — 2016-05-31
- 0.0.4 — 2016-05-12
- 0.0.3 — 2016-05-04
- 0.0.2 — 2016-04-08
- 0.0.1 — 2016-03-28

## README

# Peachworks SDK

Node.js SDK for the Peachworks API, for making your own custom POS.

## Prerequisites

You'll need an access token from Peachworks.
 
 1. Navigate to https://my.peachworks.com/accounts/YOUR-ACCOUNT-ID/apps/pos
 2. Select **POS Systems**
 3. Select your POS system
 4. Select **Access Credentials**
 5. Copy your token

## Getting started

#### Step 1: Initialize the SDK

To initialize the SDK, you'll just need that access token.

    const PeachworksClient = require('peachworks');

    var peachworks = new PeachworksClient({
        accessToken: 'YOUR ACCESS TOKEN'
    });

#### Step 2: Configure your POS
    var c = peachworks.createConfiguration({
            items: [{
                id: "001",
                name: "matt's famous shakshuka"
            }]
        }); 

#### Step 3: Record a transaction
    var t = peachworks.createTransaction({
        order_number: 1234,
        items: [{id: "001"}],
        total: 12.34,
        customer_id: 1,
        inclusive_tax: 0,
        exclusive_tax: 0
    });

    t.addItem({
        item_id: 'shakshuka',
        quantity: 1,
        price: 12.34,
    });

    t.record();

Congratulations! You've just recorded your first sale. 

#### Step 4: Profit!

Actually, you profited in step 3.

### Options

Want to apply a discount?

    transaction = {
        .
        .
        .
        discount_amount: 5.00,           // amount of discount, required
        discount_id: 'citywide_special', // id of this discount, required
        discount_quantity: 1,            // optional, defaults to 1
        .
        .
        .
    }

### TODO

 * Support more use cases
 * Support configuration

### Acknowledgements

Special thanks to Matt Craig of Peachworks for his assistance.

---
_Source: https://npm.io/package/peachworks · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
