Core APICheckouts

Create checkout

posthttps://core-api.ancon.io/api/v1/Outlets/{outletId}/Checkouts
View .mdOpenAPI

Authorization

  • Access-Tokenheaderrequired

    Tenant- or outlet-level token from the backoffice. See Get started.

Path parameters

  • outletIdstring (uuid)required

Header parameters

  • correlationIdstring

    Correlation Id for the request

Request body application/json

  • orderFormatinteger (int32)required

    Allowed values: 0, 1, 2, 4, 8, 16, 32, 64, 128, 159, 191.

  • serviceTimeobjectrequired

    Service time for the sale. No time is needed for Kind.AsSoonAsPossible it will be set as current UTC time on server side.

    2 fields in serviceTime
    • kindinteger (int32)

      Allowed values: 0, 1, -1.

    • timestring (date-time) | null
  • deliveryobject | null
    3 fields in delivery
    • addressobject | null
      6 fields in address
      • streetstring | null
      • zipCodestring | null
      • citystring | null
      • statestring | null
      • countrystring | null
      • locationobject | null
        2 fields in location
        • latitudenumber (double)
        • longitudenumber (double)
    • phonestring | null
    • recipientstring | null
  • instructionsstring | null
  • salesLocationobject | null

    Sales location is only needed for order format TableOrder, then it should be set to the table id. For other order formats it can be null.

    2 fields in salesLocation
    • salesLocationIdstring (uuid) | null
    • typeinteger (int32)

      Allowed values: 0, 1, 2, 3.

  • itemsarray<object>required
    3 fields in items
    • variantIdstring (uuid)
    • quantityinteger (int32)
    • modificationsarray<object> | null
      6 fields in modifications
      • modificationstring | null

        Type of modification can be one of the following values "add", "remove" or "replace"

      • ingredientIdstring (uuid) | null

        Add: The ingredient to be added. Remove: The ingredient to be removed. Replace: The ingredient that will be replaced.

      • addOnGroupIdstring (uuid) | null

        The add-on group id, used by modificaiton "add"

      • replaceIdstring (uuid) | null

        The replacement ingredient that will be used instead.

      • quantitynumber (double)

        How many modifications to add of the given ingredientId, used by modification "add".

      • freeAmountnumber (double)

        How many modificaitons to add that will count as free, used by modification "add". Cannot be more than quantity. This must follow the rules of the add-on group, free amount cannot be more than allowed per the add-on group configuration

Responses

