syntax = "proto3";
package POGOProtos.Networking.Platform.Responses;

import public "POGOProtos.Data.Player.proto";

message BuyItemAndroidResponse {
	Status result = 1;  // result
	string purchase_token = 2;

	// THESE ARE SOMEWHAT SPECULATED, failed may be 2
	enum Status {
		UNKNOWN = 0;
		SUCCESS = 1;
	}
}
message BuyItemPokeCoinsResponse {
	Status result = 1;  // result

	// THESE ARE SOMEWHAT SPECULATED, should be a NOT ENOUGH ROOM status too for bag being full somewhere.
	enum Status {
		UNKNOWN = 0;
		SUCCESS = 1;
		NOT_ENOUGH_POKECOINS = 3;
	}
}
message GetStoreItemsResponse {
	Status status = 1;                                                //unconfirmed
	repeated StoreItem items = 2;                                     // Items to show in the shop
	repeated .POGOProtos.Data.Player.Currency player_currencies = 3;  // currencies that player has at the moment
	string hash = 4;                                                  // hash?

	message StoreItem {
		string item_id = 1;                                    // Internal ID (probably for Google Play/App Store) example: "pgorelease.incenseordinary.1"
		bool is_iap = 2;                                       // If true, this item is bought with real currency (USD, etc.) through the Play/App Store instead of Pokecoins
		.POGOProtos.Data.Player.Currency currency_to_buy = 3;  // This defines how much the item costs (with the exception of items that cost real money like Pokecoins, that's defined in the respective store)
		.POGOProtos.Data.Player.Currency yields_currency = 4;  // When bought, this IAP will yield this much currency
		StoreItemInfo yields_item = 5;                         // The item and count of such item that this IAP will yield
		repeated StoreTags tags = 6;                           // Stuff like SORT:12, CATEGORY:ITEMS
		int32 unknown7 = 7;                                    // Possibly something to toggle visibility in the store/purchasibility?
	}

	message StoreTags {
		string tag = 1;
		string value = 2;
	}

	message StoreItemInfo {
		string item_id = 1;
		int32 count = 2;
	}

	enum Status {
		UNDEFINED = 0;
		OKAY = 1;
	}
}
message SendEncryptedSignatureResponse {
	bool received = 1;  // speculated, could be an enum
}
message UnknownPtr8Response {
	string message = 2;
}
