PHPackages                             lfrichter/omnivore - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. lfrichter/omnivore

ActiveLibrary[API Development](/categories/api)

lfrichter/omnivore
==================

Laravel Facade to easy access Omnivore Api

1.0.3(6y ago)16MITPHPCI failing

Since Dec 4Pushed 6y ago1 watchersCompare

[ Source](https://github.com/lfrichter/omnivore)[ Packagist](https://packagist.org/packages/lfrichter/omnivore)[ Docs](https://github.com/lfrichter/omnivore)[ RSS](/packages/lfrichter-omnivore/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (1)Dependencies (5)Versions (5)Used By (0)

Omnivore Facade 🍹
=================

[](#omnivore-facade-)

[![Latest Version on Packagist](https://camo.githubusercontent.com/9a1d9fc323b160918f79093723d2c4fa3e62545e4cc33762d9d59ffd7e83f568/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6c66726963687465722f6f6d6e69766f72652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/lfrichter/omnivore)[![Total Downloads](https://camo.githubusercontent.com/eaa92bac0bf5451c4855f22540c2f9030d20cd8acedc6ae794d500d367d3332d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6c66726963687465722f6f6d6e69766f72652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/lfrichter/omnivore)[![php](https://camo.githubusercontent.com/01a9adbea290358fe8f1d8ca0f637770e0821bc7b377e799f94a2e3c93397735/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d7e372e332e31322d3737374242342e7376673f6c6f676f3d706870266c6f676f436f6c6f723d7768697465267374796c653d666f722d7468652d6261646765)](http://php.net/) [ ![Laravel](https://camo.githubusercontent.com/84fa424711fdfb06f3b2c385e1f69b51c5bcc98003fc86e27edfd891a3e1913a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d7e362e362e312d4537343433302e7376673f6c6f676f3d6c61726176656c266c6f676f436f6c6f723d7768697465267374796c653d666f722d7468652d6261646765)](https://laravel.com/)

Installation
------------

[](#installation)

Via Composer

```
$ composer require lfrichter/omnivore
```

If you do not run Laravel 5.5 (or higher), then add in config/app.php:

1. service provider:

```
lfrichter\omnivore\omnivoreServiceProvider::class,

```

2. facade to aliases:

```
'Omnivore' => lfrichter\omnivore\Facades\omnivore::class,

```

Usage
-----

[](#usage)

Place these values into your `.ENV`

```
OMNIVORE_API_URL=
OMNIVORE_API_KEY=
OMNIVORE_LOCATION_ID=
ES_FROM=
ES_SIZE=

```

### Tickets functions

[](#tickets-functions)

Interact with tickets of claimed locations from the POS.

#### List tickets for location

[](#list-tickets-for-location)

```
$ticketList = Omnivore::tickets()->ticketList($locationId);
```

#### Open a new ticket

[](#open-a-new-ticket)

```
$ticketOpen = Omnivore::tickets()->ticketOpen($locationId, $content);
```

##### Omnivore documentation

[](#omnivore-documentation)

To open a new ticket you'll need the following:

- a valid employee id for the Location — we'll use EMPLOYEEID
- a valid order type id for the Location — we'll use ORDERTYPEID
- a valid revenue center id for the Location — we'll use REVENUECENTERID
- a valid table id for the Location — we'll use TABLEID

###### Sample JSON object to be send

[](#sample-json-object-to-be-send)

```
{
    "employee": "EMPLOYEEID",
    "order_type": "ORDERTYPEID",
    "revenue_center": "REVENUECENTERID",
    "table": "TABLEID",
    "guest_count": 1,
    "name": "New Ticket",
    "auto_send": true
}

```

You should get a **201** CREATED HTTP response to let you know your ticket has been added. You'll also get the ticket id field in the response which you need to add menu items or make payments.

###### Don't Send Items to the Kitchen

[](#dont-send-items-to-the-kitchen)

Did you notice the auto\_send field we used when we opened the ticket? It determines whether new menu items are sent to the kitchen immediately, or if they're held until the ticket is paid. By default it's true which means as soon as you add a menu item to the ticket it will be made by the restaurant. If you set it to false nothing will be made until the ticket is paid in full and closed.

#### Retrieve data for a specific ticket

[](#retrieve-data-for-a-specific-ticket)

```
$ticketRetrieve = Omnivore::tickets()->ticketRetrieve($locationId, $ticketId);
```

#### Void a locations ticket

[](#void-a-locations-ticket)

```
$ticketVoid = Omnivore::tickets()->ticketVoid($locationId, $ticketId);
```

#### List discounts for a ticket

[](#list-discounts-for-a-ticket)

```
$ticketDiscountList = Omnivore::tickets()->ticketDiscountList($locationId, $ticketId);
```

#### Apply a discount to a ticket

[](#apply-a-discount-to-a-ticket)

```
$ticketDiscountApply = Omnivore::tickets()->ticketDiscountApply($locationId, $ticketId, $discount, $value);
```

#### Retrieve a discount that was applied to a ticket

[](#retrieve-a-discount-that-was-applied-to-a-ticket)

```
$ticketDiscountRetrieve = Omnivore::tickets()->ticketDiscountRetrieve($locationId, $ticketId, $ticketDiscountId);
```

#### List items on a ticket

[](#list-items-on-a-ticket)

```
$ticketItemList = Omnivore::tickets()->ticketItemList($locationId, $ticketId);
```

You'll get a list of menu items each with two important pieces of information:

- the menu item `id`
- the list of acceptable `price_levels` for the item

#### Add an item to a ticket

[](#add-an-item-to-a-ticket)

```
$ticketItemAdd = Omnivore::tickets()->ticketItemAdd($locationId, $ticketId, $content);
```

##### Omnivore documentation

[](#omnivore-documentation-1)

For this example pick an item that looks tasty and note its `id` then choose an arbitrary `price_levels` element and note its `id` as well. We'll refer to them as **MENUITEMID** and **PRICELEVELID** respectively. Now, let's place an order on the ticket from earlier.

###### Sample JSON object to be send

[](#sample-json-object-to-be-send-1)

```
{
    "menu_item": "MENUITEMID",
    "quantity": 1,
    "price_level": "PRICELEVELID",
    "comment": "Get in my belly!",
    "modifiers": []
}

```

###### Making an Order with Modifiers

[](#making-an-order-with-modifiers)

Let's say you've picked out a menu item, looked up its modifier groups, and figured out which modifiers you want to apply. You've noted all the modifier id values and the id for the appropriate price\_level on each one. That's a lot, but now you're ready to place a personalized order.

###### Sample JSON object to be send

[](#sample-json-object-to-be-send-2)

```
{
    "menu_item": "MENUITEMID",
    "quantity": 1,
    "price_level": "PRICELEVELID",
    "comment": "Get in my belly!",
    "modifiers": [
        {
            "modifier": "MODIFIERID",
            "quantity": 1,
            "price_level": "PRICELEVELID",
            "comment": "on the side"
        },
        {
            "modifier": "MODIFIERID",
            "quantity": 1,
            "price_level": "PRICELEVELID",
            "comment": "extra"
        }
    ]
}

```

#### Retrieve an item from a ticket

[](#retrieve-an-item-from-a-ticket)

```
$ticketItemRetrieve = Omnivore::tickets()->ticketItemRetrieve($locationId, $ticketId, $ticketItemId);
```

#### Void an item from a ticket

[](#void-an-item-from-a-ticket)

```
$ticketItemVoid = Omnivore::tickets()->ticketItemVoid($locationId, $ticketId, $ticketItemId)
```

#### List modifiers form a ticket

[](#list-modifiers-form-a-ticket)

```
$ticketItemModifierList = Omnivore::tickets()->ticketItemModifierList($locationId, $ticketId, $ticketItemId)
```

#### Retrieve a modifier form a ticket

[](#retrieve-a-modifier-form-a-ticket)

```
$ticketItemModifierRetrieve = Omnivore::tickets()->ticketItemModifierRetrieve($locationId, $ticketId, $ticketItemId, $ticketItemModifierId)
```

#### List dicounts on a ticket

[](#list-dicounts-on-a-ticket)

```
$ticketItemDiscountList = Omnivore::tickets()->ticketItemDiscountList($locationId, $ticketId, $ticketItemId)
```

#### Retrieve a discount from a ticket

[](#retrieve-a-discount-from-a-ticket)

```
$ticketItemDiscountRetrieve = Omnivore::tickets()->ticketItemDiscountRetrieve($locationId, $ticketId, $ticketItemId, $ticketItemDiscountId)
```

#### List payments

[](#list-payments)

```
$paymentList = Omnivore::tickets()->paymentList($locationId, $ticketId)
```

#### Retrieve a payment

[](#retrieve-a-payment)

```
$paymentRetrieve = Omnivore::tickets()->paymentRetrieve($locationId, $ticketId, $paymentId)
```

#### Make a payment where a card is not present

[](#make-a-payment-where-a-card-is-not-present)

```
$paymentCardNotPresent = Omnivore::tickets()->paymentCardNotPresent($locationId, $ticketId, $content)
```

##### Sample JSON object to be send

[](#sample-json-object-to-be-send-3)

```
{
    "type": "card_not_present",
    "amount": 500,
    "tip": 100,
    "card_info": {
        "exp_month": 1,
        "exp_year": 2025,
        "cvc2": 123,
        "number": "4111111111111111"
    }
}

```

#### Make a payment where a card is present

[](#make-a-payment-where-a-card-is-present)

```
$paymentCardPresent = Omnivore::tickets()->paymentCardPresent($locationId, $ticketId, $content)
```

##### Sample JSON object to be send

[](#sample-json-object-to-be-send-4)

```
{
    "type": "card_present",
    "amount": 500,
    "tip": 100,
    "card_info": {
        "data": "%B4111111111111111^SCHMOE /JOE^180710100695000000?"
    }
}

```

#### Make a payment with a 3rd party

[](#make-a-payment-with-a-3rd-party)

```
$payment3rdParty = Omnivore::tickets()->payment3rdParty($locationId, $ticketId, $content)
```

##### Sample JSON object to be send

[](#sample-json-object-to-be-send-5)

```
{
    "type": "3rd_party",
    "amount": 500,
    "tip": 100,
    "tender_type": TENDERTYPEID,
    "payment_source": "put your transaction reference here"
}

```

#### Make a payment with a card

[](#make-a-payment-with-a-card)

```
$paymentGiftCard = Omnivore::tickets()->paymentGiftCard($locationId, $ticketId, $content)
```

##### Sample JSON object to be send

[](#sample-json-object-to-be-send-6)

```
{
    "type": "gift_card",
    "amount": 500,
    "tip": 100,
    "card_info": {
        "number": "1111111111111111"
    }
}

```

#### Make a payment with cash

[](#make-a-payment-with-cash)

```
$paymentCash = Omnivore::tickets()->paymentCash($locationId, $ticketId, $content)
```

---

### Tables functions

[](#tables-functions)

Interact with tables of claimed locations from the POS.

#### List tables of claimed locations

[](#list-tables-of-claimed-locations)

```
$tableList = Omnivore::tables()->tableList($locationId)
```

#### Retrieve data for a specific table

[](#retrieve-data-for-a-specific-table)

```
$tableRetrieve = Omnivore::tables()->tableRetrieve($locationId, $tableId)
```

---

### General functions

[](#general-functions)

Interact with general labeled actions of claimed locations from the POS.

#### List all locations claimed.

[](#list-all-locations-claimed)

```
$locations = Omnivore::general()->locationList();
```

#### Retrieve information about a location

[](#retrieve-information-about-a-location)

```
$locationRetrieve = Omnivore::general()->locationRetrieve($locationId)
```

#### List employees of a location

[](#list-employees-of-a-location)

```
$employeeList = Omnivore::general()->employeeList($locationId)
```

#### Retrieve data of a specific location

[](#retrieve-data-of-a-specific-location)

```
$employeeRetrieve = Omnivore::general()->employeeRetrieve($locationId, $employeeId)
```

#### List location types (Order Types)

[](#list-location-types-order-types)

```
$orderTypeList = Omnivore::general()->orderTypeList($locationId)
```

#### Retrieve a locations type

[](#retrieve-a-locations-type)

```
$orderTypeRetrieve = Omnivore::general()->orderTypeRetrieve($locationId, $orderTypeId)
```

#### List the types of tender the location accepts

[](#list-the-types-of-tender-the-location-accepts)

```
$tenderTypeList = Omnivore::general()->tenderTypeList($locationId)
```

#### Retrive the tender type

[](#retrive-the-tender-type)

```
$tenderTypeRetrieve = Omnivore::general()->tenderTypeRetrieve($locationId, $tenderTypeId)
```

#### List a locations revenue centers

[](#list-a-locations-revenue-centers)

```
$revenueCenterList = Omnivore::general()->revenueCenterList($locationId)
```

#### Retrieve information of a payment center

[](#retrieve-information-of-a-payment-center)

```
$revenueCenterRetrieve = Omnivore::general()->revenueCenterRetrieve($locationId, $revenueCenterId)
```

#### List the discounts of a location

[](#list-the-discounts-of-a-location)

```
$discountList = Omnivore::general()->discountList($locationId)
```

#### Retrieve the discount

[](#retrieve-the-discount)

```
$discountRetrieve = Omnivore::general()->discountRetrieve($locationId, $discountId)
```

#### Grab the menu from POS

[](#grab-the-menu-from-pos)

```
$menu = Omnivore::general()->menu($locationId)
```

#### List the menu categories

[](#list-the-menu-categories)

```
$categoryList = Omnivore::general()->categoryList($locationId)
```

#### Retrieve a category

[](#retrieve-a-category)

```
$categoryRetrieve = Omnivore::general()->categoryRetrieve($locationId, $categoryId)
```

#### List items in a menu

[](#list-items-in-a-menu)

```
$menuItemList = Omnivore::general()->menuItemList($locationId)
```

#### Retrieve a menu item

[](#retrieve-a-menu-item)

```
$menuItemRetrieve = Omnivore::general()->menuItemRetrieve($locationId, $menuItemId)
```

#### List location modifiers

[](#list-location-modifiers)

```
$modifierList = Omnivore::general()->modifierList($locationId)
```

#### Retrieve a modifier

[](#retrieve-a-modifier)

```
$modifierRetrieve = Omnivore::general()->modifierRetrieve($locationId, $modifierId)
```

#### List modifier groups

[](#list-modifier-groups)

```
$modifierGroupList = Omnivore::general()->modifierGroupList($locationId, $menuItemId)
```

#### Retrieve a modifier group

[](#retrieve-a-modifier-group)

```
$modifierGroupRetrieve = Omnivore::general()->modifierGroupRetrieve($locationId, $menuItemId, $modifierGroupId)
```

Change log
----------

[](#change-log)

Please see the [changelog](changelog.md) for more information on what has changed recently.

Testing
-------

[](#testing)

```
$ composer test
```

Contributing
------------

[](#contributing)

Please see [contributing.md](contributing.md) for details and a todolist.

Security
--------

[](#security)

If you discover any security related issues, please email author email instead of using the issue tracker.

Credits
-------

[](#credits)

- [Luis Fernando Richter](https://github.com/lfrichter)
- This package was based in [Onivore](https://github.com/SapioBeasley/omnivore) from [Andreas Beasley](https://github.com/SapioBeasley)

License
-------

[](#license)

license. Please see the [license file](license.md) for more information.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

4

Last Release

2348d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/830a5591468ce5394f4c073fc57e3d46060ed229bb47757f4a5ad5a837e122b8?d=identicon)[lfrichter](/maintainers/lfrichter)

---

Top Contributors

[![lfrichter](https://avatars.githubusercontent.com/u/6990165?v=4)](https://github.com/lfrichter "lfrichter (16 commits)")

---

Tags

facadeomnivorewebservicelaravelomnivore

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/lfrichter-omnivore/health.svg)

```
[![Health](https://phpackages.com/badges/lfrichter-omnivore/health.svg)](https://phpackages.com/packages/lfrichter-omnivore)
```

###  Alternatives

[openai-php/laravel

OpenAI PHP for Laravel is a supercharged PHP API client that allows you to interact with the Open AI API

3.7k7.6M74](/packages/openai-php-laravel)[statamic/cms

The Statamic CMS Core Package

4.8k3.2M720](/packages/statamic-cms)[irazasyed/telegram-bot-sdk

The Unofficial Telegram Bot API PHP SDK

3.3k4.5M84](/packages/irazasyed-telegram-bot-sdk)[flat3/lodata

OData v4.01 Producer for Laravel

96320.9k](/packages/flat3-lodata)[laravel-freelancer-nl/laravel-index-now

Alert search engines of content changes.

5212.1k](/packages/laravel-freelancer-nl-laravel-index-now)[scriptdevelop/whatsapp-manager

Paquete para manejo de WhatsApp Business API en Laravel

762.6k](/packages/scriptdevelop-whatsapp-manager)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