201Createdapplication/json
  • checkoutobject | null
    38 fields in checkout
    • idstring (uuid)
    • incrementalNumbersobject | null
      4 fields in incrementalNumbers
      • ticketNumberinteger (int64) | null

        Unique number per outlet per Z-Report, it will reset when a Z-Report is made and start on 1 again. Used alot in the UI to give a simple to read number, will also be printed on tickets.

      • serialNumberinteger (int64) | null

        Unbroken sequence per outlet which statisfies the needs of certain pos system laws, is only used on Checks.

      • referenceNumberinteger (int64) | null

        Unbroken sequence per outlet which is used for all types of sales. Suitable for correlation between systems.

      • refundSerialNumberinteger (int64) | null

        Uses same series as SerialNumber and is set on orders which is refunded.

    • createdstring (date-time)
    • modifiedstring (date-time)
    • outletobject | null
      2 fields in outlet
      • idstring (uuid)
      • namestring | null
    • salesLocationobject | null
      2 fields in salesLocation
      • salesLocationIdstring (uuid) | null
      • typeinteger (int32)

        Allowed values: 0, 1, 2, 3.

    • tableobject | null
      2 fields in table
      • idstring (uuid)
      • numberinteger (int32)
    • discountobject | null
      2 fields in discount
      • idstring (uuid) | null
      • namestring | null
    • statusinteger (int32)

      Allowed values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -2, -1.

    • customerobject | null
      6 fields in customer
      • emailstring | null
      • fullNamestring | null
      • customerIdstring (uuid) | null
      • identityUserIdstring (uuid) | null
      • addressobject | null
        6 fields in address
        • streetstring | null
        • zipCodestring | null
        • citystring | null
        • statestring | null
        • countrystring | null
        • locationobject | null
          2 fields in location
          • latitudenumber (double)
          • longitudenumber (double)
      • phonestring | null
    • deliveryobject | null
      3 fields in delivery
      • addressobject | null
        6 fields in address
        • streetstring | null
        • zipCodestring | null
        • citystring | null
        • statestring | null
        • countrystring | null
        • locationobject | null
          2 fields in location
          • latitudenumber (double)
          • longitudenumber (double)
      • phonestring | null
      • recipientstring | null
    • instructionsstring | null
    • orderFormatinteger (int32)

      Allowed values: 0, 1, 2, 4, 8, 16, 32, 64, 128, 159, 191.

    • orderTypeinteger (int32)

      Allowed values: 0, 1, 2, 3, 4, 5.

    • serviceTimeobject | null

      Service time for the sale. No time is needed for Kind.AsSoonAsPossible it will be set as current UTC time on server side.

      2 fields in serviceTime
      • kindinteger (int32)

        Allowed values: 0, 1, -1.

      • timestring (date-time) | null
    • sourcestring | null
    • saleSourceIdstring (uuid)
    • orderIdstring (uuid) | null
    • authorizedAtstring (date-time) | null
    • capturedAtstring (date-time) | null
    • canceledAtstring (date-time) | null
    • cancelInfoobject | null
      4 fields in cancelInfo
      • actorstring | null
      • actorIdstring | null
      • reasonstring | null
      • reasonDescstring | null
    • totalAmountobject | null
      2 fields in totalAmount
      • amountnumber (double)
      • currencystring | null
    • taxAmountobject | null
      2 fields in taxAmount
      • amountnumber (double)
      • currencystring | null
    • subtotalInclTaxobject | null
      2 fields in subtotalInclTax
      • amountnumber (double)
      • currencystring | null
    • subtotalExclTaxobject | null
      2 fields in subtotalExclTax
      • amountnumber (double)
      • currencystring | null
    • subTotalDiscountInclTaxobject | null
      2 fields in subTotalDiscountInclTax
      • amountnumber (double)
      • currencystring | null
    • subTotalDiscountExclTaxobject | null
      2 fields in subTotalDiscountExclTax
      • amountnumber (double)
      • currencystring | null
    • feeAmountInclTaxobject | null
      2 fields in feeAmountInclTax
      • amountnumber (double)
      • currencystring | null
    • feeAmountExclTaxobject | null
      2 fields in feeAmountExclTax
      • amountnumber (double)
      • currencystring | null
    • minimumOrderDifferenceAmountobject | null
      2 fields in minimumOrderDifferenceAmount
      • amountnumber (double)
      • currencystring | null
    • summarystring | null
    • currencystring | null
    • minimumOrderAmountobject | null
      2 fields in minimumOrderAmount
      • amountnumber (double)
      • currencystring | null
    • itemsarray<object> | null
      20 fields in items
      • idstring (uuid)
      • checkoutIdstring (uuid)
      • productobject | null
        9 fields in product
        • productIdstring (uuid)
        • productNamestring | null
        • productTypeinteger (int32)

          Allowed values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10.

        • variantIdstring (uuid)
        • variantNamestring | null
        • hasVariantsboolean
        • productGroupIdstring (uuid)
        • productGroupNamestring | null
        • useBasePriceboolean
      • quantitynumber (double)
      • unitQuantitynumber (double)
      • unitobject | null
        2 fields in unit
        • namestring | null
        • typeinteger (int32)

          Allowed values: 0, 1, 2, 3.

      • productPriceInclTaxobject | null
        2 fields in productPriceInclTax
        • unitPriceobject | null
          2 fields in unitPrice
          • amountnumber (double)
          • currencystring | null
        • additionalPriceobject | null
          2 fields in additionalPrice
          • amountnumber (double)
          • currencystring | null
      • productPriceExclTaxobject | null
        2 fields in productPriceExclTax
        • unitPriceobject | null
          2 fields in unitPrice
          • amountnumber (double)
          • currencystring | null
        • additionalPriceobject | null
          2 fields in additionalPrice
          • amountnumber (double)
          • currencystring | null
      • productMaterialCostExclTaxobject | null
        2 fields in productMaterialCostExclTax
        • unitPriceobject | null
          2 fields in unitPrice
          • amountnumber (double)
          • currencystring | null
        • additionalPriceobject | null
          2 fields in additionalPrice
          • amountnumber (double)
          • currencystring | null
      • hasVariantsboolean
      • discountobject | null
        2 fields in discount
        • valuenumber (double) | null
        • typeinteger (int32) | null

          Allowed values: 0, 1.

      • taxesarray<object> | null
        2 fields in taxes
        • typeinteger (int32)

          Allowed values: 1, 2.

        • ratenumber (double)
      • modificationsarray<object> | null
        12 fields in modifications
        • modificationstring | null
        • ingredientIdstring (uuid) | null
        • namestring | null
        • replaceIdstring (uuid) | null
        • replacementNamestring | null
        • addOnGroupIdstring (uuid) | null
        • addOnGroupNamestring | null
        • quantitynumber (double)
        • freeAmountnumber (double)
        • costnumber (double)
        • totalCostnumber (double)
        • positioninteger (int32)
      • totalPriceInclTaxobject | null
        2 fields in totalPriceInclTax
        • amountnumber (double)
        • currencystring | null
      • totalPriceExclTaxobject | null
        2 fields in totalPriceExclTax
        • amountnumber (double)
        • currencystring | null
      • totalMaterialCostExclTaxobject | null
        2 fields in totalMaterialCostExclTax
        • amountnumber (double)
        • currencystring | null
      • discountAmountInclTaxobject | null
        2 fields in discountAmountInclTax
        • amountnumber (double)
        • currencystring | null
      • discountAmountExclTaxobject | null
        2 fields in discountAmountExclTax
        • amountnumber (double)
        • currencystring | null
      • stockobject | null
        5 fields in stock
        • idstring (uuid)
        • productIdstring (uuid)
        • variantIdstring (uuid)
        • countnumber (double)
        • reorderCountnumber (double)
      • upsellGroupIdstring (uuid) | null
    • feesarray<object> | null
      6 fields in fees
      • idstring (uuid)
      • feeIdstring (uuid)
      • feeNamestring | null
      • amountInclTaxobject | null
        2 fields in amountInclTax
        • amountnumber (double)
        • currencystring | null
      • amountExclTaxobject | null
        2 fields in amountExclTax
        • amountnumber (double)
        • currencystring | null
      • taxesarray<object> | null
        2 fields in taxes
        • typeinteger (int32)

          Allowed values: 1, 2.

        • ratenumber (double)
    • paymentsarray<object> | null
      8 fields in payments
      • idstring (uuid)
      • createdstring (date-time)
      • modifiedstring (date-time)
      • statusinteger (int32)

        Allowed values: 0, 1, 3, 4, 5, 6, 7, 8.

      • amountobject | null
        2 fields in amount
        • amountnumber (double)
        • currencystring | null
      • providerinteger (int32)

        Allowed values: 0, 1, 2, 3, -1.

      • methodobject | null
        3 fields in method
        • idstring | null
        • typeinteger (int32)

          Allowed values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23.

        • displayNamestring | null
      • transactionsarray<object> | null
        13 fields in transactions
        • idstring (uuid)
        • createdstring (date-time)
        • modifiedstring (date-time)
        • typeinteger (int32)

          Allowed values: 0, 1, 2, 3, 4, 5, 6.

        • statusinteger (int32)

          Allowed values: 0, 1, 2, 3, 4, 5, 6.

        • providerTransactionIdstring | null
        • providerDataJsonstring | null
        • errorDetailsstring | null
        • notificationJsonstring | null
        • paymentProviderCodestring | null
        • paymentProviderDatastring | null
        • notificationReceivedboolean
        • providerAdditionalDatastring | null
    • ticketsarray<object> | null
      4 fields in tickets
      • idstring (uuid)
      • statusinteger (int32)

        Allowed values: 0, 1, 2, 3, 4, 5.

      • preparationTimestring | null
      • ticketIdstring (uuid)
400Bad Requestapplication/json
  • messagestring | null
  • errorCodestring (uuid)
  • additionalDataany | null
401Unauthorizedapplication/json
  • messagestring | null
404Not Foundapplication/json
  • messagestring | null
  • errorCodestring (uuid)