x
This commit is contained in:
86
printerapis/printer/v1/pdf_invoice.proto
Normal file
86
printerapis/printer/v1/pdf_invoice.proto
Normal file
@@ -0,0 +1,86 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package printer.v1.invoice;
|
||||
|
||||
option go_package = "git.deineagentur.com/payment-backoffice/protobuf/gen/proto/printer";
|
||||
|
||||
import "google/type/money.proto";
|
||||
import "google/type/datetime.proto";
|
||||
import "google/api/annotations.proto";
|
||||
|
||||
// PaymentProvider represents the supported set
|
||||
// of payment providers.
|
||||
enum InvoiceType {
|
||||
INVOICE_TYPE_UNSPECIFIED = 0;
|
||||
INVOICE_TYPE_PAID = 1;
|
||||
INVOICE_TYPE_OPEN = 2;
|
||||
}
|
||||
|
||||
enum OrderType {
|
||||
ORDER_TYPE_UNSPECIFIED = 0;
|
||||
ORDER_TYPE_PHONE = 1;
|
||||
ORDER_TYPE_WWW = 2;
|
||||
ORDER_TYPE_EMAIL = 3;
|
||||
}
|
||||
|
||||
message InvoiceInfo {
|
||||
string invoice_id = 1;
|
||||
google.type.DateTime invoice_date = 2;
|
||||
google.type.DateTime invoice_due_date = 3;
|
||||
InvoiceType invoice_type = 4;
|
||||
}
|
||||
|
||||
message OrderInfo {
|
||||
string order_id = 1;
|
||||
google.type.DateTime order_date = 2;
|
||||
google.type.DateTime order_due_date = 3;
|
||||
OrderType order_type = 4;
|
||||
repeated OrderItem order_items = 5;
|
||||
repeated OrderVatItem order_vat_items = 6;
|
||||
optional double deposit = 7;
|
||||
}
|
||||
|
||||
message OfferInfo {
|
||||
string offer_id = 1;
|
||||
google.type.DateTime offer_date = 2;
|
||||
google.type.DateTime offer_due_date = 3;
|
||||
}
|
||||
|
||||
message OrderItem {
|
||||
string description = 1;
|
||||
double vat = 2;
|
||||
uint64 count = 3;
|
||||
double price_single = 4;
|
||||
double price_sum = 5;
|
||||
bool price_net = 6;
|
||||
}
|
||||
|
||||
message OrderVatItem {
|
||||
string description = 1;
|
||||
double vat = 2;
|
||||
double vat_money_sum = 3;
|
||||
uint64 items_count = 4;
|
||||
}
|
||||
|
||||
// Invoice
|
||||
message Invoice {
|
||||
OrderInfo order = 1;
|
||||
OfferInfo offer = 2;
|
||||
InvoiceInfo info = 3;
|
||||
}
|
||||
|
||||
// PDF Response
|
||||
message DocumentResponse {
|
||||
bytes document = 1;
|
||||
string signature = 2;
|
||||
string sha512 = 3;
|
||||
}
|
||||
|
||||
service PrinterService {
|
||||
rpc InvoiceGen(Invoice) returns (DocumentResponse) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/printer/invoice"
|
||||
body: "*"
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user