syntax = "proto3";

package payments.transfer.v1;

option go_package = "github.com/tech/sendico/pkg/proto/payments/transfer/v1;transferv1";

import "api/proto/common/money/v1/money.proto";
import "api/proto/payments/endpoint/v1/endpoint.proto";

// TransferIntent describes a value movement between two payment endpoints.
message TransferIntent {
  // source is the originating payment endpoint.
  payments.endpoint.v1.PaymentEndpoint source = 1;
  // destination is the receiving payment endpoint.
  payments.endpoint.v1.PaymentEndpoint destination = 2;
  // amount is the monetary value to transfer.
  common.money.v1.Money amount = 3;
  // comment is an optional human-readable note for the transfer.
  string comment = 4;
}
