Add more logic to Modifiers

Smarter item modifiers would help everyone. This feature is really basic at the moment, and I think this is where additional features could strengthen the type of items customers can offer.

 

Who am I and what am I looking for:

I am a fine art photographer. My work is available in a variety of sizes, on a variety of print material, and with a variety of framing and hanging styles. The finished price of each piece is dependent on the sizes and styles selected by the customer. I offer a few default options on my website, but I want to allow the customer to make as many adjustments as possible.

 

I believe this would be best be implemented if Item Modifiers had more advanced features:

  • Visibility Logic - Types of modifiers, or specific modifiers would be available if certain conditions are met. 
  • Pricing Logic - Allow specific modifiers to affect the final price based on conditional logic.
  • Nested Modifiers - Allow a modifier set to contain modifier sets.
  • Modifier Quantities - Allow us to generate reports of how many / how much of a certain modifier was involved in a sale.
  • Read external data for Modifier logic - Allow modifiers to be affected by other attributes about the item that are external to modifiers, like Custom Attributes, or the name of Item Categories.
  • Custom variables - Calculate variables for use in the visibility and pricing logic. This could be based on other modifiers, item attributes, categories, etc.

I understand it's programmatically complicated. If this has to be a paid feature, that's ok.

 

My specific needs:

This is the logic I need for my current business, and if the above features were implemented, this is how I would use them.

 

External data:

Each of my items have custom attributes of "Image Ratio", and "Orientation." I would like the modifier logic to read those values.

  •  Image Ratio
    • Standard (2:3), Pano (2:1), Super Pano (3:1), Square (1:1)
  • Orientation
    • Landscape, Vertical

 

Custom variable:

  • “Width” = Once the Modifier of “Size” is selected, generate the width based on the combination of the Custom Attribute of “Orientation” and the numbers in the size. If Orientation is Landscape, then width = the second number. If Orientation is Vertical, then width = the first number.

 

Modifiers:

  1. Print
  2. Size
  3. Presentation
  4. Framing Options

 

  • Print:
    • matte paper, glossy paper, canvas, metal, acrylic face mount
  • Size:
    • Logic: If Image Ratio is 2:3 -- 11x14", 16x20", 16x24", 20x30", 24x36", 32x48", 40x60"
    • Logic: If Image Ratio is 2:1 -- 11x14", 12x24”, 18x36”, 24x48”, 36x72”
    • Logic: If Image Ratio is 3:1 -- 11x14", 12x36”, 16x48”, 24x72”
    • Logic: If Image Ratio is 1:1 -- 12x12”, 16x16”, 24x24”, 30x30”, 36x36”, 40x40”
  • Presentation:
    • Print only - un-matted
      • Logic: not available if Type of Surface is metal or acrylic
    • Matted
      • Logic: If type of surface is matte or glossy paper
    • Gallery Wrap
      • Logic: Only if type of surface is "canvas"
    • Mounted
      • Logic: If the type of surface is canvas, metal or acrylic
  • Framing Options:
    • None, wood frame, metal frame, floater frame
    • Sub-Modifiers:
      • Type of Wood Frame: Black, dark wood, light wood, white
      • Type of Metal Frame: Thin, thick.
      • Hanging Method: D-Ring, Wire, French Cleat
      • ..Logic: Wire would only be available if the width is less than 30"
      • Glass: standard, non glare, and museum
      • ..Logic: Only available for Type of Surface = paper(s), Type of Frame is not "None", and Sizes up to 20x30.
      • ..Pricing logic: In the industry, frame prices are generally calculated by the linear foot. This can be generated if the frame style has a base rate, then gets multiplied by 2x of sum of the length and width in the "Size" Modifier.

 

The problem I am encountering:

Square does not offer the ability to implement such logic around Modifiers.

 

My current workaround:

Instead of Modifiers, each of my items uses a list of Options.

 

I used Excel to calculate a price for each combination of option that I offer, and then paste in that number by hand. I have different option sets based on the aspect ratio, and each option is then based on a preset combination of print type, size and presentation. Each option set contains up to 30 options each.

 

Examples of some of the options:

  • 11x14 un-matted print
  • 16x24 Framed and mounted canvas, hanging with d-rings
  • 32x48 Mounted acrylic, hanging with French cleats

 

The downsides of my workaround:

My customers have to scroll through a long list, instead of selecting modifiers. If they want to change anything about the item that is a deviation from what I have preset in the option, they have to call or text me because it's a custom order at that point.

 

Options don't come with pictures like Modifiers do. It's just a list. And the list doesn't show prices. They have to select one, then see the price on the page when it updates.

 

When updating the prices on the back-end, I cannot store a price of each option in an Option Set. To update the items with the correct price list, I have to either edit each item option one-by-one, or export the detailed Excel sheet and update all of them in bulk. Either way, a price update across the board when using Options is very laborious.

 

Having the price get calculated by the Modifiers would be a lot of up-front work, but every day after that would have a LOT less guesswork because then the price would be an automatic process. If I just needed to update the price because, say, wood frames went up, I could just update the "Frame" sub-modifier. Then ALL items would automatically get updated.



How this can help everyone else:

This would especially help restaurants! The similar requests linked below show the struggles that other users are having. For example, some users who run pizza places are looking for ways to offer customized toppings, left versus right side toppings, and different prices for the toppings based on the size of the pizza -- these are all very expected things for a pizza menu. But we're all in the same boat of having to create workarounds for it.

 

"Essential Improvement for POS - Dynamic Modifier Pricing Based on Item Size"

https://community.squareup.com/t5/Feature-Requests/Feature-Request-Essential-Improvement-for-POS-Dyn...

 

"Nested Modifiers"

https://community.squareup.com/t5/Feature-Requests/Nested-Modifiers/idi-p/789299

https://community.squareup.com/t5/Feature-Requests/Nested-Modifiers/idi-p/837756

 

"Sub Modifiers: Create a modifier for a modifier?"

https://community.squareup.com/t5/Feature-Requests/Sub-Modifiers-Create-a-modifier-for-a-modifier/id...

 

"Conditional Modifiers"

https://community.squareup.com/t5/Feature-Requests/Conditional-Modifiers/idi-p/655563

 

Sure, other POS platforms like Toast offer one of these features; nested modifiers. I don't know of any platforms that offer variable logic in this way. If Square implements the full set of features I'm proposing, I think they would be in a very good place regarding their competition.

 

Let me know I'm overthinking this. Is there a better way to implement this that I'm overlooking? 

0 Kudos