Where is documentation for $entity->data property? I.e. $commerce_order->data I've searched google and the Drupal API, but I can't seem to find documentation for the data array that serializes/unserializes automatically that is attached to entities and stored in the data column on some entities, particularly commerce_order. Searching for the world "data" is like searching for the word "the." Where/how is the data array serialized and unserialized?
The data attribute is part of the Commerce Entity definitions, and I think this might be part of the larger de facto Entity API setup for contrib entities (don't quote me on that ;).)
If you want to find the documentation on properties and how they are handled you need to review the EntityController class, which each Commerce module has in its includes folder.
commerce_order.controller.inc#n135
/**
 * Unserializes the data property of loaded orders.
 */
public function attachLoad(&amp;$queried_orders, $revision_id = FALSE) {
  foreach ($queried_orders as $order_id =&gt; &amp;$order) {
    $order-&gt;data = unserialize($order-&gt;data);
}

The database layer automatically serializes, if I recall correctly. However controllers need to unserialize.
Hopefully this this question and other entity related items (also make sure to review hook_entity_info() implementation.)