         expects: statusNoContent
 
 for k, v of blueprints.coupon
-  blueprints.product[k].uri = storeUri (x) -> "/coupon/#{x.code ? x}"
+  blueprints.coupon[k].uri = storeUri (x) -> "/coupon/#{x.code ? x}"
 
 for k, v of blueprints.product
   blueprints.product[k].uri = storeUri (x) -> "/product/#{x.id ? x.slug ? x}"


blueprints =
  account:
    # no data required
    get:
      uri:     '/account'
      method:  'GET'
      expects: statusOk

    # data should be a user object
    update:
      uri:     '/account'
      method:  'PATCH'
      expects: statusOk

    # data =
    #     email:          ...
    exists:
      uri:     (x) -> "/account/exists/#{x.email ? x.username ? x.id ? x}"
      method:  'GET'
      expects: statusOk
      process: (res) -> res.data.exists

    # data =
    #     firstName:          ...
    #     lastName:           ...
    #     email:              ...
    #     password:           ...
    #     passwordConfirm:    ...
    create:
      uri:     '/account/create'
      method:  'POST'
      expects: statusOk  # TODO: Make this statusCreated

    # data =
    #     tokenId:            ...
    enable:
      uri:     (x) -> '/account/create/confirm/' + x.tokenId
      method:  'POST'
      expects: statusOk

    # data =
    #     email:      ...
    #     password:   ...
    login:
      uri:     '/account/login'
      method:  'POST'


  # PAYMENT
  payment:
    authorize:
      uri:     storeUri '/authorize'
      method:  'POST'
      expects: statusOk

    capture:
      uri:     storeUri (x) -> '/capture/' + x.orderId
      method:  'POST'
