def create(self, *args, **kwargs):
        """
        Create an order

        Create a new order for a deal
        User needs to have access to the deal to create an order
        Each deal can have at most one order and error is returned when attempting to create more

        :calls: ``post /orders``
        :param tuple *args: (optional) Single object representing Order resource.
        :param dict **kwargs: (optional) Order attributes.
        :return: Dictionary that support attriubte-style access and represents newely created Order resource.
        :rtype: dict
        """

        if not args and not kwargs:
            raise Exception('attributes for Order are missing')

        attributes = args[0] if args else kwargs
        attributes = dict((k, v) for k, v in attributes.iteritems() if k in self.OPTS_KEYS_TO_PERSIST)

        _, _, order = self.http_client.post("/orders", body=attributes)
        return order