> For the complete documentation index, see [llms.txt](https://docs.akinon.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.akinon.com/technical-guides/channel-app-template/architecture/services-flows/price-service.md).

# Price Service

Price Service handles actions for creating, updating, and deleting product prices. It relies on integrations with OmnitronIntegration and ChannelIntegration to perform these actions.

### *class* PriceService *(object)*

#### Update Product Prices

*(self, is\_sync=True, is\_success\_log=True, add\_product\_objects=False, add\_stock=False)*

This function first connects to Akinon Omnitron and retrieves the price information for products that can be updated in the sales channel. It then sends this information to the sales channel via the `send_updated_prices` command. Based on the value of the `is_sync` parameter, it determines whether the communication with the sales channel will be synchronous or asynchronous. If it’s asynchronous, necessary records are created through `batch_service`. If an error occurs, an `error_report` is generated in the Sales Channel Logs.

#### Insert Product Prices

*(self, is\_sync=True, is\_success\_log=True, add\_product\_objects=False, add\_stock=False)*

This function first connects to Akinon Omnitron and retrieves the price information for products that can be added to the sales channel. It then sends this information to the sales channel via the `send_inserted_prices` command. It decides on synchronous or asynchronous communication based on the value of the `is_sync` parameter. If asynchronous, necessary records are created through `batch_service`, and an `error_report` is generated in the Sales Channel Logs if an error occurs.

#### Insert Product Prices from Extra Price List

*(self, is\_sync=True, is\_success\_log=True, add\_product\_objects=False, add\_stock=False)*

This function first connects to Akinon Omnitron and retrieves the extra price information for products that can be added to the sales channel. It sends this information to the sales channel via the `send_inserted_prices` command. Communication type (synchronous or asynchronous) is determined based on the `is_sync` parameter. If asynchronous, necessary records are created through `batch_service`, and an `error_report` is generated in the Sales Channel Logs if an error occurs.

#### Update Product Prices from Extra Price List

*(self, is\_sync=True, is\_success\_log=True, add\_product\_objects=False, add\_stock=False)*

This function first connects to Akinon Omnitron and retrieves the extra price information for products that can be updated in the sales channel. It sends this information to the sales channel via the `send_updated_prices` command. As with the previous functions, it determines the communication type based on the `is_sync` parameter and handles asynchronous processes and error reporting similarly.

#### Get Currency Mappings

*(self)*

This function serves a helper role. It reads `CURRENCY_MAPPINGS` from the configuration available in OmnitronIntegration and formats it for return.

#### Get Price Batch Requests

*(self, is\_success\_log=True)*

This function first connects to Akinon Omnitron and retrieves `batch_requests` that have been sent to create or update products in the sales channel and are currently being processed. It queries the sales channel through the `check_products` command. If an error occurs, an `error_report` is generated in the Sales Channel Logs. Finally, it relays the response from the sales channel back to Akinon Omnitron to complete the process.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.akinon.com/technical-guides/channel-app-template/architecture/services-flows/price-service.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
