Order Types
I am currently busy with integrating our school management system with Drupal Commerce. I have successfully changed the bill run process to create orders in the system and parents have access to these when they log in.
What I am now trying to accomplish is to categorise the orders for easier management. I want orders that come from our on-line store to be of 'Order' type - the default - but I want to configure and use other order types:
Registration - For orders created when a parent registers their child
Deposit - For orders created when a parent accepts a place
Session - For recurring orders billing parents for hours provided
etc.
I have trawled the net and scanned through the documentation but cannot get hold of anything useful to help in this process. There is the Order Types module but I would like to control this code myself due to various reasons.
Any documentation on this or can anybody help out?
Thanks
Comments
Also, another thought (that's less drastic than introducing more than the default order type) ... have you considered adding a taxonomy field to your order entities? It would integrate with Views and have a seamless checkout process without the hassle of choosing an order type.
An easy way to expose Order fields on checkout is the Field Group module:
https://www.drupal.org/project/commerce_fieldgroup_panes
And I had pause even recommending the above module when I saw the author. Hunziker was prolific, but left a lot of modules in an unfinished and broken state. Turns out I was right. Check out this updated version that is a rewrite:
https://www.drupal.org/project/commerce_checkout_field_group
Thanks for the info Josh. Will certainly look into the option of using a taxonomy field for the classification of orders. I presume I could easily make use of this field in Views as I require a view for a user to list their orders filtered by order type ala 'Show me all of my registration orders'.
Thanks Josh. Added a taxonomy field to the order and this seems to do the job nicely. Had to update some views to hide the field from the user and there might be some other impacts I haven't come across yet but, for now, this seems like the less invasive option.