openapi: 3.2.0 info: title: OpenAPI definition Merchant Controller API version: v0 servers: - url: https://adminapi.incentivio.com/incentivio-admin-api description: Generated server url tags: - name: merchant-controller paths: /incentivio-ordering-service/merchants/{merchantid}: get: tags: - merchant-controller operationId: getLocationById parameters: - name: merchantid in: path required: true schema: type: string responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/MerchantResponseDTO' put: tags: - merchant-controller operationId: updateMerchant parameters: - name: merchantid in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateMerchantRequestDTO' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/UpdateMerchantResponseDTO' delete: tags: - merchant-controller operationId: deleteMerchant parameters: - name: merchantid in: path required: true schema: type: string responses: '200': description: OK /incentivio-ordering-service/merchants: post: tags: - merchant-controller operationId: addMerchant requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateMerchantRequestDTO' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/CreateMerchantResponseDTO' components: schemas: Address: type: object properties: street1: type: string street2: type: string city: type: string state: type: string postalCode: type: string country: type: string lat: type: number format: double lon: type: number format: double aptSuite: type: string UpdateMerchantRequestDTO: type: object properties: clientId: type: string taxes: type: array items: $ref: '#/components/schemas/TaxDTO' charges: type: array items: $ref: '#/components/schemas/ChargeDTO' orderProcessingConfig: $ref: '#/components/schemas/OrderProcessingConfigDTO' paymentGatewayConfig: $ref: '#/components/schemas/PaymentGatewayConfig' pickupOrderProcessingTime: type: integer format: int64 deliveryOrderProcessingTime: type: integer format: int64 timeZone: type: string extendedAttributes: type: object additionalProperties: type: string UpdateMerchantResponseDTO: type: object properties: merchantId: type: string clientId: type: string taxes: type: array items: $ref: '#/components/schemas/TaxDTO' charges: type: array items: $ref: '#/components/schemas/ChargeDTO' orderProcessingConfig: $ref: '#/components/schemas/OrderProcessingConfigDTO' pickupOrderProcessingTime: type: integer format: int64 deliveryOrderProcessingTime: type: integer format: int64 timeZone: type: string extendedAttributes: type: object additionalProperties: type: string CreateMerchantResponseDTO: type: object properties: merchantId: type: string ExternalDeliverySettings: type: object properties: deliveryStrategy: type: string externalDeliveryFeeStrategy: $ref: '#/components/schemas/ExternalDeliveryFeeStrategy' externalDeliveryChargeId: type: string pickupBusinessName: type: string pickupAddress: $ref: '#/components/schemas/Address' pickupInstructions: type: string contactPhone: type: string OrderProcessingStrategy: type: string enum: - ONE_STEP - TWO_STEP - INCENTIVIO_ORDER - INC_PAYMENTS TotalCalculationStrategy: type: string enum: - TOAST - SILVERWARE - NCC - LIGHTSPEED - EXTERNAL ChargeDTO: type: object properties: chargeId: type: string extChargeId: type: string chargeDescription: type: string chargeType: $ref: '#/components/schemas/ChargeType' amount: type: integer format: int32 percentage: type: number format: float taxable: type: boolean gratuity: type: boolean delivery: type: boolean orderApplied: type: integer format: int32 ChargeType: type: string enum: - OPEN - AMOUNT - PERCENTAGE ExternalDeliveryFeeStrategy: type: string enum: - ADD - IGNORE TaxDTO: type: object properties: taxId: type: string extTaxId: type: string taxDescription: type: string taxType: $ref: '#/components/schemas/ChargeType' amount: type: integer format: int32 percentage: type: number format: float PaymentGatewayConfig: type: object properties: extendedAttributes: type: object additionalProperties: type: string IDGenerationStrategy: type: string enum: - UUID - AUTO_INCREMENT CreateMerchantRequestDTO: type: object properties: merchantId: type: string clientId: type: string taxes: type: array items: $ref: '#/components/schemas/TaxDTO' charges: type: array items: $ref: '#/components/schemas/ChargeDTO' orderProcessingConfig: $ref: '#/components/schemas/OrderProcessingConfigDTO' paymentGatewayConfig: $ref: '#/components/schemas/PaymentGatewayConfig' pickupOrderProcessingTime: type: integer format: int64 deliveryOrderProcessingTime: type: integer format: int64 timeZone: type: string extendedAttributes: type: object additionalProperties: type: string MerchantResponseDTO: type: object properties: merchantId: type: string clientId: type: string taxes: type: array items: $ref: '#/components/schemas/TaxDTO' charges: type: array items: $ref: '#/components/schemas/ChargeDTO' orderProcessingConfig: $ref: '#/components/schemas/OrderProcessingConfigDTO' paymentGatewayConfig: $ref: '#/components/schemas/PaymentGatewayConfig' pickupOrderProcessingTime: type: integer format: int64 deliveryOrderProcessingTime: type: integer format: int64 timeZone: type: string extendedAttributes: type: object additionalProperties: type: string RoundingMode: type: string enum: - HALF_EVEN - HALF_UP - TRUNCATE OrderProcessingConfigDTO: type: object properties: orderProcessingStrategy: $ref: '#/components/schemas/OrderProcessingStrategy' paymentIDGenerationStrategy: $ref: '#/components/schemas/IDGenerationStrategy' paymentGatewayName: type: string orderGatewayName: type: string externalDeliverySettings: $ref: '#/components/schemas/ExternalDeliverySettings' roundingMode: $ref: '#/components/schemas/RoundingMode' calculationStrategy: $ref: '#/components/schemas/TotalCalculationStrategy' consolidateMultipleDiscounts: type: boolean realTimeLoyaltyProcessing: type: boolean