Customize the checkout to add information

I own a bridal accessories company and when my customers place an order I need to get information from them that is not available when they check out. Here are the things I need to get that I can’t figure out how to customize the checkout process to get the info.

Customer PO Number

Wedding Date

Preferred Ship Date

Customer Notes

If this is possible that would be great. This info would then show up on the sales order along with the items they bought.

Or maybe this needs to happen on the page where they put the item in the cart. But I don’t want multiple notes repeated

Thanks!

Access to checkout.liquid is limited to Shopiyf Plus enterprise accounts.

All other plans should collect this information in advance either on the product description page(PDP) using line item properties, or in the cart using cart attributes.

If the info is for the entire order use cart attributes.

If there is product specific detail use line item properties.

Make the fields required if they are critical, note however themes may use javascript that ignores required fields.

https://community.shopify.com/c/shopify-design/product-pages-get-customization-information-for-products/td-p/616503

https://community.shopify.com/c/shopify-design/cart-use-cart-attributes-to-collect-more-information/td-p/613718

The above guides were made for vintage themes. Newer OS2.0 themes such as dawn have different specifics though the concepts are the same make sure the inputs are inside the appropriate form element or that it references it with a form-attribute on that input.

Notifications should also be updated for any logic depending on customer entered info.

If a store has access to shopify flow a process should also be put in place to check if any of the fields are blank or invalid(such as old dates, impossible shipping dates) , or respond to orders tag by staff for followup clarification.

If you need this customization setup for you then reach out to me , contact info in signature below. Please provide context: store url, theme name, post url and detail.