Retail Transactions
Complete Transaction
Submits a completed retail transaction for the Dispensary. All LucidIDs in the transaction must have been previously imported into inventory.
Endpoint
POST /api/v1.2/transactions/complete/
Example Payload
{
"performed_at": "ISO-8601",
"items": [
"<lucid_id_uuid>",
"<lucid_id_uuid>",
"<lucid_id_uuid>"
],
"order_id": "<pos_order_id>",
"customer_id": "<pos_customer_id>",
"budtender_id": "<pos_budtender_id>"
}
Request Fields
Field |
Type |
Required |
Description |
|---|---|---|---|
|
datetime |
yes |
When the transaction occurred (ISO-8601 format) |
|
array |
yes |
List of LucidID UUIDs included in the transaction |
|
string |
yes |
POS system order identifier |
|
string |
no |
POS system customer identifier |
|
string |
no |
POS system budtender identifier |
Responses
200 — Transaction accepted
400
will be returned if the format of the LucidID is invalid
{
"items": {
"Invalid LucidIDs": [
"invalid_lucid_id_format"
]
}
}
will be returned if the LucidID is unknown or invalid
{
"items": {
"invalid": [],
"unknown": [
"<unknown_or_invalid_lucid_id_uuid>"
],
"valid": []
}
}
will be returned if the LucidID is non-imported
{
"message": "This transaction contains non-imported lucid ids.",
"non_imported_lucidids": [
"<non_imported_lucid_id_uuid>"
],
"valid_transaction": false
}
will be returned if the transaction has already been processed
{
"message": "This transaction has already been processed."
}
will be returned if items are not provided
[
"items should be specified when transaction type is complete or return."
]
Void Transaction
Voids a previously submitted retail transaction. This records a void action against the specified order.
Endpoint
POST /api/v1.2/transactions/void/
Example Payload
{
"performed_at": "ISO-8601",
"order_id": "<pos_order_id>",
"customer_id": "<pos_customer_id>",
"budtender_id": "<pos_budtender_id>"
}
Request Fields
Field |
Type |
Required |
Description |
|---|---|---|---|
|
datetime |
yes |
When the void occurred (ISO-8601 format) |
|
string |
yes |
POS system order identifier of the transaction to void |
|
string |
no |
POS system customer identifier |
|
string |
no |
POS system budtender identifier |
Responses
200 — Void transaction accepted
400
will be returned if the void transaction has already been processed
{
"message": "This transaction has already been processed."
}
Return Transaction
Submits a return transaction for the Dispensary. The returned LucidIDs must be specified.
Endpoint
POST /api/v1.2/transactions/return/
Example Payload
{
"performed_at": "ISO-8601",
"items": [
"<lucid_id_uuid>",
"<lucid_id_uuid>"
],
"order_id": "<pos_order_id>",
"customer_id": "<pos_customer_id>",
"budtender_id": "<pos_budtender_id>"
}
Request Fields
Field |
Type |
Required |
Description |
|---|---|---|---|
|
datetime |
yes |
When the return occurred (ISO-8601 format) |
|
array |
yes |
List of LucidID UUIDs being returned |
|
string |
yes |
POS system order identifier of the transaction to return against |
|
string |
no |
POS system customer identifier |
|
string |
no |
POS system budtender identifier |
Responses
200 — Return transaction accepted
400
will be returned if the format of the LucidID is invalid
{
"items": {
"Invalid LucidIDs": [
"invalid_lucid_id_format"
]
}
}
will be returned if the LucidID is unknown or invalid
{
"items": {
"invalid": [],
"unknown": [
"<unknown_or_invalid_lucid_id_uuid>"
],
"valid": []
}
}
will be returned if the return transaction has already been processed
{
"message": "This transaction has already been processed."
}
will be returned if items are not provided
[
"items should be specified when transaction type is complete or return."
]